Hallo zusammen, für die Filter der CMSIS-lib möchte ich mir gerne Parameter berechnen, konkret für den IIR q31 in Direktform 1 http://www.keil.com/pack/doc/CMSIS/DSP/html/group___biquad_cascade_d_f1.html Leider liefert mein Programm (IowaHills IIR) die Parameter in Direktform 2. Direkt übernehmen kann ich die errechneten Verstärkungsfaktoren sicherlich nicht, zumal die beiden Formen unterschiedlich viele für A und B haben. Aber wie rechne ich die Faktoren um oder geht das gar nicht? Viele Grüße, Danke Bernhard
Es ist meiner Kenntnis nach (und mit MATLAB kurz verifiziert) egal, ob ein IIR-Filter für Direktform I oder II ausgelegt wird, die Koeffizienten sind stets identisch, genauso die des daraus resultierenden SOS-Filters. Letztendlich handelts es sich bei der DF II ja nur um eine alternative Struktur, um Verzögerungsglieder zu sparen. Das Verhalten bleibt gleich.
Hallo Michael, danke für die Hlife. Gestern habe ich mal einen Filter getestet, natürlich (wie immer wenn mehrere Unbekannte im Spiel sind) hat es nicht funktioniert. Die Reihenfolge der Parameter bei der Initialisierung habe ich eingehalten: b10, b11, b12, a11, a12, b20, b21, b22, a21, a22, ... Leider kommt unabhängig vom Eingangssignal ein erstaunlich weißes Rauschen heraus... Hast du auch einfach die A und B übernommen (A0 ist immer 1)? Danke Bernhard
Poste mal die Parameter, hab gerade keine Lust zu arbeiten. Matlab lizenzen satt.
Mallo Michael, sorry, hatte den code nicht auf der Arbeit verfügbar. Das sind die Parameter für einen 350 Hz Hochpass bei 16 kHz Abtastrate. Format wie oben beschrieben, ich schiebe sie um 4 digit nach rechts und konvertiere dann ins 1q31 Format; der "post shift" des Filters wird entsprechend gesetzt. Viele Grüße Bernhard 0.769006743615837429, -1.532955291799885210, 0.769006743615837429, -1.499286785090970580, 0.571681993940589384, 0.885119583087940476, -1.765332612573540460, 0.885119583087940476, -1.746589602510248080, 0.788982176239173327, 0.946919106380585185, -1.890334841029155170, 0.946919106380585185, -1.878729849877659670, 0.905443203912665973, 0.974530611957186932, -1.947483293736083530, 0.974530611957186932, -1.938101919155153620, 0.958442598495303777, 0.989560471369030359, -1.978923338028869110, 0.989560471369030359, -1.969980644238615630, 0.988063636528314082
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.