13.05.2009, 13:08
Servus.
Ich verstehe nicht ganz, wie die FFT-Funktion/ IFFT arbeitet.
Ich möchte ein Audiosignal transormieren, das Spektrum im Sonagramm anzeigen, IFFT und das Signal anschließend wieder als Audiosignal speichern.
Soweit funktioniert auch alles.
Nur - wenn ich das auf das Array nach der FFT sofort mit IFFT zurücktransformiere müsste das "neue" Signal nicht wie ein konstantes Gemisch aus verschiedenen Frequenzen klingen?
Es klingt aber wie das originale Signal.
Eigentlich zerlege ich das Signal in Blöcke und wende auf jeden Block die FFT /iFFT an. Die dabei ermittelten Frequenzen müssten sich dabei je nach Blocklänge etwas ändern. Der kleinste Block besteht aus 128 Samplen. Die fs ist 22,05kHz --> delta f = ca 170Hz.
Unabhängig von der Blocklänge enhält das Audiodatenarray nach der rücktransformierung exakt die gleichen Werte wie das Originalsignal.
Das dürfte so nicht sein - oder doch?
Danke für die Hilfe
Ich verstehe nicht ganz, wie die FFT-Funktion/ IFFT arbeitet.
Ich möchte ein Audiosignal transormieren, das Spektrum im Sonagramm anzeigen, IFFT und das Signal anschließend wieder als Audiosignal speichern.
Soweit funktioniert auch alles.
Nur - wenn ich das auf das Array nach der FFT sofort mit IFFT zurücktransformiere müsste das "neue" Signal nicht wie ein konstantes Gemisch aus verschiedenen Frequenzen klingen?
Es klingt aber wie das originale Signal.
Eigentlich zerlege ich das Signal in Blöcke und wende auf jeden Block die FFT /iFFT an. Die dabei ermittelten Frequenzen müssten sich dabei je nach Blocklänge etwas ändern. Der kleinste Block besteht aus 128 Samplen. Die fs ist 22,05kHz --> delta f = ca 170Hz.
Unabhängig von der Blocklänge enhält das Audiodatenarray nach der rücktransformierung exakt die gleichen Werte wie das Originalsignal.
Das dürfte so nicht sein - oder doch?
Danke für die Hilfe