Faltung im Zeitbereich vs Multiplikation im Frequenzbereich: Faktorfehler

Gast #4809848
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?
Gast
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
Gast
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.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.