Forum: FPGA, VHDL & Co. Ergebnisabweichung iFFT zwischen Xilinx Core und Matlab


von Philip K. (plip)


Lesenswert?

Servus,

ich führe in Modelsim eine iFFT mit einem Core von Xilinx durch. Breite 
32, Auflösung 16 Bit. Zum Vergleich verarbeite ich das gleiche Signal 
mit einer Matlab iFFT. Die Eingangswerte sind bis auf einen 
Skalierungsfaktor identisch. Am Ausgang aber ergibt sich zwar ein 
Signal, das qualitativ durchaus ähnlich aussieht, aber doch deutlich 
unterschiedlich ist.
Es wird im Core keine Skalierung vorgenommen und es kommt zu keinem 
Overflow.
Um den Quantisierungsfehler möglichst gering zu halten, hab ich das 
Eingangssignal so skaliert, dass der maximale Signalwert gerade dem 
größtmöglichen  16bit Wert entspricht.
Trotzdem ist das Einzige, was ich mir vorstellen kann, dass die Fehler 
der Fixedpointwerte sich in der FFT aufsummieren, ich also um den Fehler 
gar nicht herum komme.
Wer weiß mehr darüber?

Gruß Philip

von A. F. (chefdesigner)


Lesenswert?

Das scheint es zu sein. Versuche mal die Rundungen in Matlab 
nachzubilden. Ich benutze für sowas immer ein stufenförmiges Diagramm, 
das jeden step einzeln realisiert.

Dann weis man , was man hat.

von Philip K. (plip)


Lesenswert?

Meinst Du ich soll die FFT-Stufen in Matlab einzeln berechnen und 
zwischendurch runden?

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.