www.mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP Digitales FIR Bandsperr- (Notch-, Kerb-) Filter


Autor: Jürgen (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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?

Autor: AxelR. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: AxelR. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Wer viel fragt...
sind übrigens keine 31Taps (hatte schon auf'optimize'gedrückt),
sondern 285 Samples. Bei nur 31 siehts auch noch gut aus, aber die
Welligkeit im Durchlassbereich nimmt stark zu.
Axel

Autor: Jürgen (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: AxelR. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
war feiern...
morgen mehr
AxelR.

Autor: Jürgen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 !

Autor: a. mittelfinger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 !!!

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Compiler der bei reinen Integerberechnungen eigenmächtig nach Float
wandelt? Das wäre doch sehr verwunderlich (und bestimmt nicht
standardgemäß).

Autor: a. mittelfinger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.