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