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.
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 ynp.abs(A)**2
es su espectro de potencia.
Esta fuente está de acuerdo con la definición de "espectro de potencia" y lo llama :
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 → ∞ 1
Esta fuente define la entropía de Wiener en términos de .
Pero no veo la cuadratura en ecuaciones como esta , que parece estar basada en el espectro de magnitud :
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?