Hallo Leute,
würde gerne 2 Polynome mittels LabVIEW dividieren.
Bei den Polynomen handelt es sich um 2 Übertragungsfunktionen (H(z) der Nullstelle+Polstelle) von einem Digitalen IIR-Filter. Durch die Division erhalte ich dann meine benötigte Impulsantwort h(n) mit der ich dann mein Eingangssignal falten kann.
Habe auch 2 LabVIEW-VI´s gefunden (DIVIDE POLYNOMIALS.vi + DIVIDE RATIONAL POLYNOMIALS.vi), aber irgendwie komme ich auf das mir vorliegende Ergebnis nicht!
(1+2(z^-1)+1(z^-2)) / (1+1,7(z^-1)+0,75(z^-2)) = 1+0,3(z^-1)-0,26(z^-2)+0,217(z^-3)
Da die Impulsantwort einen Digitalen IIR-Filter unendlich ist, ist das o.g. Ergebnis für n=0,...,3 bengrenzt.
Hoffe auf Hilfe!
Vielen Dank & Schönen Sonntag noch!
Vielleicht könntest du mal ein VI oder einen Screenshot hochladen?
Gruß, Jens
Also ich habe mich auch schon mit Deiner Frage beschäftigt, und habe es dann aufgegeben zu antworten. Die Fragen sind z.B:
Zitat:Bei den Polynomen handelt es sich um 2 Übertragungsfunktionen (H(z) der Nullstelle+Polstelle) von einem Digitalen IIR-Filter. Durch die Division erhalte ich dann meine benötigte Impulsantwort h(n) mit der ich dann mein Eingangssignal falten kann.
Die normale Vorgehernsweise wäre doch: Zähler- und Nennerpoynom (Vorwärts- und Rückwärtskoeffizienten) an den IIR-Filter anschließen, Impuls auf den Eingang geben. Am Ausgang hat man die Impulsantwort. Es gibt keinen Grund, die Polynome für diesen Zweck zu dividieren. Was möchtest Du wirklich???
Zitat:Habe auch 2 LabVIEW-VI´s gefunden (DIVIDE POLYNOMIALS.vi + DIVIDE RATIONAL POLYNOMIALS.vi), aber irgendwie komme ich auf das mir vorliegende Ergebnis nicht!
(1+2(z^-1)+1(z^-2)) / (1+1,7(z^-1)+0,75(z^-2)) = 1+0,3(z^-1)-0,26(z^-2)+0,217(z^-3)
Da die Impulsantwort einen Digitalen IIR-Filter unendlich ist, ist das o.g. Ergebnis für n=0,...,3 bengrenzt.
Ja, die Impulsantwort bei einem digitalem IIR filter ist unendlich, aber deswegen ist doch das Polynom nicht unendlich.
Richtig wäre nur diese Aussage: Wenn ich die (unendlich lange) Antwort eines IIR-Filters mit einem FIR-Filter exakt nachbilden will, dann brauche ich dafür unendlich viele Vorwärtskoeffizienten. (Ein FIR-Filter hat keine Rückwärtskoeffizienten).
' schrieb:
Vielleicht könntest du mal ein VI oder einen Screenshot hochladen?
Gruß, Jens
Hi Jens,
kann leider kein Screenshot hochladen!
Habe bloß die beiden Übertragunsfunktionen, nichts weiter...
Danke
' schrieb:Also ich habe mich auch schon mit Deiner Frage beschäftigt, und habe es dann aufgegeben zu antworten. Die Fragen sind z.B:
Die normale Vorgehernsweise wäre doch: Zähler- und Nennerpoynom (Vorwärts- und Rückwärtskoeffizienten) an den IIR-Filter anschließen, Impuls auf den Eingang geben. Am Ausgang hat man die Impulsantwort. Es gibt keinen Grund, die Polynome für diesen Zweck zu dividieren. Was möchtest Du wirklich???
Ja, die Impulsantwort bei einem digitalem IIR filter ist unendlich, aber deswegen ist doch das Polynom nicht unendlich.
Richtig wäre nur diese Aussage: Wenn ich die (unendlich lange) Antwort eines IIR-Filters mit einem FIR-Filter exakt nachbilden will, dann brauche ich dafür unendlich viele Vorwärtskoeffizienten. (Ein FIR-Filter hat keine Rückwärtskoeffizienten).
Hi Lucky,
natürlich musst du die Polynome bei einem IIR Filter dividieren (Übertragungsfunktion H(z) der Nullstelle / Übertragungsfunktion H(z) der Polstelle)!
Wie bekommste du denn sonst die Impulsantwort h(n)?! Gar nicht...
Bei FIR Filter sind die Koeffizienten der ÜFKT H(z) gleich dem h(n)!Da ist es ganz easy...
In diesem Buch steht alles drinnen: Digitale Filter. Eine Einführung in zeitdiskrete Signale und Systeme (Broschiert) von A. Lacroix
Du hast anscheind das Problem nicht verstanden. Ich werde mal eine Beispielaufgabe als .pdf hochladen.
Dann siehst du was ich meine und es wird deutlich.
"...Richtig wäre nur diese Aussage: Wenn ich die (unendlich lange) Antwort eines IIR-Filters mit einem FIR-Filter exakt nachbilden will, dann brauche ich dafür unendlich viele Vorwärtskoeffizienten. (Ein FIR-Filter hat keine Rückwärtskoeffizienten)..." HÄÄÄÄÄÄ????
Ich will doch nichts nachbilden, ich will durch den Einsatz eines IIR Filters meine Flankensteilheit erhöhen. Je näher die Polstellen meines IIR-Filters an meinen NST liegen, desto besser die Flanke! Das siehste wenn du h(n) transformierst und dir den Frequenzgang anschaust!
LG
' schrieb:Du hast anscheind das Problem nicht verstanden. Ich werde mal eine Beispielaufgabe als .pdf hochladen.
Ja wo bleibts denn, dieses ominöse PDF? Ich warte...
Um inzwischen Deine Frage nach der Polynomdivision direkt zu beantworten:
Es geht schon, nur muß man dabei zweierlei beachten:
1.) Obwohl die koeffizienten im Divisions-VI in Reihenfolge aufsteigender Potenzen eingegeben werdem, so beginnt doch die Division mit den höchsten Potenzen. Wenn man so dividieren will wie Du, dann müssen die Eingangs-Koeffizienten in der Reihenfolge vertauscht werden.
2.) Bei der Division entstehen nur so viele Glieder, daß als Rest ein echter Polynombruch übrig bleibt (Zählerpolynom kleinere Potenz als Nennerpolynom). Wenn man mehr Glieder wünscht, dann kann man das VI durch vorheriges Multiplizieren des Zählers mit x^n austricksen. (Das Ergebnis kann man ja dann antsprechend dividieren).
Biespiel:
[
attachment=15441]
Dein PDF kommt wohl nicht, da gebe ich mal schon mal die Antwort
Zitat:natürlich musst du die Polynome bei einem IIR Filter dividieren (Übertragungsfunktion H(z) der Nullstelle / Übertragungsfunktion H(z) der Polstelle)!
Wie bekommste du denn sonst die Impulsantwort h(n)?! Gar nicht...
Weiß nicht, wie Du das machst, hier im Forum jedenfalls geht es um LabVIEW, und da braucht man keine Division auszuführen, um die Impulsantwort von H(z) = P(z)/Q(z) zu erhalten. Es geht so: Am IIR-Filter-VI Vorwärts und Rückwärtskofeffizienten anlegen, Delta-Impuls an den Eingang. Ausgang = Impulsantwort. --> fertig
Zitat:Bei FIR Filter sind die Koeffizienten der ÜFKT H(z) gleich dem h(n)!Da ist es ganz easy...
Ja schon, aber es gibt eben die beiden Möglichkeiten, und wenn man die Impulsantwort nicht vorliegen hat, sondern nur H(z), dann wäre die Polynomdivision durchaus eine Alternative, wenn es darum geht, ein IIR-Filter durch ein FIR-Filter zu approximieren. Selbsverständlich muß jedesmal dasselbe herauskommen. Vergleiche die beiden Arrays "Gewichtsfunktion" und "Polynomdivision" im Beispiele unten.
[
attachment=15448]
Das Bild zeigt die Ermittlung der Gewichtsfunktion an einem einfachen Tiefpassfilter 1. Ordnung.
Natürlich wäre es attraktiver gewesen, Dein Filter zu benutzen, aber das ist leider Schrott: Die Gewichtsfunktion (Impulsantwort) klingt nicht ab, sondern schaukelt sich bis ins Unendliche auf:
[
attachment=15449]
Zitat:(Ein FIR-Filter hat keine Rückwärtskoeffizienten)..."
Ja, denn andernfalls wäre es kein FIR-Filter. Siehe z.B. Kap. 3.10.2 Gl. (3,116 b) S. 62 im erwähnten Buch.
Zitat:HÄÄÄÄÄÄ????[/i]
Dieser Urschrei würde mich mal als MP3-Tondokument interessieren. Wäre auch interessant, in welcher Uni oder Firma man solchen Stil pflegt.
Gruß Ludwig