Comment calculer l'entropie spectrale d'un signal dans MATLAB? Je connais les étapes de base mais ce serait bien si quelqu'un pouvait aider,
- Calculez le spectre de puissance du signal à l'aide de la commande FFT dans MATLAB.
- Calculez la densité spectrale de puissance en utilisant le spectre de puissance ou en utilisant toute autre technique.
- Normaliser la densité spectrale de puissance entre , afin qu'elle puisse être traitée comme une fonction de densité de probabilité .
- Calculez l'entropie
power-spectral-density
RRelan
la source
la source
Réponses:
Techniquement, ce n'est pas un forum MATLAB-esque, mais je peux vous expliquer les étapes plus en détail: Supposons que votre signal d'entrée soit , et sa DFT est X ( f ) . Pour les signaux réels, vous pouvez utiliser la DFT unilatérale, car l'autre moitié serait redondante lorsque vous regardez sa densité spectrale de puissance. (PSD).x [ n ] X( f)
Une fois que vous avez calculé la DFT de votre signal, le PSD est simplement . Autrement dit, vous devez prendre la magnitude absolue de votre résultat DFT, au carré.| X( f) |2
Vous devez maintenant normaliser le PSD de sorte qu'il puisse être vu comme une fonction de densité de probabilité, (PDF). Ainsi, un PSD normalisé (appelons-le ) sera simplement:PSrén
Enfin, votre entropie spectrale sera:
la source
Je fais juste ici
Mon code source:
Ce code source effectue le calcul d'entropie spectrale à partir de chaque bloc encadré ...
la source