Digitales FIR Bandsperr- (Notch-, Kerb-) Filter

Gast #204437
Hallo Forum,

Ich sollte mit einem DSP verschiedene FIR-Filter realisieren.
Die Tiefpässe funktionieren auch. Jetzt wollte ich noch einen
Bandsperrfilter für 50Hz realisieren. Dieser zeigt jedoch die
Eigenschaft eines Tiefpasses!???
Ich hab mir die Filterkoeffizienten mit Tool berechnen lassen.
Hat jemand eine Idee woran das liegen kann??
Oder hat jemand einen Quellcode für ein Bandsperrfilter für mich?
Angehängte Dateien:
Gast #204438
Vielleicht sollten wir mal unsere Koeeffizienten vergleichen?
Wieviele 'Taps' verwendest Du und wie hoch ist deine Samplefrequenz?
Welches Tool verwendest Du?
Mit ScopeFIR von www.iowegian.com komme ich gut zurecht, die
errechneten Koeefs. entsprechen (nahezu) der Realität. Nur die
Samplefrequenz muss dann aber auch genau stimmen...
Soll ich die Koeefizienten aus dem Screenshot mal gesondert
abspeichern?

AxelR.
Angehängte Dateien:
Gast #204440
Ich verwende den Filter Designer von MATLAB. Der soll anscheinend ganz
gut sein !?
Meine Samplefrequenz beträgt 880Hz (ist leider durch externen
A/D-Wandler vorgegeben !)
Meine Tiefpässe funktionieren auch einwandfrei, nur die Bandsperre
nicht.
Wie schaut eigentlich Dein C-Code aus, wo Du den Filter im Controller
berrechnest(ist der ähnlich dem meinen) ?

Jürgen
Gast #204442
schon ok, gehört auch dazu gg

vielleicht kannst Du mir mal Deinen FIR-Algorithmus schicken, bei mir
will das einfach nicht funktionieren - Klump

PS. ich rechne das ganze in integer !
Gast #204443
der klassische fehler bei integer berechnungen ist die interne
typumwandlung. insbesondere bei integer divisionen wird je nach
compiler der integer erst in ein float umgewandelt und anschließend
wieder zurückumgewandelt, dabei entstehen massive rundungsfehler. mit
debugger überprüfen !!!
Gast #204445
mag sein das eure ide's das nicht tun, ms visual tut es (allerdings nur
unter bestimmten umständen)! das liegt vor allem daran, dass die integer
division nicht eindeutig definiert ist, die float division aber schon.
das ganze nennt sich implizite typumwandlung. gegenmaßnahme ist ein
expliciter cast. kann aber sein, das eine dsp-entwicklungsumgebung das
nicht macht.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 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.