Schätzung der Filterreihenfolge

9

Nehmen Sie eine unbekannte, aber kleine und endliche Anzahl von Polen und Nullen in der komplexen Z-Ebene an, alle mit komplexen Konjugaten, die eine gewisse Reaktion hervorrufen. Streng aus dem Absolutwert eines Satzes von Punkten mit gleichem Abstand um den Einheitskreis, beispielsweise größer als das Zweifache der Anzahl der Pole und Nullen dieser Antwort, ist es möglich, die Anzahl der Pole und Nullen zu schätzen oder zu berechnen, die diese abgetastete Größe erzeugt haben Antwort?

Hinzugefügt: Sind mehr als 2X Abtastpunkte erforderlich, um die Anzahl der Pole und Nullen zu bestimmen? (wenn gegeben ist, dass die Summe kleiner als X ist).

Hinzugefügt: Wenn es mehr als eine Lösung gibt, kann eine Mindestlösung (wie in der Mindestanzahl der Gesamtpole und Nullen) gefunden oder geschätzt werden?

hotpaw2
quelle
Dies ist ein viel einfacheres Problem ohne Pole. Dies würde im Wesentlichen zum Algorithmus im Befehl matlab / octave firls.
Mark Borgerding
Ich frage mich, ob Sie den Zähler und Nenner des Frequenzgangs im Hinblick auf das verallgemeinerte Eigenwertproblem analysieren könnten. Sie müssten wahrscheinlich Phase (linear für den Anfang) annehmen
Mark Borgerding
Ich denke, Allpassfilter sind ausgeschlossen! Wenn Pole und Nullen nahe genug sind, werden Sie wahrscheinlich Probleme haben, wenn die Stichproben der Antwort gleich weit voneinander entfernt sind. Nehmen wir an, Sie haben eine flache Antwort, bis auf eine kleine Beule, deren Frequenz nicht zu niedrig ist. Abhängig von Ihrer Präferenz können Sie dies dann mit einem Biquad (2 Nullen und 2 Pole) modellieren oder stattdessen mit 4 bis 6 Nullen modellieren. Eine verwandte Frage lautet: Bei einer Menge von Polen und Nullen ist die Mindestanzahl von Punkten der Größenantwort erforderlich, um die Anzahl der Pole und Nullen genau zu berechnen.
Niaren
1
Ich denke, das Problem ist, wie gesagt, nicht lösbar. Sie können jedes beliebige System verwenden und es mit einem oder mehreren Allpassfiltern kaskadieren. Dies würde die Größenantwort nicht beeinflussen, aber es würde ändern, wie viele Pole / Nullen die Kaskade hat. Für eine gegebene Größenantwort würde es dann unendlich viele entsprechende Pole und Nullen geben. Es könnte eine andere Geschichte sein, wenn Sie Zugriff auf die Phasenantwort des Systems hätten. Andernfalls können Sie die Systemreihenfolge definitiv schätzen (unter Verwendung eines nicht spezifizierten Schemas). Schönes Problem zum Nachdenken.
Jason R
Die Frage, einen unendlichen Zoo von Allpassfiltern aus der Lösung zu entfernen, wurde behoben.
hotpaw2

Antworten:

1

Theoretisch ist dies möglich, obwohl dies oft nicht praktikabel ist.

zkzk

n=02N.bnzk- -n- -H.(zk)n=12N.einnzk- -n=H.(zk)
zkω

Wenn M größer als N ist, ist das Gleichungssystem linear abhängig. Sie können die Filterreihenfolge ermitteln, indem Sie bei N = 1 beginnen und N erhöhen, bis das Gleichungssystem linear abhängig wird. Das größte N, bei dem das System linear unabhängig ist, ist die tatsächliche Filterreihenfolge. Bei diesem Ansatz spielt es keine Rolle, welche Frequenzen Sie auswählen. Solange sie unterschiedlich sind, funktionieren alle Frequenzen.

Dies ist jedoch ein numerisch sehr kniffliges Problem. Die Polynomdarstellung für größere Filterordnungen ist numerisch sehr fragil und die geringste Menge an Rauschen oder Unsicherheit führt zu sehr großen numerischen Fehlern. Wenn Sie beispielsweise die Werte der abgetasteten Übertragungsfunktion durch Messung bestimmen, ist die erforderliche Messgenauigkeit unerschwinglich, es sei denn, es handelt sich um einen sehr harmlosen Filter niedriger Ordnung.

Hilmar
quelle