Hallo! Versuche gerade eine FFT mit dem Blackfin 533 von Analog Devices. Hier die Funktion: void rfft_fr16 ( const fract16 input[], complex_fract16 temp[], complex_fract16 output[], complex_fract16 twiddle_table[], int twiddle_stride, int fft_size, int block_exponent, int scale_method ); Das klappt auch soweit. Nach der Ausführung möchte ich das Spektrum plotten, dass sich in output befindet. Muss ich die Werte in diesem Feld vorher konvertieren von complex_fract16 nach short, oder was muss ich da machen? Danke für eure Hilfe!!!!
Kommt drauf an was du plotten willst - Betrag, Phase, Realteil, Imaginärteil... wie man die aus complex_fract16 bekommt steht in der Dokumentation der Bibliothek.
Erstmal danke für die schnelle Antwort Andreas. Ich hatte gehofft eine Darstellung wie auf einem Spektrumanalysator zu erhalten, wenn ich das Feld output plotte. Brauche ich dafür nicht den Realteil und den Imaginärteil der komplexen Zahl?
Der Betrag dürfte das sein was du suchst, um den zu berechnen gibt es die Funktion cabs_fr16:
1 | fract16 output_abs[fft_size]; |
2 | |
3 | ...
|
4 | output_abs[i] = cabs_fr16(output[i]); |
5 | ...
|
Super und vielen Dank. Werde es gleich ausprobieren. Falls ich etwas für Dich tun kann würde ich mich freuen. Ahmet
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.