Welche Signalverarbeitungsverfahren könnten bei einem beliebigen Frequenzgang existieren, die eine Übertragungsfunktion (Pol- und Nullkonstellation) erraten, schätzen oder bestimmen könnten, die eine "einigermaßen gute" Annäherung (für einige gegebene Schätzqualitätskriterien) an diesen gegebenen Frequenzgang ergibt? Welche Mittel gibt es, um die Anzahl der für eine bestimmte Übertragungsfunktion erforderlichen Pole und Nullen zuzüglich einer bestimmten zulässigen Approximationsfehler zu schätzen? Oder wie kann man feststellen, dass diese Einschränkungen nach Möglichkeit nicht erfüllt werden können?
Wenn der gegebene Frequenzgang tatsächlich von einer bekannten Übertragungsfunktion erzeugt wurde, konvergiert dann eine dieser Methoden auf dieser ursprünglichen Übertragungsfunktion? Wie wäre es, wenn der gegebene Frequenzgang (angenommenen Gaußschen) Messfehlern unterliegen würde?
Angenommen, Sie arbeiten in der Z-Ebene mit dem abgetasteten Spektrum, obwohl auch kontinuierliche Domänenantworten interessant sein könnten.
Hinzugefügt: Unterscheiden sich die Lösungsmethoden, wenn nur die Größe des Frequenzgangs angegeben wird (z. B. ist eine Lösung mit einem beliebigen Phasengang zulässig)?
Hinzugefügt: Das letztere Problem interessiert mich am meisten, wenn eine bekannte Größenantwort um den Einheitskreis herum, aber eine unbekannte / nicht gemessene Phasenantwort vorliegt. Kann das gemessene System geschätzt werden, und wenn ja, unter welchen Bedingungen?
Antworten:
Ein Ansatz wäre die Verwendung der FDLS-Methode (Frequency Domain Least Squares) . Bei einem Satz von (komplexen) Abtastwerten des Frequenzgangs eines zeitdiskreten Systems und einer vom Designer gewählten Filterreihenfolge verwendet die FDLS-Methode eine lineare Optimierung der kleinsten Quadrate , um den Satz von Koeffizienten zu lösen (die direkt auf Sätze von Polen abgebildet werden und Nullen) für das System, dessen Frequenzgang der gewünschten Antwort mit minimalem quadratischen Gesamtfehler entspricht.
Der Frequenzgang eines linearen zeitdiskreten Systems ter Ordnung kann wie folgt geschrieben werden:N
Dabei ist die Übertragungsfunktion des Systems in der z- Domäne. Dies wird normalerweise in dem rationalen Format geschrieben, das sich direkt aus der Differenzgleichung des Systems ergibt:H(z) z
Der Frequenzgang ist daher:
Ordnen Sie die oben genannten Punkte neu an, um Folgendes zu erhalten:
Diese Technik hat einige Vorteile:
Jeder beliebige komplexe Frequenzgang (Größe und Phase) kann als Vorlage verwendet werden. Wenn Sie nur eine Größenbeschränkung haben, können Sie einfach eine Phasenantwort auswählen, z. B. eine lineare Phase.
Die Technik ist sehr einfach zu implementieren und kann basierend auf der gewünschten Systemreihenfolge leicht parametriert werden.
Sie können diese Methode etwas erweitern, um bei Bedarf die Optimierung der gewichteten kleinsten Quadrate zu verwenden. Auf diese Weise können Sie Bereiche des Frequenzgangs angeben, deren Approximationsfehler stärker gewichtet wird als andere. Dies ermöglicht es Ihnen, Passband- / Stopband-Bereiche genauer zu steuern und gleichzeitig mehr Slop in "egal" -Bereichen zu ermöglichen.
quelle
Meine Kollegen haben mit der Vektoranpassung großartige Ergebnisse erzielt :
Wir verwenden es für die Umwandlung von FIR in IIR.
Für weniger anspruchsvolle Anwendungen können Sie einfach nichtlineare kleinste Quadrate verwenden, die für eine feste Anzahl von Polen und Nullen geeignet sind. Dies ist in Matlab als
invfreqs
und implementiertinvfreqz
.quelle
Ein anderer Ansatz: Zeichnen Sie den Frequenzgang und passen Sie ein Bode-Diagramm so gut wie möglich an. Dies könnte sehr schnell für eine ungefähre Lösung oder in einem ausgeklügelten Sinn für kleinste Quadrate für eine bessere Anpassung erfolgen. GTH
quelle