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?
fonte
Respostas:
A referência mais autoritária que posso encontrar é de Jayant & Noll, Digital Coding Of Waveforms , (c) Bell Telephone Laboratories, Incorporated 1984, publicado por Prentice-Hall, Inc.
Na página 57, eles definem o nivelamento espectral:
e, anteriormente, na página 55 eles definem :Sx x
Portanto, a versão FFT ao quadrado é a que você deseja.
Parece que Makhoul & Wolf, Linear Prediction e Spectral Analysis of Speech , Bolt, Beranek e Newman, Inc. Technical Report, 1972 também estão disponíveis.
E tem a mesma definição:
fonte
Se a definição de nivelamento exigir que você use um espectro de potência, sim, você deve quadrar as magnitudes conforme a referência da documentação do SciPy. Na equação que você referenciou onde não viu uma quadratura, acho que você não pode ler muito sobre ela; isso diz que
mas não vejo uma definição paraumak qualquer lugar. Se você deseja que o espectro seja proporcional à potência em cada compartimento, você precisa quadrar.
fonte
As definições variam, não são? A primeira coisa a ser resolvida é se concordamos que a densidade espectral de potência é equivalente ao espectro de potência ou definimos o que queremos dizer com ambos. Proakis e Salehi os usam como sinônimos . Seguindo em frente, acho que as discrepâncias se devem a definições diferentes, para sinais que possuem um, do espectro de potência. A definição usual disso é a magnitude ao quadrado dos dados transformados de Fourier. O teorema de Wiener-Khinchin fornece outra rota para o espectro de potência dos sinais WSS através da transformação de Fourier da autocorrelação. Dependendo de você definir ou não o espectro de potência com um quadrado, você obtém um quadrado no nivelamento espectral.
Outros usam a magnitude da transformada de Fourier . Alguns chamam isso de "espectro de potência" e reservam o nome " densidade do espectro de potência " para a derivada do "espectro de potência", enquanto outros reservam o termo "espectro de potência" para a integral da transformação de Fourier da autocorrelação (o que outros chamam o espectro de potência). Como você pode ver, as definições são abundantes; sinta-se à vontade para inventar sua propriedade :) Ou siga o padrão Wiener-Khinchin.
Pergunta relacionada : Diferença entre densidade espectral de potência, potência espectral e relações de potência?
fonte
É uma boa pergunta, uma que eu estava me perguntando também. A planicidade espectral (também conhecida como Entropia de Weiner) é simplesmente uma medida da 'pontilidade' de um vetor.
Essa fonte parece indicar que o vetor em consideração é a densidade espectral de potência; nesse caso, você precisa quadrar. Se você quadratura o espectro de magnitude, está acentuando picos sobre o caso em que não quadraciona obviamente, e acho que isso também faz mais sentido intuitivo.
fonte