Hilfe zu DFT - IDFT

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

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 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.