Je développe un logiciel qui calcule la réponse d'un système en comparant la FFT des signaux d'entrée et de sortie. Les signaux d'entrée et de sortie sont divisés en fenêtres et, pour chaque fenêtre, les signaux sont soustraits médians et multipliés par une fonction de Hann. La réponse de l'instrument pour cette fenêtre est alors le rapport des FFT des données traitées.
Je crois que ce qui précède est une procédure standard, bien que je puisse la décrire mal. Mon problème vient de la façon de combiner les réponses des multiples fenêtres.
Pour autant que je puisse voir, la bonne approche consiste à faire la moyenne des valeurs complexes, sur toutes les fenêtres. L'amplitude et la réponse en phase sont alors l'amplitude et la phase de la valeur complexe moyenne à chaque fréquence:
av_response = sum_windows(response) / n
av_amplitude = sqrt(real(av_response)**2 + imag(av_response)**2)
av_phase = atan2(imag(av_response), real(av_response))
avec boucles implicites sur les intervalles de fréquence.
Mais on m'a demandé de changer cela pour calculer l' amplitude et la phase dans chaque fenêtre d' abord , puis en moyenne les amplitudes et phases à travers toutes les fenêtres:
amplitude = sqrt(real(response)**2 + imag(response)**2)
av_amplitude = sum_windows(amplitude) / n
phase = atan2(imag(response), real(response))
av_phase = sum_windows(phase) / n
J'ai soutenu que c'était incorrect parce que la moyenne des angles était "juste fausse" - la moyenne de 0 et 360 degrés est de 180, par exemple, mais les gens avec qui je travaille ont répondu en disant "OK, nous afficherons uniquement l'amplitude".
Mes questions sont donc:
- Ai-je raison de penser que la deuxième approche est généralement incorrecte pour les amplitudes aussi?
- Si oui, y a-t-il des exceptions qui peuvent être pertinentes et qui peuvent expliquer pourquoi les personnes avec qui je travaille préfèrent la deuxième méthode? Par exemple, il semble que les deux approches s'accorderont à mesure que le bruit diminue, alors peut-être s'agit-il d'une approximation acceptée pour un faible bruit?
- Si la deuxième approche est incorrecte, existe-t-il des références convaincantes et faisant autorité que je peux utiliser pour le montrer?
- Si la deuxième approche est incorrecte, existe-t-il des exemples bons et faciles à comprendre qui le montrent pour l'amplitude (comme le fait la moyenne de 0 et 360 degrés pour la phase)?
- Sinon, si je me trompe, quel serait un bon livre pour moi pour mieux m'éduquer?
J'ai essayé de faire valoir que la moyenne de -1 1 1 -1 1 -1 -1 -1 devrait être nulle plutôt que 1, mais ce n'était pas convaincant. Et même si je pense que je pourrais, avec le temps, construire un argument basé sur l'estimation de la probabilité maximale compte tenu d'un modèle de bruit particulier, ce n'est pas le genre de raisonnement que les gens avec qui je travaille écouteront. Donc, si je ne me trompe pas, j'ai besoin d'un argument puissant de l'autorité ou d'une démonstration "évidente".
[J'ai essayé d'ajouter plus de tags, mais je ne trouve pas ceux qui sont pertinents et je ne peux pas en définir de nouveaux en tant que nouvel utilisateur - désolé]
la source
Réponses:
L'estimation de la fonction de transfert est généralement implémentée légèrement différemment de la méthode que vous décrivez.
Votre méthode calcule
où équerres ⟩ représentent des moyennes prises sur des segments de données et une fonction de fenêtrage est appliquée à chaque segment de données avant de prendre la transformée de Fourier ( F ).⟨ ⟩ F
Une implémentation plus typique calculera la densité spectrale croisée de x et y divisée par la densité spectrale de puissance de x:
Où représente un produit ponctuel, et ∗ le conjugué complexe.⋅ ∗
Je crois que cela vise à réduire l'effet des segments de données où les bacs de sont excessivement petits.F[ x ]
Estimation incohérente
Votre employeur vous a suggéré d'estimer la fonction de transfert à l'aide de
Cela fonctionnera , mais présente deux gros inconvénients:
Votre méthode et la méthode que j'ai décrite contournent ces problèmes en utilisant une moyenne cohérente .
Les références
L'idée générale d'utiliser des segments moyennés superposés pour calculer les densités spectrales de puissance est connue sous le nom de méthode de Welch . Je crois que l'extension de l'utilisation de cela pour estimer les fonctions de transfert est également souvent connue sous le nom de méthode de Welch, bien que je ne sais pas si elle est mentionnée dans l'article de Welch. La recherche du document de Welch pourrait être une ressource précieuse. Une monographie utile sur le sujet est le livre de Bendat et Piersol, Random Data: Analysis and Measurement Procedures .
Validation
Pour valider votre logiciel, je vous suggère d'appliquer plusieurs cas de test, où vous générez du bruit blanc gaussien et le passez à travers un filtre numérique avec une fonction de transfert connue. Alimentez les entrées et les sorties dans votre routine d'estimation de la fonction de transfert et vérifiez que l'estimation converge vers la valeur connue de la fonction de transfert.
la source
Bienvenue dans le traitement du signal!
Vous avez absolument raison. Vous ne pouvez pas simplement faire la moyenne des amplitudes et des phases DFT séparément, en particulier les phases. Voici une démonstration simple:
Dans ce cas,
Aussi,
Maintenant, pour faire ce que vous essayez de faire, je suggère ce qui suit. Théoriquement, vous pouvez trouver une réponse impulsionnelle d'un système en divisant la DFT de la sortie par la DFT de l'entrée. Cependant, en présence de bruit, vous obtiendrez des résultats très étranges. Une façon légèrement meilleure de le faire serait d'utiliser une estimation de la réponse impulsionnelle FFT à deux canaux, qui va comme suit (dérivation non fournie ici, mais vous pouvez la trouver en ligne).
la source
Il s'agit d'une différence entre la moyenne cohérente et incohérente des spectres FFT. Une moyenne cohérente est plus susceptible de rejeter le bruit aléatoire dans l'analyse. L'incohérence est plus susceptible d'accentuer les amplitudes de bruit aléatoires. Lequel de ces éléments est le plus important pour votre rapport de résultats?
la source