Forum: Digitale Signalverarbeitung / DSP / Machine Learning Hilfe zu DFT - IDFT


von Arno K. (Gast)


Lesenswert?

Hallo,

hab ein Problem mit der DFT bzw. IDFT.
Das Signal x={1,0,-1,0,1,0,-1} soll mit einem Filter mit der 
Impulsantwort h={1 2 1 0 1} gefiltert werden. N ist 8. Nun weiss ich 
nicht wie die periodische Faltung für k=2 im Zeitbereich durchgeführt 
werden muss.Wenn ich hier die DFT von x(k) berechnen will, muss die 
Impulsantwort nicht mitverwendet werden oder?

von Unit (Gast)


Lesenswert?

Hm? N=8 und h={1 2 1 0 1}? Du solltest erstmal deine Kenntnisse 
erfrischen! :-)
Die Def. der Faltung ist:
y(n)= x(n)*h(n) = sum_i=0^(N-1) x(i) h(n-i)
wo
n    - diskrete Zeitvariable
N    - Ordnung des (FIR-)Filters
x(n) - Inputsignal
h(n) - Impulsantwort
y(n) - Ausgangssignal
ist.

Also z.B.:
N_x = 3 (index=0..2)
N_h = 2 (index=0..1)
=> N_y = N_x + N_h - 1 = 4

y(0) = x(0) h(0) + x(1) h(-1) + x(2) h(-2)
y(1) = x(0) h(1) + x(1) h(0)  + x(2) h(-1)
y(2) = x(0) h(2) + x(1) h(1)  + x(2) h(0)
y(3) = x(0) h(3) + x(1) h(2)  + x(2) h(1)

Das Problem bei der Realisierung ist, dass DSP's eine Modulo-Aritmetik 
haben, und meistens eine zyklische Faltung berechnen. Das heisst z.B., 
dass h(-2) nicht 0 ist, wie aufm Papier (wir nehmen natürlich an, dass 
die Werte von h(n) vor n=0 und nach n=N-1 gleich null sind), sondern 
modulo2(-2)=0. Also in dem Fall berechnet der DSP dieses Glied in der 
Faltung mit h(0) statt 0. Das verzerrt natürlich das Ergebnis (a), und 
verschwendet gleichzeitig die Rechnerzeit (b). Um das zu vermeiden 
sollte man nullen zu h hinzufügen (a), oder die MAC-Operation garnicht 
berechnen lassen (a+b).
Noch Fragen?

von Unit (Gast)


Lesenswert?

Noch was: willst du jetzt die Faltung im Frequenzbereich, oder im 
Zeitbereich durchführen?
Dein Eingangssignal ist so für periodische Faltung nicht geeignet, oder 
du hast vergessen, eine 0 am Ende hinzuschreiben.
Wenn du die periodische Faltung im Frequenzbereich berechnen möchtest, 
hast du wieder das Problem mit den Längen der {x-,h-}Vektoren. Um im 
Frequenzbereich die FFT von x und die FFT von h multiplizieren zu können 
müssen sie die selbe Länge haben, d.h. h muss auch aus 8 Samples 
bestehen. Lösung: wieder Nullen dahinterschreiben.
Das funktioniert aber nur mit periodischen Signalen!
Zur Berechnung der FFT von x brauchst du die Impulsantwort nicht.

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.