Forum: Digitale Signalverarbeitung / DSP / Machine Learning FFT Symmetrieunterschiede


von Herbert (Gast)


Lesenswert?

Hallo Leute!
Ich habe es jetzt endlich geschafft, eine halbwegs funktionierende FFT 
zu erstellen!
Das Problem ist aber jetzt, dass es ganz kleine Symmetriefehler gibt! 
Hier mal ein Beispiel (weißes Rauschen):
270, 76, 213, 145, 163, 42, 51, 98, 213, 86, 112, 50, 209, 206, 304, 
199, 167, 53, 71, 300, 115, 315, 406, 216, 115, 56, 293, 26, 110, 76, 
212, 29, 87, 111, 218, 285, 136, 59, 157, 10, 241, 170, 114, 186, 350, 
59, 271, 165, 66, 354, 93, 185, 97, 204, 92, 147, 86, 176, 235, 228, 42, 
140, 190, 183, 114, 169, 117, 97, 164, 71, 184, 97, 151, 215, 172, 148, 
127, 68, 224, 209, 224, 151, 89, 253, 200, 166, 261, 201, 188, 40, 240, 
79, 122, 82, 30, 56, 104, 134, 74, 146, 96, 117, 174, 190, 219, 137, 
367, 167, 120, 188, 191, 44, 119, 181, 247, 71, 13, 99, 70, 58, 140, 
198, 198, 82, 133, 170, 293, 82, 103, 179, 192, 156, 220, 177, 91, 139, 
122, 76, 38, 155, 41, 71, 74, 118, 119, 288, 246, 129, 163, 226, 254, 
45, 57, 82, 140, 254, 113, 207, 199, 131, 218, 194, 212, 55, 238, 372, 
347, 47, 139, 83, 174, 160, 92, 211, 125, 163, 179, 111, 196, 69, 375, 
193, 202, 98, 59, 67, 225, 228, 215, 199, 185, 103, 102, 218, 272, 41, 
71, 41, 67, 377, 119, 170, 213, 99, 128, 159, 289, 59, 203, 393, 143, 
138, 187, 176, 112, 186, 102, 243, 156, 195, 234, 173, 102, 119, 78, 78, 
102, 87, 6, 156, 37, 126, 36, 54, 64, 106, 33, 43, 41, 34, 6, 27, 19, 
19, 18, 52, 6, 29, 9, 54, 10, 34, 8, 38, 5, 36, 4, 36, 5, 39, 8, 34, 10, 
55, 9, 28, 6, 52, 17, 20, 17, 26, 5, 34, 40, 46, 33, 105, 62, 54, 36, 
126, 36, 157, 5, 86, 104, 78, 78, 117, 102, 172, 234, 193, 156, 242, 
100, 186, 109, 176, 187, 138, 142, 394, 203, 61, 289, 158, 126, 99, 214, 
169, 118, 377, 68, 42, 73, 43, 272, 217, 102, 103, 186, 200, 216, 229, 
224, 66, 61, 98, 203, 193, 373, 68, 197, 111, 181, 164, 125, 212, 92, 
160, 175, 83, 139, 46, 349, 371, 239, 56, 211, 194, 218, 132, 202, 208, 
112, 253, 140, 81, 57, 45, 252, 225, 162, 128, 245, 287, 119, 119, 76, 
69, 43, 154, 36, 76, 122, 139, 90, 177, 220, 154, 191, 179, 103, 82, 
293, 169, 133, 79, 200, 197, 141, 58, 71, 99, 14, 71, 246, 182, 119, 43, 
190, 188, 120, 166, 367, 137, 217, 191, 174, 114, 97, 145, 75, 134, 104, 
56, 32, 82, 123, 78, 240, 41, 189, 201, 261, 168, 200, 252, 88, 152, 
223, 210, 224, 66, 126, 147, 171, 216, 150, 95, 186, 72, 164, 98, 117, 
169, 114, 183, 190, 143, 42, 227, 238, 177, 85, 146, 93, 205, 99, 182, 
93, 355, 65, 166, 271, 58, 351, 186, 113, 168, 242, 12, 159, 58, 134, 
283, 218, 108, 86, 31, 213, 76, 109, 28, 292, 55, 117, 213, 407, 318, 
111, 297, 70, 50, 166, 201, 307, 203, 206, 54, 111, 85, 209, 102, 47, 
36, 168, 144, 215, 71

76 - 71        -6.5%
213 - 215   +1%
145 - 144   -0.7%
163 - 168   +3%
Das wären die Unterschiede der ersten 4 Werte (Gleichanteil nicht dabei)
Was kann es da haben?

Die FFT schaut bei mir wie folgt aus:
1
// Twiddle-Sequenz initialisieren
2
twidfft_fr16(twiddle,TWIDDLE_SIZE);
3
rfft_fr16(in, temp, out, twiddle, 1, VEC_SIZE, 0, 0);

Bitte um rasche Hilfe :D

Mfg Herbert

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.