Hallo zusammen, man nehme ein Signal mit den folgenden 4 Werten: 1 ; 0 ; 0 ; 0 Das komplexe Spektrum dieses Signals sieht so aus: 1/4 ; 1/4 ; 1/4 ; 1/4 Wenn ich dieses Signal in der Zeitebene mit sich selbst falte, kommt folgendes raus: 1 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 Das komplexe Spektrum des Ergebnis sieht so aus: 1/7 ; 1/7 ; 1/7 ; 1/7 ; 1/7 ; 1/7 ; 1/7 So weit, so gut. Was ich jetzt nicht verstehe: Es heißt, die Faltung im Zeitbereich entspricht der Multiplikation im Frequenzbereich. Wenn ich aber die beiden Spektren multipliziere (also die korrespondierenden Werte der beiden Spektren multipliziere), kommt folgendes Spektrum raus: 1/16 ; 1/16 ; 1/16 ; 1/16 Das Signal im Zeitbereich sieht dann aus: 1/4 ; 0 ; 0 ;0 Es ist also um den Faktor 4 (Anzahl der Samples) zu klein. Wo kommt dieser Faktor her?
Hab gerade Octave offen. Und dieses Tool sagt was anderes:
1 | >> % Zeitbereich |
2 | >> S = [ 1 0 0 0]; |
3 | >> C = conv(S,S) % Faltung |
4 | C = |
5 | |
6 | 1 0 0 0 0 0 0 |
7 | |
8 | >> % Frequenzbereich |
9 | >> F = fft(S) |
10 | F = |
11 | |
12 | 1 1 1 1 |
13 | |
14 | >> D = F .* F % Multiplikation |
15 | D = |
16 | |
17 | 1 1 1 1 |
18 | |
19 | >> Y = ifft(D) |
20 | Y = |
21 | |
22 | 1 0 0 0 |
Wie ich auf 1/4 komme:
1 | x[i] = c0 * cos(2*PI*f0*i/N) + s0 * sin(2*PI*f0*i/N) |
2 | + c1 * cos(2*PI*f1*i/N) + s1 * sin(2*PI*f1*i/N) |
3 | + c2 * cos(2*PI*f2*i/N) + s2 * sin(2*PI*f2*i/N) |
4 | + c3 * cos(2*PI*f3*i/N) + s3 * sin(2*PI*f3*i/N) |
5 | |
6 | |
7 | x[0] = c0 * cos(2*PI*f0*0/N) + s0 * sin(2*PI*f0*0/N) |
8 | + c1 * cos(2*PI*f1*0/N) + s1 * sin(2*PI*f1*0/N) |
9 | + c2 * cos(2*PI*f2*0/N) + s2 * sin(2*PI*f2*0/N) |
10 | + c3 * cos(2*PI*f3*0/N) + s3 * sin(2*PI*f3*0/N) |
11 | |
12 | = 1/4 * 1 + 0 |
13 | + 1/4 * 1 + 0 |
14 | + 1/4 * 1 + 0 |
15 | + 1/4 * 1 + 0 |
16 | |
17 | = 1 |
Wenn ich für die c0 bis c1 jeweils 1 einsetze, komme ich auf x[0] = 4
Ich verstehe deine Rechnung nicht. Die diskrete Fouriertransformation lautet
x_n sei dabei der n-te Wert deines Eingangssignales (also x = [x0,x1,x2,x3]). Du möchtest X_0:
Hallo, bei den Vorfaktoren der Transformation treibt jeder Teilbereich was er gerade für besonders praktisch hält (Mathematik, Physik, E-Technik, Informatik). Die meisten Softwarepakete haben dafür sogar extra Modi, die gewählt werden können, wobei der default Modi nicht einheitlich ist, sondern von der "Hauptnutzergruppe" der Software abhängt. Die Zahlen passen da nur bei der mathematisch sauberen Transformation zusammen (die aber keiner außerhalb der Mathematik so verwendet, da sie oft nur Rechenleistung kostet und bei der Rücktransformation eh wieder verschwindet). Das "Geschlampe" an der Stelle wird gerne durch Normierung "weggemogelt". Gruß Kai
Dass bei der Normierung rumgeschlampt wird gebe ich dir gerne recht :) Aber das oben ist kein Fehler der Normierung (durch N oder durch sqrt(N) etc), sondern die Koeffizienten in den Summen sind schlicht falsch. Das wird spätestens bei X_1 klar, das 0 ist und nach Rechnung des OP 1/4. Das kann nicht durch einen Normierungsfehler (oder sagen wir durch eine andere Konvention) passieren.
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.