www.mikrocontroller.net

Forum: FPGA, VHDL & Co. FFT


FFT
Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich wollte mal eine FFT ausprobieren. Hierzu möchte ich die FFT benutzen 
die ich mit dem Coregenerator erzeugen kann. Ich habe auf meinem 
FPGA-Board einen AD-Wandler. Mit Hilfe des AD-Wandlers digitalisiere ich 
mein analoges Testsignal. anschließen gebe ich das digitalisierte Signal 
auf das FFT-Modul. Das Ergebnis möchte ich dann per RS232 auf den PC 
übertragen.

Nun zu meiner Frage:

Das FFT- Modul hat einen Eingang für relle und für imaginäre Zahlen. Wie 
schaffe ich es aus meinen digitalisieren Daten den Imaginärteil zu 
errechnen?

Grüsse Sebastian

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

Bewertung
0 lesenswert
nicht lesenswert
Hi Sebastian, unter dem Begriff Quadratursignalverarbeitung wirst du 
einiges finden. Falls Du dann von einem Hilbert Transformator hörst, 
lass Dich nicht verwirren, denn hierbei handet es sich um ein nicht 
kausales System. Da es sich bei Dir nicht um eine reine 
Computersimulation handelt solltest du vielleicht ein Quadratunetzwerk 
realisieren. Ich bin mir nicht ganz sicher, ob du ein reelles Signal zu 
einem analytischen (komplexen) machen willst aber das geht damit. 
Vielleicht hilft Dir vor allem das dick umrandete in der PDF-Datei ein 
bischen weiter für da was Du brauchst.

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

Bewertung
0 lesenswert
nicht lesenswert
Ne, so kompliziert ist es nicht. Du brauchst keinen Imaginärteil, setz 
den einfach auf 0. Wenn du ein rein reelles Signal reingibst hat das 
Ergebnis der FFT gewisse Redundanzen (Realteil gerade symmetrisch, 
Imaginärteil ungerade symmetrisch), d.h. die Berechnung hat unnötige 
Arbeit gemacht, aber das Ergebnis ist korrekt. Wenn man nur reelle 
Signale hat und die FFT besser ausnutzen will, dann kann man mit ein 
paar Tricks zwei reelle FFTs mit einer komplexen FFT berechnen; wie das 
geht sollte in jedem DSP-Buch stehen (z.B. http://www.dspguide.com).

Gruß
Andreas

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe ich es richtig vestanden, das ich den Imaginärteil NULL setzen muss 
und das Ergebnis dadurch nicht verfälscht wird?

Grüsse

Sebastian

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

Bewertung
0 lesenswert
nicht lesenswert
Ja.

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.