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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.