¿Cómo calculo la entropía espectral de una señal en MATLAB? Conozco los pasos básicos, pero sería bueno si alguien puede ayudar,
- Calcule el espectro de potencia de la señal utilizando el comando FFT en MATLAB.
- Calcule la densidad espectral de potencia utilizando el espectro de potencia o cualquier otra técnica.
- Normalice la densidad espectral de potencia entre , de modo que pueda tratarse como una función de densidad de probabilidad .
- Calcule la entropía
power-spectral-density
RRelan
fuente
fuente
Respuestas:
Técnicamente, este no es un foro de MATLAB, pero puedo explicarle los pasos con más detalle: suponga que su señal de entrada es , y su DFT es X ( f ) . Para señales reales, puede usar el DFT unilateral, ya que la otra mitad sería redundante si observa su densidad espectral de potencia. (PSD)x [ n ] X( f)
Una vez que calcula el DFT de su señal, el PSD es simplemente . Es decir, debe tomar la magnitud absoluta de su resultado DFT, al cuadrado.El | X( f) |2
Ahora debe normalizar el PSD de modo que pueda verse como una función de densidad de probabilidad (PDF). Por lo tanto, una PSD normalizada, (llamémosla ) simplemente será:PAGSSrenorte
Finalmente, su entropía espectral será:
fuente
Acabo de hacer aquí
Mi código fuente:
Este código fuente hace el cálculo de la entropía espectral de cada bloque enmarcado ...
fuente