www.mikrocontroller.net

Forum: FPGA, VHDL & Co. FIR Filter rauscht


Autor: Max (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich bin in der FH gerade dabei einen FIR Filter mit dem Spartan 3 Board
und dem Digilent AD/DA Wandler Board zu entwickeln. Das ganze soll
Audiosignale (wenn auch nur in 8 Bit Auflösung) filtern. Der Filter an
sich funktioniert auch nicht schlecht nur habe ich mit dem Filter eine
Art rauschen im Signal (hört sich an als würde er durch die Dämpfung in
den Anschlag gehen, was er aber nicht tut). Das durchgeschleifte Signal,
also mit abgeschaltetem FIR Filter klingt super. Ich bin leider mit
meinem Latein am Ende und hoffe hier ein paar Anstöße zu finden,
speziell ob ich einen Denkfehler in meiner FIR Filter VHDL habe.

Ich hoffe mir kann einer helfen.

Grüßle

Max

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

Bewertung
0 lesenswert
nicht lesenswert
Es ist wenig sinnvoll ein digitales Problem durch Beobachtung der
Analogsignale vor/nach den AD/DA-Wandlern zu suchen. Versuch doch erst
mal durch Simulation rauszufinden WAS an dem Ausgangssignal nicht
stimmt. Gibt es Übersteuerungen? Quantisierungsfehler? Kommt die
erwartete Impuls-, Sprungantwort raus? Usw.

Autor: Alexander Lindert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich studiere auch in einer FH und wir lernen mit dem Problem umzugehen
Du hast ein numerische Problemstellung.
Lösung 1. Umformung auf eine kannonische Normalform, dann umformen in
eine Kaskadenstruktur. Das reduziert dein Quantisierungsrauschen
beträchtlich!!!

Alexander

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

Bewertung
0 lesenswert
nicht lesenswert
Das ist ein _F_IR-Filter, da gibt's keine Kaskadenstruktur.

Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Andreas,

danke für dich schnelle reaktion. Also die Sprungantwort gibt wie
erwartet die Koeffizienten aus. Ich vermute das die Störung etwas mit
dem Nullpunktsabgleich zu tun hat. Ich habe aber leider keine Idee wie
ich es sonst tun könnte (wie im Programm zu sehen).

Habe ich in meinem Programm einfach einen Denkfehler was die
Berechnungen und die Quantisierungen angeht?

Max

Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich habe jetzt einen (den) Fehler gefunden :-) ich habe die
berechneten Werte gleich wieder gerundet und nicht mit den 16 Bit
Werten der Multiplikation bis zum Ende gerechnet. Das Ergebnis ist
jetzt um einiges überzeugender. Ein gewisses Hintergrundrauschen habe
ich zwar immernoch aber das deute ich jetzt mal als
Quantisierungsrauschen.

Max

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]
  • [vhdl]VHDL-Code[/vhdl]
  • [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.