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

Gast #204437
Lesenswert?

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
Lesenswert?

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
Lesenswert?

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 #204443
Lesenswert?

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
Lesenswert?

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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren