Les unités d'une transformée de Fourier (FFT) lorsque vous faites l'analyse spectrale d'un signal

StackOverflow https://stackoverflow.com/questions/1523814

Question

Ma question a à voir avec le sens physique des résultats de faire une analyse spectrale d'un signal, ou de lancer le signal dans une FFT et interpréter ce qui vient à l'aide d'un paquet numérique approprié,

Plus précisément:

  • prendre un signal, par exemple une tension variant dans le temps v (t)
  • le jeter dans une FFT (vous revenez d'une suite de nombres complexes)
  • ^ 2 |
  • prendre maintenant le module (abs) et carré le résultat, à savoir | fft (v).

Vous avez maintenant des nombres réels sur l'axe des y - j'appelle ces coefficients spectraux

?
  • en utilisant la résolution d'échantillonnage, vous suivez une recette de livre de cuisine et d'associer les coefficients spectraux à des fréquences.
  • À ce stade, vous disposez d'un spectre de fréquences g (w) avec une fréquence sur l'axe x, mais quelles unités physiques sur l'axe y?

Ma compréhension est que ce spectre de fréquence montre combien des différentes fréquences sont présentes dans le signal de tension - ils sont des coefficients spectraux dans le sens où ils sont les coefficients des sinus et cosinus des différentes fréquences nécessaires pour reconstituer le signal original.

La première question est, Quelles sont les unités de ces coefficients spectraux?

La raison pour laquelle cette question est importante est que les coefficients spectraux peuvent être minuscule et immense, donc je veux utiliser une échelle dB pour les représenter.

Mais pour faire cela, je dois faire un choix:

  • Soit j'utiliser la conversion 20log10 dB, ce qui correspond à une mesure de champ, comme tension.
  • Ou j'utiliser la conversion 10log10 dB, ce qui correspond à une mesure d'énergie, comme l'énergie.

Quelle mise à l'échelle que j'utilise dépend de ce que les unités sont.

Toute la lumière sur ce serait grandement apprécié!

Était-ce utile?

La solution

  

prendre un signal, une tension variable dans le temps v (t)

unités sont V , les valeurs sont réelles.

  

le jeter dans une FFT - ok, vous revenez d'une séquence de nombres complexes

unités sont encore V , les valeurs sont complexes (non V / Hz - la FFT d'un signal en courant continu devient un point au niveau de courant continu, et non un zoom de la fonction delta de Dirac à l'infini)

  

prendre maintenant le module (abs)

unités sont encore V , les valeurs sont réelles - amplitude des composantes de signal

  

et le carré du résultat, à savoir | fft (v) | ^ 2

unités sont maintenant V 2 , les valeurs sont réelles - carré des grandeurs de composantes de signal

  

Je vais appeler ces coefficients spectraux?

Il est plus proche d'une densité de puissance plutôt que l'utilisation habituelle du coefficient spectral. Si votre évier est une résistance parfaite, ce sera la puissance, mais si votre évier est fonction de la fréquence, il est « le carré de la grandeur de la FFT de la tension d'entrée ».

  

À ce stade, vous avez un g (w) du spectre de fréquence: fréquence sur l'axe x, et ... Quelles unités physiques sur l'axe y

Les unités sont V 2

  

L'autre raison les unités est que les coefficients spectraux peuvent être minuscule et immense, donc je veux utiliser une échelle dB pour les représenter. Mais pour faire cela, je dois faire un choix: dois-je utiliser la conversion 20log10 dB (ce qui correspond à une mesure de champ, comme la tension)? Ou dois-je utiliser la conversion 10log10 dB (ce qui correspond à une mesure d'énergie, comme l'énergie)?

Vous avez déjà au carré les valeurs de tension, ce qui donne une puissance équivalente à une résistance de 1 Ohm parfaite, donc utilisez 10log10.

log (x 2 ) 2 log (x) , si 20log10 | fft (v) | = 10log10 (| fft (v) | 2 ) , donc encore si vous ne cadraient pas les valeurs que vous pouvez utiliser 20log10

.

Autres conseils

L'axe des y est complexe (par opposition à réel). L'amplitude est l'amplitude du signal d'origine en unités quelles que soient les échantillons originaux étaient. L'angle est la phase de ladite composante de fréquence.

Voici ce que je suis en mesure de venir avec à ce jour:

L'axe y semble susceptible d'être en unités de [énergie / Hz]!

Voici comment je tirer ce (les commentaires bienvenus!):

  1. le signal v (t) est en volts

  2. après avoir pris l'intégrale de Fourier: e intégrale ^ IWT v (t) dt, nous devrions avoir des unités de [volts * secondes] ou [V / Hz] (e ^ IWT est sans unité)

  3. prendre l'ampleur au carré devrait alors donner des unités de [V ^ 2 * de ^ 2], ou [v ^ 2 * s / Hz]

  4. nous savons La puissance est proportionnelle à volts ^ 2, donc cela nous amène à [puissance * s / Hz]

  5. mais le pouvoir est le temps taux de variation de l'énergie, à savoir la puissance = énergie / s, donc nous pouvons également écrire l'énergie = puissance * s

  6. nous laisse la conclusion candidat [Energy / Hz]. (Joules / Hz!)

... ce qui suggère le sens de « teneur en énergie par Hz », et suggère une utilisation intégrant des bandes de fréquences et de voir la teneur en énergie ... ce qui serait très bien s'il était vrai ...

Continuer ... en supposant que ce qui précède est correct, nous avons affaire à une mesure de l'énergie, donc cela suggère d'utiliser la conversion 10log10 pour obtenir en dB échelle, au lieu de 20log10 ...

...

La puissance dans une résistance est v^2/R watts. La puissance d'un x(t) de signal est une abstraction de la puissance dans une résistance de 1 Ohm. Par conséquent, la puissance d'un signal x(t) est x^2 (également appelé puissance instantanée), quelles que soient les unités physiques de x(t).

Par exemple, si x(t) est la température, et les unités de x(t) sont degrés C, alors les unités pour la x^2 de puissance de x(t) sont C^2, certainement pas watts.

Si vous prenez la transformée de Fourier x(t) pour obtenir X(jw), alors les unités de X(jw) sont C*sec ou C/Hz (selon la transformée de Fourier intégrale). Si vous utilisez (abs(X(jw)))^2, les unités sont alors C^2*sec^2=C^2*sec/Hz. Étant donné que les unités de puissance sont C^2, et les unités d'énergie sont C^2*sec, puis abs(X(jw)))^2 donne la densité spectrale d'énergie, par exemple E/Hz. Ceci est cohérent avec le théorème de Parseval, où l'énergie de x(t) est donnée par (1/2*pi) fois l'intégrale de abs(X(jw)))^2 par rapport à w, à savoir, (1/2*pi)*int(abs(X(jw)))^2*dw) > (1/2*pi)*(C^2*sec^2)*2*pi*Hz > (1/2*pi)*(C^2*sec/Hz)*2*pi*Hz > E.

