Moyenne du domaine temporel FFT vs moyenne de la tranche de fréquence

12

J'ai plusieurs essais de données physiologiques. Je fais une analyse basée sur la fréquence pour analyser la puissance (amplitude) dans certaines fréquences d'intérêt. La moyenne de plusieurs essais de même longueur, puis la prise d'une seule FFT du signal moyen par rapport au calcul de la FFT pour chaque essai, puis la moyenne des intervalles de fréquences sont-elles les mêmes? En pratique, je trouve que ce n'est pas le cas.

Plus précisément, le signal a naturellement une forte composante 1 / f et cela est accentué si je calcule la FFT de chaque essai individuel et ensuite moyenne les amplitudes (partie réelle) de chaque tranche de fréquence. Les deux sont-ils équivalents? existe-t-il une bonne façon de faire les choses? ou dans quelles conditions de principe le choix entre la moyenne du domaine temporel et la moyenne de la fréquence doit-il être fait?


la source

Réponses:

8

Permettez-moi de clarifier.

  • La transformée de Fourier ne représente pas l'histogramme du signal. La transformée de Fourier est une transformée linéaire qui prend le signal du domaine temporel (fonction complexe) au domaine fréquentiel (une autre fonction complexe). Il prend une fonction complexe à une autre fonction complexe.
  • La transformée de Fourier est linéaire comme l'a souligné l'affiche ci-dessus.
  • La phase dans vos échantillons compte comme indiqué ci-dessus. Si les données d'essai par essai varient en phase, alors vous ne voulez pas faire la moyenne avant de faire une transformation de Fourier, mais vous ne voulez pas non plus faire la moyenne après la transformation de Fourier. Vous voulez faire la moyenne après la transformée de Fourier et la norme. J'expliquerai ci-dessous ce qui doit être fait exactement.

Le principal problème ici est que la question est mal posée. Ce n'est pas "dois-je prendre la transformée de Fourier avant de faire la moyenne ou après la moyenne". Parce que cela ne fait aucune différence en raison de la linéarité de la transformée de Fourier.

La bonne question à poser est "dois-je prendre l'amplitude de la transformée de Fourier avant de faire la moyenne ou après la moyenne". Pour cette question, la réponse est avant.

Voici les détails.

Supposons que vos données échantillonnées soient représentées par les séquences:

d1=d1[n1],d1[n2],...d1[nN]

d2=d2[n1],d2[n2],...d2[nN]

d3=d3[n1],d3[n2],...d3[nN]

...

dM=dM[n1],dM[n2],...dM[nN]

d1,...dMn1,...nN

F1=j=1M|F{dj}||F{j=1Mdj}|=F2

F|F|

dj[ni]i,jF{dj}|F{dj}|

Quant à ce que vous devez faire, vous devez prendre la transformée de Fourier des essais individuels (via FFT), obtenir l'amplitude des essais individuels et les faire une moyenne ensemble.

1/f1/f

1/f1/f

1/f

1/f|F{x(t)}|=|1/f|x(t)

1/f

Une question tout aussi importante, que vous apporte la moyenne? et le plus important est de savoir comment interpréter le résultat? Branchez-vous demain pour une discussion plus approfondie: p

merci
la source
1
+1 Merci d'avoir clarifié. Je pense que j'ai mal compris le problème sous-jacent derrière la question, et je pense que cela va plus au fond.
jstarr
2

Tout d'abord, la FFT est un algorithme. La transformée est appelée la transformée de Fourier! Il représente l'histogramme des signaux. Dans le cas discret, une lecture élevée dans les domaines fréquentiels signifie beaucoup d'énergie à cette fréquence.

Vous ne devez pas faire la moyenne des données avant la FFT car les informations de phase entraîneront des changements importants dans les données.

Imaginez 2 échantillons constitués chacun d'un cosinus pur. Dans le monde réel, vous ne capturerez jamais ce cosinus au même point de départ. Un cosinus sera décalé par rapport à un autre (ou les deux ont des décalages différents par rapport au début. Mathématiquement, cela signifie y1 = cos (wt-A) y2 = cos (wt-B) où A & B sont des décalages. Dans votre modèle, ces deux mieux apparaissent comme la même chose. Avec un peu de mathématiques, je peux choisir ces valeurs pour que y2-y1 = 0. La moyenne de zéro est zéro et tout à fait pas ce que vous voulez. C'est le problème de phase.

Si votre objectif est de trouver le spectre moyen que vous devriez faire la moyenne à travers les spectres, ne faites pas la moyenne des signaux!

Mikhail
la source
Merci pour ça. Il y avait certainement une préoccupation que s'il y a du bruit avec juste la bonne différence de phase d'un essai à l'autre, il annulera tout ou les signaux aux fréquences d'intérêt. Je ne sais toujours pas pourquoi le 1 / f est accentué par la moyenne de la fréquence bin plutôt que la moyenne du domaine temporel suivie par la FFT.
@ user1487551 Que signifie un fort composant 1 / f? La transformée de Fourier inverse de 1 / f est une fonction de signe et peut suggérer que vos données incluent un gros morceau lorsque le système se stabilise. Vous devriez probablement montrer un tracé ou des données.
Mikhail
1
Notez que vous pouvez faire une moyenne temporelle si vous avez une référence de phase sur laquelle vous pouvez synchroniser la capture de données, et cela peut être très efficace pour réduire le plancher de bruit, mais sinon, il est vrai que vous devez faire la moyenne d'ensemble dans le domaine fréquentiel.
Paul R
2

À moins que je sois complètement hors de propos ou que je ne comprenne pas votre question, la réponse est oui : par linéarité de la DFT, faire la moyenne des signaux dans le temps puis prendre la DFT de la moyenne équivaut à faire la moyenne des DFT des signaux.

Pour le montrer, définissons quelques variables:

  • xn[]thn
  • Xk[]thk

1L=0Lxn[]

n=0N11LLxn[]ei2πkn/N

En changeant l'ordre des sommations, nous pouvons écrire

1L=0Ln=0N1xn[]ei2πkn/N,

mais c'est la même chose que

1L=0LXk[l]

ce qui revient à faire la moyenne des DFT de chaque trival. C'est ce que nous voulions montrer.

jstarr
la source
Pour faire la moyenne dans le domaine temporel, vous avez besoin d'une sorte de référence de phase sur laquelle vous pouvez vous synchroniser. Lorsque cela est disponible, vous pouvez parfois obtenir de meilleurs résultats qu'avec la moyenne d'ensemble dans le domaine fréquentiel, principalement en raison de la réduction des effets de quantification, etc.
Paul R