Ok, o nivelamento espectral (também chamado entropia de Wiener) é definido como a razão entre a média geométrica de um espectro e sua média aritmética.
Wikipedia e outras referências dizem o espectro de poder . Não é que o quadrado do Fourier se transforma? A FFT produz um "espectro de amplitude" e então você calcula isso para obter um "espectro de potência"?
Basicamente, o que eu quero saber é, se spectrum = abs(fft(signal))
, qual delas está correta?
spectral_flatness = gmean(spectrum)/mean(spectrum)
spectral_flatness = gmean(spectrum^2)/mean(spectrum^2)
A definição da Wikipedia parece usar a magnitude diretamente:
ondex(n)representa a magnitude donúmerodabarran.
Os documentos SciPy definem o espectro de potência como:
Quando a entrada a é um sinal no domínio do tempo e
A = fft(a)
,np.abs(A)
é seu espectro de amplitude enp.abs(A)**2
é seu espectro de potência.
Esta fonte concorda com a definição de "espectro de potência" e a chama :
Podemos definir que é a transformada de Fourier do sinal no período T, e definir o espectro de potência da seguinte forma: S f ( ω ) = lim T → ∞ 1
Esta fonte define a entropia de Wiener em termos de .
Mas não vejo o quadrado em equações como esta , que parecem basear-se no espectro de magnitude :
Da mesma forma, outra fonte define a planicidade espectral em termos do espectro de potência, mas depois usa diretamente a magnitude das caixas da FFT, o que parece conflitar com a definição acima de "espectro de potência".
"Espectro de poder" significa coisas diferentes para pessoas diferentes?