Forum: FPGA, VHDL & Co. 57 KHz Filter in VHDL realisieren


von Chris (Gast)


Lesenswert?

Hallo,

vielleicht kann mir jemand weiterhelfen, wie kann man mit geringem 
Aufwand ein digitales 15 KHz Filter in VHDL realisieren ?
Ich weis das es ich bei einem digitalen Filter um ein Schieberegister 
handelt in diesem jedes Bit mit durch eine gewichtete Multiplikation mit 
anschließender Addition modifiziert wird. So, die erste Frage ist, 
welchen Filter wähle ich FIR oder IIR ? Wie kann ich die Koeffizienten 
ermitteln?
Meine zu demodulierenden Daten bekomme ich aus einem ADC. Was mir auch 
noch nicht ganz klar ist, ist wo die Frequenzinformation drin steckt?
Vielleicht kennt sich jemand gut mit der Filtermodellierung in VHDL aus 
und kann mir helfen.

Vielen Dank im Voraus.

von Matthias G. (mgottke)


Lesenswert?

> Was mir auch
> noch nicht ganz klar ist, ist wo die Frequenzinformation drin steckt?

Die Frequenzinformation steckt in den Daten im Zusammenhang mit der 
Samplingrate.

von Max (Gast)


Lesenswert?

am einfachsten bekommst du die filter-coeffizienten zum beispiel mit 
matlab und dem fda-tool.

willst du es auf jeden fall von hand in vhdl schreiben? ansonsten kann 
ich dir bei verwendung eines xilinx fpgas auf jeden fall den 
coregenerator empfehlen. da gibt es einen entsprechenden core. dieser 
kann direkt mit dem matlab-coeffizienten-file gefüttert werden.

such dir mal geeignete literatur zu fir und iir filtern. generell: fir 
filter sind immer stabil, haben aber deutlich mehr coeffizienten für ein 
ähnliches ergebnis als iir filter, die dafür instabil sein können!

von Chris (Gast)


Lesenswert?

Hallo,
danke für die Antworten. Mit matlab hab ich keine Erfahrung. Ich benutze 
ein EP3C Board mit Cyclone III FPGA. Na ja wenn ich es von Hand schreibe 
dann lerne ich bestimmt mehr dabei, aber da es schnell gehen sollte 
würde ich auch auf nen passenden IP Core zurückgreifen.
Grüße

von Georg (Gast)


Lesenswert?

Altera hat doch im Megawizzard solche Filter drin. Vermutlich hast Du 
keine lizensierte Version?

Das einfachste Filter, das kontinuierlich full pipelined arbeitet, ist 
ein Speicher mit Mittelwertbildung, der die Länge von 1/f in samples 
hat.

von BorisM (Gast)


Lesenswert?

-FIR-
Eine sehr gute Beschreibung und Herleitung zum FIR-Filter in VHDL 
findest du sehr ausführlich in folgendem Buch beschrieben:
VHDL-Synthese Entwurf digitaler Schaltungen und Systeme (Kaptiel 9), J. 
Reichardt / B. Schwarz ISBN: 978-3-486-58987-0
Das Buch findest du in jeder Uni-Bib oder bei Amazon...
Das soll jetzt keine Werbung sein, aber mit dem Buch habe ich auch 
meinen ersten FIR-Filter umgesetzt. Hat ganz gut geklappt!

von Chris (Gast)


Lesenswert?

Hallo,

vielen Dank für eure Antworten. Werd mir das Buch aus der Bib holen und 
die Sache selbst realisieren, soll ja auch was hängenbleiben.
Vielen Dank nochmals.

von Unbekannter (Gast)


Lesenswert?

Hat da jemand weitere Litaraturtipps oder ein VHDL Beispiel?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Unbekannter schrieb:
> Hat da jemand weitere Litaraturtipps oder ein VHDL Beispiel?
Noch einen alten Thread gefunden?
Machs doch einfach so: mach einen neuen Thread auf und stellen dein(e) 
Frage(n) dort.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.