Come si calcola la planarità spettrale da una FFT?


17

Ok, la piattezza spettrale (anche chiamata entropia di Wiener) è definita come il rapporto tra la media geometrica di uno spettro e la sua media aritmetica.

Wikipedia e altri riferimenti dicono lo spettro di potenza . Non si trasforma quella piazza della trasformata di Fourier? La FFT produce uno "spettro di ampiezza" e poi lo quadrato per ottenere uno "spettro di potenza"?

Fondamentalmente quello che voglio sapere è, se spectrum = abs(fft(signal)), quale di questi è corretto?

  • spectral_flatness = gmean(spectrum)/mean(spectrum)
  • spectral_flatness = gmean(spectrum^2)/mean(spectrum^2)

La definizione di Wikipedia sembra usare direttamente la grandezza:

x(n)n

Flatness=n=0N1x(n)Nn=0N1x(n)N=exp(1Nn=0N1lnx(n))1Nn=0N1x(n)
dove rappresenta l'entità del numero di bin .x(n)n

I documenti di SciPy definiscono lo spettro di potenza come:

Quando l'ingresso a è un segnale nel dominio del tempo e A = fft(a), np.abs(A)è il suo spettro di ampiezza ed np.abs(A)**2è il suo spettro di potenza.

Questa fonte concorda sulla definizione di "spettro di potenza" e lo chiama :Sf(ω)

Possiamo definire che è la trasformata di Fourier del segnale nel periodo T e definire lo spettro di potenza come il seguente: S f ( ω ) = lim T 1FT(ω)Sf(ω)=limT1TFT(ω)2.

Questa fonte definisce l'entropia di Wiener in termini di S(f) .

Ma non vedo la quadratura in equazioni come questa , che sembra essere basata sullo spettro di magnitudo :

Sflatness=exp(1Nklog(ak))1Nkak

Allo stesso modo, un'altra fonte definisce la planarità spettrale in termini di spettro di potenza, ma quindi utilizza direttamente l'entità dei contenitori FFT, che sembrerebbe essere in conflitto con la definizione di "spettro di potenza" di cui sopra.

"Spettro di potere" significa cose diverse per persone diverse?


secondo Wikipedia: la planarità spettrale ak rappresenta l'entità del numero di bin k.
Hamed Gholami,

Ciao @endolith, hai ricevuto una risposta soddisfacente che sei disposto ad accettare?
jojek

@jojek No, non ancora
endolito il

1
@endolith, credo che Peter abbia appena colpito l'unghia in testa;)
jojek

@jojek Ho provato a dare un pugno all'unghia attraverso la tavola. 😂
Peter K.

Risposte:


4

Il riferimento più autorevole che posso trovare è di Jayant & Noll, Digital Coding Of Waveforms , (c) Bell Telephone Laboratories, Incorporated 1984, pubblicato da Prentice-Hall, Inc.

A pagina 57, definiscono la planarità spettrale:

Planarità spettrale

e, precedentemente, a pagina 55 definiscono :Sxx

Definizione dello spettro di potenza

Quindi la versione quadrata FFT è quella che desideri.

Sembra che siano disponibili anche Makhoul & Wolf, Linear Prediction e Spectral Analysis of Speech , Bolt, Beranek e Newman, Inc. Technical Report, 1972.

E ha la stessa definizione:

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine


7

Se la definizione di planarità impone l'utilizzo di uno spettro di potenza, allora sì, dovresti quadrare le dimensioni come indica il riferimento dalla documentazione di SciPy. Nell'equazione a cui hai fatto riferimento in cui non hai visto una quadratura, non penso che tu possa leggere molto in esso; dice questo

Sflatness=exp(1Nklog(ak))1Nkak

ma non vedo una definizione per nessuna parte. Se si desidera che lo spettro sia proporzionale alla potenza di ciascun contenitore, è necessario quadrare.ak


Immagino che questa sia una domanda su quale sia effettivamente la definizione , quindi
endolith

secondo una misura di planarità spettrale segmentaria per la discriminazione armonica-percussiva rappresenta lo spettro di ampiezza del numero di bin k. ak
Hamed Gholami,

@HamedGholami Non inserire di nuovo il tuo commento come risposta. Il tuo commento non fornisce una risposta alla domanda, ma cerca di essere utile qui.
Peter K.

@PeterK. Penso che i nuovi utenti non possano pubblicare commenti, ma possano pubblicare risposte.
endolith

1
@endolith Capito. Ma anche dopo che Jojek ha spostato la sua prima risposta a un commento sulla domanda, Hamed ha ripubblicato lo stesso commento di una risposta. Questo è il comportamento che desidero dissuadere: ripubblicare di nuovo dopo che la loro "risposta" è stata spostata.
Peter K.

4

Le definizioni variano, no? La prima cosa che deve essere risolta è se siamo d'accordo sul fatto che la densità spettrale di potenza sia equivalente allo spettro di potenza , oppure definiamo cosa intendiamo con entrambi. Proakis e Salehi li usano come sinonimi . Andando avanti, penso che le discrepanze siano dovute a definizioni diverse, per segnali che ne hanno una, dello spettro di potenza. La definizione abituale di ciò è l'entità quadrata dei dati trasformati di Fourier. Il teorema di Wiener-Khinchin fornisce un'altra via allo spettro di potenza per i segnali WSS attraverso la trasformata di Fourier dell'autocorrelazione. A seconda che si definisca o meno lo spettro di potenza con un quadrato, si ottiene un quadrato nella planarità spettrale.

Altri usano la grandezza della trasformata di Fourier . Alcuni lo chiamano "spettro di potenza" e riservano il nome " densità dello spettro di potenza " per la derivata dello "spettro di potenza", mentre altri riservano il termine "spettro di potenza" per l'integrale della trasformata di Fourier dell'autocorrelazione (ciò che altri chiamano lo spettro di potenza). Come puoi vedere, le definizioni abbondano; sentiti libero di inventare il tuo :) O attenersi allo standard Wiener-Khinchin.

Domanda correlata : differenza tra densità spettrale di potenza, potenza spettrale e rapporti di potenza?


Anche questo dice "spettro di potenza".
endolith

1
ಠ_ಠ
endolito

0

È una buona domanda, una che mi stavo chiedendo anch'io. La planarità spettrale (nota anche come Entropia di Weiner) è semplicemente una misura della "vetta" di un vettore.

Questa fonte sembra indicare che il vettore in esame è la densità spettrale di potenza, nel qual caso devi quadrare. Se quadrate lo spettro di grandezza, state accentuando i picchi sul caso in cui non quadrate ovviamente, e penso che anche questo abbia un senso più intuitivo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.