Gast
#2189321
Hallo Miteinander, Wie der Name des Themas schon sagt bräuchte ich hilfe für die Realisierung einer FFT in Quartus II, natürlich unter Verwendung der MegaCoreFunction. Der verwendete FPGA ist ein Cyclone III. Aber erstmal was will ich überhaupt machen. Ich habe eine Schaltung programmiert welche ein analoges Signal abtastet und dann eine bestimme Menge der abgetasten Werte in ein ebenfalls in VHDL erstellten RAM einspeichert. So die die A/D Wandlung das abspeichern der Werte in den RAM und das ausgeben der werte aus dem RAM funktioniert. Das Ganze soll nun um eine FFT erweitert werden welche dann mit den abgespeicherten Werten des RAM gefüttert wird und mir anschließend den Frequenzbereich des eingelesenen Singal wiedergeben soll. Mit dem Userguide von Alterra habe ich mich auch schon aussernandergesetzt nur werde ich leider nicht ganz schlau draus. Erstmal die Parametrierung der FFT: Die Breite meine Datenwortes ist 16Bit. Und mein RAM ist auf 16384 Datenwörter(Addressen)begrenzt , ansonsten gibt mir Quartus eine Fehlermeldung dass der Speicher nicht auf den FPGA passt. So Data Precision und Twiddle Precision auf 16Bit ist an sich klar. So nun zur Transform Lenght. Die FFT fasst ja an sich immer 2 Werte zusammen, heisst es also dass ich die Länge nur auf 8K stellen soll oder muss es weiterhin 16K bleiben. Für die Architektur würde ich an sich alles auf Standart lassen und mit dem Normalen Streaming arbeiten. I/O Belegung Nachdem ich die FFT testweise mal erstellt habe wurde ich von der Anzahl der ein und Ausgänge erstmal halb erschlagen. Durch den User Guide von Alterra weiss ich nun ca. für was man den jeweiligen Ein - bzw. Ausgang braucht. Meine frage dazu ist muss ich da jetzt noch Zusätzlich eine seperate Ansteuerung der FFT (zB. ein Automat) dazuprogrammieren ? Müssen alle Eingänge überhaupt belegt sein ? Und ob es an sich auch reichen würde wenn ich mit statischen signalen arbeiten würde ? Oder ein Mix zwischen statischen Signalen und verschiedenen Zuständen? So und vorerst mal zu meiner letzten Frage. Im Prinzip verwende ich ja nur reale Werte, in einem anderen Thread habe ich gelesen, dass man auch nicht wirklich imaginäre Werte braucht. Weiss da also jemand bescheid ob ich den Eingang für imaginäre Werte einfach offen lassen kann, oder muss da eine Null draufgeben oder was anderes, weil bei offenen Eingängen bringt Quartus gerne Fehlermeldungen beim kompilieren. Und inwiefern würde das fehlen des imaginären Eingangs die Ausgabe der realen Werte beeinträchtigen, im Blockbild der FFT sind die Ausgänge von realen und imaginären Werten auch getrennt. Ich hoffe man kann mir etwas weiterhelfen weil ich häng da jetzt seit ein paar Tagen dran und würde gern weiterkommen. Vielen Dank schon mal im voraus! MfG Kostas A.