Ich entwickle eine Software, die die Reaktion eines Systems durch Vergleichen der FFT von Eingangs- und Ausgangssignalen berechnet. Die Eingangs- und Ausgangssignale sind in Fenster unterteilt, und für jedes Fenster werden die Signale im Median subtrahiert und mit einer Hann-Funktion multipliziert. Die Instrumentenantwort für dieses Fenster ist dann das Verhältnis der FFTs der verarbeiteten Daten.
Ich glaube, dass das oben genannte Standardverfahren ist, obwohl ich es möglicherweise schlecht beschreibe. Mein Problem besteht darin, wie die Antworten aus den verschiedenen Fenstern kombiniert werden.
Soweit ich sehen kann, besteht der richtige Ansatz darin, die komplexen Werte über alle Fenster hinweg zu mitteln. Die Amplitude und die Phasenantwort sind dann die Amplitude und Phase des durchschnittlichen komplexen Wertes bei jeder Frequenz:
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))
mit impliziten Schleifen über Frequenzbereiche.
Aber ich bin gebeten worden , dies zu ändern , zu berechnen Amplitude und Phase in jedem Fenster zuerst und mittleres dann die Amplituden und Phasen in allen Fenstern:
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
Ich habe argumentiert, dass dies falsch ist, weil Mittelungswinkel "einfach falsch" sind - der Durchschnitt von 0 und 360 Grad beträgt beispielsweise 180, aber die Leute, mit denen ich arbeite, antworteten mit "OK, wir zeigen nur die Amplitude an".
Meine Fragen sind also:
- Habe ich Recht, wenn ich denke, dass der zweite Ansatz im Allgemeinen auch für Amplituden falsch ist?
- Wenn ja, gibt es Ausnahmen, die relevant sein könnten und die erklären könnten, warum die Leute, mit denen ich arbeite, die zweite Methode bevorzugen? Es sieht zum Beispiel so aus, als würden die beiden Ansätze übereinstimmen, wenn das Rauschen klein wird. Vielleicht ist dies eine akzeptierte Näherung für geringes Rauschen?
- Wenn der zweite Ansatz falsch ist, gibt es überzeugende, maßgebliche Referenzen, anhand derer ich dies zeigen kann?
- Wenn der zweite Ansatz falsch ist, gibt es gute, leicht verständliche Beispiele, die dies für die Amplitude zeigen (wie der Durchschnitt von 0 und 360 Grad für die Phase)?
- Wenn ich falsch liege, was wäre ein gutes Buch für mich, um mich besser zu erziehen?
Ich habe versucht zu argumentieren, dass der Durchschnitt von -1 1 1 -1 1 -1 -1 eher Null als 1 sein sollte, aber das war nicht überzeugend. Und obwohl ich denke, dass ich mit der Zeit ein Argument konstruieren könnte, das auf der Schätzung der maximalen Wahrscheinlichkeit bei einem bestimmten Geräuschmodell basiert, ist es nicht die Art von Argumentation, auf die die Leute, mit denen ich arbeite, hören werden. Wenn ich mich also nicht irre, brauche ich entweder ein starkes Argument der Autorität oder eine "offensichtliche" Demonstration.
[Ich habe versucht, weitere Tags hinzuzufügen, kann aber keine relevanten finden und keine neuen als neuen Benutzer definieren - sorry]
quelle
Antworten:
Die Schätzung der Übertragungsfunktion wird normalerweise geringfügig anders implementiert als die von Ihnen beschriebene Methode.
Ihre Methode berechnet
wobei spitzen Klammern ⟩ Mittelwert übernommen Datensegmenten repräsentieren, und eine Fensterfunktion für jedes Datensegment angelegt wird , die Fourier - Transformation (vor der Einnahme von F ).⟨ ⟩ F
Eine typischere Implementierung berechnet die spektrale Kreuzdichte von x und y geteilt durch die spektrale Leistungsdichte von x:
Wobei ein punktweises Produkt darstellt und ∗⋅ ∗ das komplexe Konjugat.
Ich glaube, dies soll den Effekt von Datensegmenten reduzieren, in denen Bins vonF[x] übermäßig klein sind.
Inkohärente Schätzung
Ihr Arbeitgeber hat vorgeschlagen, dass Sie die Übertragungsfunktion mit schätzen
Dies wird funktionieren , hat aber zwei große Nachteile:
Ihre Methode und die von mir beschriebene Methode umgehen diese Probleme durch kohärente Mittelwertbildung .
Verweise
Die allgemeine Idee, überlappende, gemittelte Segmente zur Berechnung der spektralen Leistungsdichten zu verwenden, ist als Welch-Methode bekannt . Ich glaube, dass die Erweiterung auf diese Methode zur Schätzung von Übertragungsfunktionen oft auch als Welch-Methode bezeichnet wird, obwohl ich nicht sicher bin, ob sie in Welchs Artikel erwähnt wird. Das Nachschlagen von Welchs Papier könnte eine wertvolle Ressource sein. Eine nützliche Monographie zu diesem Thema ist Bendats und Piersols Buch Random Data: Analysis and Measurement Procedures .
Validierung
Um Ihre Software zu validieren, empfehle ich, mehrere Testfälle anzuwenden, in denen Sie weißes Gaußsches Rauschen erzeugen und es durch einen digitalen Filter mit einer bekannten Übertragungsfunktion führen. Führen Sie die Ein- und Ausgänge in Ihre Übertragungsfunktionsschätzroutine ein und überprüfen Sie, ob die Schätzung auf den bekannten Wert der Übertragungsfunktion konvergiert.
quelle
Willkommen bei der Signalverarbeitung!
Du hast absolut recht. Sie können DFT-Größen und -Phasen, insbesondere Phasen, nicht einfach separat mitteln. Hier ist eine einfache Demonstration:
In diesem Fall,
Ebenfalls,
Um das zu tun, was Sie versuchen, schlage ich Folgendes vor. Theoretisch können Sie eine Impulsantwort eines Systems finden, indem Sie die DFT des Ausgangs durch die DFT des Eingangs teilen. Bei Lärm werden Sie jedoch sehr seltsame Ergebnisse erzielen. Ein etwas besserer Weg wäre die Verwendung der Zweikanal-FFT-Impulsantwortschätzung, die wie folgt abläuft (Ableitung hier nicht angegeben, aber online verfügbar).
bei dem die( ⋅ )∗ steht für komplexe Konjugation (drehen Sie das Zeichen aller Ihrer Imaginärteile um).
quelle
Dies ist ein Unterschied zwischen kohärenter und inkohärenter Mittelung von FFT-Spektren. Eine kohärente Mittelwertbildung lehnt zufälliges Rauschen in der Analyse eher ab. Inkohärent akzentuiert eher zufällige Rauschgrößen. Welche davon ist für Ihren Ergebnisbericht wichtiger?
quelle