Forum: Digitale Signalverarbeitung / DSP / Machine Learning DFT korrekt normieren


von dbdb (Gast)


Lesenswert?

Hey Leute.

Ich bin irritiert, was die Normierung bei der DFT/FFT in matlab angeht. 
Bisher normiere ich auf N, wobei N die Länge des fft Vektors ist. Wenn 
aber nun Effekte wie Leakage-Effect oder Zero Padding dazukommen, so 
ergibt die DFT auf N normiert natürlich nicht mehr das korrekte Ergebnis 
(verglichen mit der Amplitude der reingesteckten Funktion).

Gibt es also eine Möglichkeit, die korrekten Amplituden zu erhalten?

Danke und viele Grüße,
dbdb

von Frager (Gast)


Lesenswert?

Muss dann nicht einfach auf N-1 normiert werden? (mit n = Zahl der 
gepaddeten Werte)

von dbdb (Gast)


Lesenswert?

N-n meinste?

Ja, das würde hinkommen und würde in einem konkreten Fall auch weiter 
helfen. Falls aber nicht bekannt ist, ob mit Nullen aufgefüllt wird oder 
nicht gehts halt nicht. Deswegen frag' ich ja, geht das bei unbekannten 
Signalen (wo es also egal ist, ob das Signal noch gefüllt wird oder 
nicht) überhaupt?

Und: Kann mir jemand (mathematisch) erklären, wieso ich die DFT 
überhaupt normieren muss, damit sie die selbe Form hat, wie die 
kontinuierliche FT?

von Max G. (l0wside) Benutzerseite


Lesenswert?

dbdb schrieb:

> Und: Kann mir jemand (mathematisch) erklären, wieso ich die DFT
> überhaupt normieren muss, damit sie die selbe Form hat, wie die
> kontinuierliche FT?

Lässt sich am Ausgangswert 0 (Gleichanteil) relativ einfach zeigen: du 
summierst hier über alle Werte auf (e^j0 ist ja einfach 1). Um den 
mittleren Gleichanteil zu berechnen, musst du eben auf N normieren.

Für die weiteren Frequenzanteile gilt das Gleiche.

Max

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.