mikrocontroller.net

Forum: FPGA, VHDL & Co. Wie setze ich ein FIR-Filter aus MATLAB um ?


Autor: Hans-Werner (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Habe mal ein Filter mit dem FDATool von MATLAB entworfen.
Verstehe jedoch nicht die Umsetzung in VHDL.
Wo benötige ich welche Bitbreite und welchen Datentype ?
Habe ausserdem ein Warning das Input zugewiesen aber nicht benutzt wird.
Wie kann ich die Wav-Datei die ich unter Simulink verwende auch in der 
Simulation mit Xilinx ISE verwenden ?

Danke

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Recht einfach gehts mit dem FIR-Compiler IP-Core aus dem Core Generator. 
Das Datenblatt dazu ist auch sehr ausführlich.

Autor: Hans-Werner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Den gibt es, denke ich, nur bei der Vollversion.
Entfällt also.

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

Bewertung
0 lesenswert
nicht lesenswert

Autor: Hans-Werner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe das Programm ausprobiert.
Ich erhalte 41 Warnings. Darunter viele Meldungen der Form "Signal is 
assigned but never used" und ein einzelnes Latch. Weitere 
Fehlermeldungen ergeben sich aus der Verwendung des Latches. Mit 21 
Koeffizienten mit je 8 Bit ergibt sich für einen Spartan 3E folgendes.

Selected Device : 3s100etq144-5

 Number of Slices:                      576  out of    960    60%
 Number of Slice Flip Flops:            975  out of   1920    50%
 Number of 4 input LUTs:                973  out of   1920    50%
 Number of IOs:                          43
 Number of bonded IOBs:                  43  out of    108    39%
 Number of GCLKs:                         1  out of     24     4%

Hat jemand schon Erfahrungen welche FIR-Filtergrösse sich auf welchem 
FPGA realisieren lässt ? So Pi mal Daumen würde ich sagen das vielleicht 
noch ein Filter 30 Ordnung mit 8 Bit Koeffzienten auf den Spartan 3E 
passt.
Trifft es zu das ich für einen IIR-Filter eine wesentlich grössere 
Bitbreite der Koeffizienten, bei gleicher Filterordnung, benötige ? 
(Durch die Rückkopplung des IIRs bedingt ist wahrscheinlich eine 
grössere Auflösung bzw. Rechengenauigkeit erforderlich). Ich habe den 
FIR-Filter 20 Ordnung (Least Squares) auch als IIR-Filter 20 Ordnung 
(Chebyshev Type II) mit dem FDATool "realisiert". Der Passbandbereich 
wird hier zwar sehr viel besser angenähert, bei der Umsetzung in Fixed 
Pont sind jedoch 20 Bit erforderlich.
Der FIR-Filter ist doch im Core Generator der freien Version enthalten. 
Natürlich erhält man dann kein VHDL-File. Werde mir erst mal die 
Beschreibung von Xilinx durchlesen, da ich einige Einstellungen noch 
nicht verstehe.

Autor: Thomas Reinemann (Firma: abaxor engineering) (abaxor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hans-Werner wrote:
> Den gibt es, denke ich, nur bei der Vollversion.
> Entfällt also.

Also im 10.1 Webpack ist ein coregen mit dabei.

In Matlab gibt es eine Funktion coewrite (welche Tollbox?) die erzeugt 
dir eine coe-File. Das musst du nur noch mit dem Coregen einlesen, der 
Rest passiert von allein. Dann ist nur noch der Core richtig 
anzusteuern.


Tom

Autor: mcten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe mit dem FDATool meine Filterdesigned und mir dort die 
Filterkoeffizienten in ein Xilinx Coefficient File (*.coe) vom FDATool 
schreiben lassen. Den Filter selbst habe ich dann per "Hand" in VHDL 
umgesetzt.

Die Größe der Filter hängt auch von der Implementierung ab (Normalform, 
transponierte Form, Polyphasen Filter, ...).

Gute Literatur zur FIR-Filter Implementierung
- Meyer-Baese: Digital Signal Processing with Field Programmable Gate 
Arrays
- Reichardt/Schwarz: VHDL-Synthese, 4. Auflage.

McTen

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.