La conversion à une échelle dB (échelle logarithmique) ne modifie pas les unités.

Si vous prenez la FFT d'échantillons de x(t), écrit x(n), pour obtenir X(k), le résultat X(k) est une estimation des coefficients de la série de Fourier d'une fonction périodique, où une période plus T0 secondes est le segment de x(t) que a été échantillonné. Si les unités de x(t) sont degrés C, alors les unités de X(k) sont également degrés C. Les unités de abs(X(k))^2 sont C^2, qui sont les unités de puissance. Ainsi, un tracé de abs(X(k))^2 fonction de la fréquence représente le spectre de puissance (pas de densité spectrale de puissance) de x(n), qui est une estimation de la puissance d'un ensemble de composantes de fréquence aux fréquences x(t) k/T0 Hz.

Eh bien, réponse tardive je sais. Mais je viens eu à faire quelque chose comme cela, dans un contexte différent. Mes données brutes a des valeurs de latence pour les transactions contre une unité de stockage - Je rééchantillonnées à un intervalle de temps 1ms. Donc, y des données d'origine était « temps de latence, en microsecondes. » J'ai eu 2 ^ 18 = 262144 points de données d'origine, sur 1ms pas de temps.

Après avoir fait la FFT, je suis un composant 0e (DC) de telle sorte que ce qui suit a eu lieu:

FFT [0] = 262144 * (moyenne de toutes les données d'entrée).

Il me semble que la FFT [0] est N * (moyenne des données d'entrée). fait ce genre de sens - chaque point de données unique possède cette moyenne DC dans le cadre de ce qu'il est, si vous ajoutez « em all

.

Si vous regardez la définition de la FFT qui fait trop de sens. Toutes les autres composantes impliquerait termes sinus et cosinus aussi, mais vraiment la FFT est juste une sommation. La moyenne est juste le seul qui se trouve être présent dans tous les points aussi, parce que vous avez cos (0) = 1.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top