¿Cómo se calcula la planitud espectral a partir de una FFT?


17

De acuerdo, la planitud espectral (también llamada entropía de Wiener) se define como la relación entre la media geométrica de un espectro y su media aritmética.

Wikipedia y otras referencias dicen que el espectro de potencia . ¿No es ese el cuadrado de la transformada de Fourier? ¿El FFT produce un "espectro de amplitud" y luego lo cuadras para obtener un "espectro de potencia"?

Básicamente, lo que quiero saber es, si spectrum = abs(fft(signal)), ¿cuál de estos es correcto?

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

La definición de Wikipedia parece usar la magnitud directamente:

dondex(n)representa la magnitud delnúmerodecontenedorn.

Fluntnortemiss=norte=0 0norte-1X(norte)nortenorte=0 0norte-1X(norte)norte=Exp(1nortenorte=0 0norte-1EnX(norte))1nortenorte=0 0norte-1X(norte)
X(norte)norte

Los documentos de SciPy definen el espectro de potencia como:

Cuando la entrada a es una señal de dominio de tiempo y A = fft(a), np.abs(A)es su espectro de amplitud y np.abs(A)**2es su espectro de potencia.

Esta fuente está de acuerdo con la definición de "espectro de potencia" y lo llama :SF(ω)

Podemos definir que es la transformada de Fourier de la señal en el período T, y definir el espectro de potencia de la siguiente manera: S f ( ω ) = lim T 1FT(ω)SF(ω)=limT1TFT(ω)2.

Esta fuente define la entropía de Wiener en términos de .S(F)

Pero no veo la cuadratura en ecuaciones como esta , que parece estar basada en el espectro de magnitud :

SFluntnortemiss=Exp(1nortekIniciar sesión(unk))1nortekunk

Del mismo modo, otra fuente define la planitud espectral en términos del espectro de potencia, pero luego utiliza la magnitud de los contenedores FFT directamente, lo que parece entrar en conflicto con la definición anterior de "espectro de potencia".

¿El "espectro de potencia" significa cosas diferentes para diferentes personas?


según Wikipedia: la planitud espectral ak representa la magnitud del número de contenedor k.
Hamed Gholami

Hola @endolith, ¿recibiste una respuesta satisfactoria que estás dispuesto a aceptar?
jojek

@jojek No, todavía no
endolito el

1
@endolith, creo que Peter acaba de golpear el clavo en la cabeza;)
jojek

@jojek Traté de perforar el clavo a través del tablero. 😂
Peter K.

Respuestas:


4

La referencia más autorizada que se me ocurre es de Jayant & Noll, Digital Coding Of Waveforms , (c) Bell Telephone Laboratories, Incorporated 1984, publicado por Prentice-Hall, Inc.

En la página 57, definen la planitud espectral:

Planitud espectral

y, previamente, en la página 55 definen :SXX

Definición de espectro de potencia

Entonces, la versión cuadrada FFT es la que deseas.

Parece que Makhoul & Wolf, Linear Prediction y Spectral Analysis of Speech , Bolt, Beranek y Newman, Inc. Technical Report, 1972 también están disponibles.

Y tiene la misma definición:

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí


7

Si la definición de la planitud dicta que usa un espectro de potencia, entonces sí, debe cuadrar las magnitudes como lo indica la referencia de la documentación de SciPy. En la ecuación a la que hizo referencia donde no vio una cuadratura, no creo que pueda leer mucho en ella; dice que

SFluntnortemiss=Exp(1nortekIniciar sesión(unk))1nortekunk

pero no veo una definición para en cualquier lugar. Si desea que el espectro sea proporcional a la potencia en cada contenedor, debe cuadrar.unk


Supongo que esto es una pregunta acerca de cuál es la definición de hecho es , entonces
endolito

unk

@HamedGholami Por favor, no ingrese su comentario como respuesta nuevamente. Su comentario no proporciona una respuesta a la pregunta, pero trata de ser útil aquí.
Peter K.

@PeterK. Creo que los nuevos usuarios no pueden publicar comentarios, pero pueden publicar respuestas.
endolito el

1
@endolith Entendido. Pero incluso después de que jojek movió su primera respuesta a ser un comentario sobre la pregunta, Hamed volvió a publicar el mismo comentario como respuesta. Ese es el comportamiento que quiero disuadir: volver a publicar después de que se movió su "respuesta".
Peter K.

4

Las definiciones varían, ¿no? Lo primero que debe resolverse es si estamos de acuerdo en que la densidad espectral de potencia es equivalente al espectro de potencia o si definimos lo que queremos decir con ambos. Proakis y Salehi los usan como sinónimos . Continuando, creo que las discrepancias se deben a diferentes definiciones, para señales que tienen una, del espectro de potencia. La definición habitual de eso es la magnitud al cuadrado de los datos transformados de Fourier. El teorema de Wiener-Khinchin proporciona otra ruta al espectro de potencia para las señales WSS a través de la transformada de Fourier de la autocorrelación. Dependiendo de si define o no el espectro de potencia con un cuadrado, obtendrá un cuadrado en la planitud espectral.

Otros usan la magnitud de la transformada de Fourier . Algunos lo llaman "espectro de potencia" y reservan el nombre " densidad de espectro de potencia " para la derivada del "espectro de potencia", mientras que otros reservan el término "espectro de potencia" para la integral de la transformada de Fourier de la autocorrelación (lo que otros llaman El espectro de potencia). Como puede ver, abundan las definiciones; siéntase libre de inventar el suyo :) O adhiérase al estándar Wiener-Khinchin.

Pregunta relacionada : ¿ Diferencia entre densidad espectral de potencia, potencia espectral y relaciones de potencia?


Eso también dice "espectro de potencia".
endolito el

1
ಠ_ಠ
endolito

0

Es una buena pregunta, una que también me preguntaba. La planitud espectral (también conocida como Weiner Entropy) es simplemente una medida de la "cumbre" de un vector.

Esta fuente parece indicar que el vector en consideración es la densidad espectral de potencia, en cuyo caso tiene que cuadrar. Si cuadras el espectro de magnitud, estás acentuando los picos sobre el caso donde obviamente no cuadras, y creo que esto también tiene un sentido más intuitivo.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.