mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP Benötige Hilfe bei Bandpass-Umsetzung


Autor: Günter -.. (guenter)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

bei der Umsetzung eines Bandpasses möchte ich Euch mal um etwas Hilfe 
bitten.

Hier sind die Daten von dem Bandpass:

- fg_unten = 1.1 Hz
- fg_oben = 9.3 kHz
- 0.2dB Welligkeit im Durchlassbereich
- f_Abtast = 1MHz
- Übergangsbereich 12dB/Oktave
- Dämpfung im Sperrbereich soll mindestens 40dB sein

Das Filter soll später in Festkomma-Arithmetik in einem FPGA 
implementiert werden.

Mein erster Ansatz ist ein FIR-Filter dafür zu verwenden, aber mit der 
hohen Abtastfrequenz wird die Ordnung auch recht hoch.

Daraus folgernd ist mir der Gedanke gekommen den Filter aus einer 
Kombination Tiefpass, Hochpass zu realisieren. Den Tiefpass mit einem 
Dezimator kombinieren und die Abtastfrequenz so herunter zu setzen.

Ist das ein gangbarer Weg oder macht es dann vielleicht doch mehr Sinn 
einen IIR-Filter dafür zu benutzen?

Danke für Eure Hilfe,

Gruß,

Günter

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

Bewertung
0 lesenswert
nicht lesenswert
Für einen IIR-Filter mit einer Bandbreite von 1/100 f_s brauchst du eine 
extrem hohe Auflösung für die Koeffizienten (probier's aus). 
FIR-Tiefpass mit Dezimation (oder gleich CIC) ist eine bessere Lösung, 
ggf. auch mehrstufig.

Autor: Günter -.. (guenter)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was mir bei dem mehrstufigen Ansatz schwer fällt ist die Berechnung so 
zu machen, dass hinterher die gesamte Übertragungsfunktion stimmt.

Z.B. wenn ich einen Dezimierer mit CIC-Filter vorschalte, dann wird der 
Amplitudengang durch die sin(x)/x Übertragungsfunktion des CIC-Filters 
beeinflusst. Wie kann ich das in den folgenden Stufen wieder ausgleichen 
um meinen geforderte Welligkeit im Durchlassbereich zu erhalten?

Gibt es denn ein gutes Buch das den Filterentwurf mit mehreren Blöcken 
beschreibt?

Autor: 8421 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Aufgabenstellung ist kompletter Murks. Eine untere Bandbreite von 
1.1 Hz bedeutet, dass Daten, die soweit zurueckliegen von Einfluss sind. 
dh bei 1MSample sind das ca 900k Sample. Die muessen irgendwie in einem 
Fifo gespeichert werden. Zur Multiplikation kann man dann 900k 
koeffizienten nehmen... toll. Oder mit multirate arbeiten, dann wird's 
einfacher. Noch einfacher wird's wenn man nur mit 100k sampelt.

Autor: Günter -.. (guenter)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm, das wird mit 100kHz Abtastfrequenz auch nicht viel besser. Statt 
900k wird es dann 90k.

Für die obere Grenzfrequenz hab ich mal die Ordnung mit 100kHz 
Abtastfrequenz nach der in folgendem Link angegebenen Formel 
ausgerechnet:

Beitrag "Re: FIR-Filter, Bestimmung der Ordnung"

Das geht einigermaßen. Bin auf eine minimale Ordnung von 9 gekommen.

Um die 1,1Hz muss ich mich noch mal kümmern.

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.