Como calcular a entropia espectral de um sinal no MATLAB? Conheço as etapas básicas, mas seria bom se alguém pudesse ajudar,
- Calcule o espectro de potência do sinal usando o comando FFT no MATLAB.
- Calcule a densidade espectral de potência usando o espectro de potência ou usando qualquer outra técnica.
- Normalize a densidade espectral de potência entre , para que possa ser tratada como uma função de densidade de probabilidade .p i
- Calcule a Entropia
power-spectral-density
RRelan
fonte
fonte
Respostas:
Tecnicamente, este não é um fórum do tipo MATLAB, mas posso explicar as etapas com mais detalhes: Suponha que seu sinal de entrada seja e seu DFT seja . Para sinais reais, você pode usar o DFT unilateral, uma vez que a outra metade seria redundante quando você olha para a densidade espectral de potência. (PSD).X ( f )x [ n ] X( f)
Depois de calcular o DFT do seu sinal, o PSD é simplesmente . Ou seja, você precisa calcular a magnitude absoluta do resultado da DFT ao quadrado.| X( f) |2
Agora você precisa normalizar o PSD para que ele possa ser visto como uma Função de densidade de probabilidade (PDF). Assim, um PSD normalizado (vamos chamá-lo de ) será simplesmente:PSDn
Por fim, sua entropia espectral será:
fonte
Eu apenas faço aqui
Meu código fonte:
Esse código fonte faz o cálculo da Entropia espectral de todos os blocos enquadrados ...
fonte