Quantisierung von Filter

Gast #3483109
Hallo,
ich habe in Matlab ein IIR Filter entworfen. Genauer gesagt, ist es eine 
Kombination aus IIR und FIR, also es gibt einen Feedforward und einen 
Feedback Teil.

Jetzt habe ich hier also meine Filterkoeffizienten. Das sind a1 bis a4 
und b1 bis b4. Alles Floating point Zahlen, kleiner als 1. Wie kann ich 
nun mein Filter in eine gescheite digitale Form überführen, sodass ich 
es auf einem Mikrocontroller ohne Float Unit implementieren kann? Ich 
dachte an 16 Bit int Berechnung. Muss ich einfach alle Koeffizienten mit 
2^16 Multiplizieren?
Gast
Linda schrieb:
> Muss ich einfach alle Koeffizienten mit 2^16 Multiplizieren?
Das kommt drauf an, womit du die Koeffiziente in deiner Rechnung 
multiplizierst. Der int16-Bereich darf in der ganzen Rechnung nicht 
verlassen werden. Je nach Stabilität, i.e. Empfindlichkeit für 
Abweichungen in den Koeffizienten durch Quantisierungsfehler, kann int16 
arg knapp werden.
Gast
Hallo,
also ich könnte intern im Filter ja auch alles mit Int32 oder 
meinetwegen mit Int64 rechnen. Einfach der Eingang und Ausgang muss 
int16 sein, weil mein ADC und DAC so viele Bits haben.

Mit In32 könnte es gehen? Wie rechne ich denn nun die Koeffizienten um?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 12 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.