FFT convolution shifts resulting waveform
10 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I have a problem regarding a FFT convolution. I convolve a time signal (swept sine) with a frequency response curve (magnitude and phase) in the frequency domain. The frequency response curve is in fact the frequency response of a sensor that I (later) need to inverse to correct the measured waveform (the swept sine). Let’s forget the inversion for now. I do the following:
1. ensure that the frequency response (symmetric, with the first bin/DC equal to zero) has the same number of frequency bins (real and imaginary) then the measured swept sine 2. calculate the DFT (FFT) of the swept sine 3. perform an element-wise multiplication of both FRF's 4. calculate the inverse DFT (IFFT) of the multiplied FRF's to end up with the corrected time wave.
The problem is that the resulting wave has a slope. The slope has a 'frequency' much lower than there could be present in either frequency bins. The DC bins are also zero. And the resulting wave(red) has an initial offset and transient.
Can someone explain this phenomenon? And hopefully give me a hint to correct this?
0 Kommentare
Antworten (2)
Dr. Seis
am 21 Feb. 2012
Yes... that can happen. If your frequency response is boosting low frequencies, then "strange" things like that can happen. Using the "detrend" function can help. Typically this happens to me when I am deconvolving the instrument response from a recorded seismogram... then I will usually try to remove these linear trends and/or DC offsets before I filter to a desired frequency band.
0 Kommentare
Maarten
am 21 Feb. 2012
1 Kommentar
Dr. Seis
am 21 Feb. 2012
It doesn't make sense to me how a trend like that could be formed without boosting the low frequencies. Can you provide the frequency domain representation of the response function you are using for convolution?
As far as removing the response, I will have to check out my code when I get home. I had a list of poles, zeros, and gain that I used to form the response function in the frequency domain. I removed this response from the recorded data via deconvolution, which in the frequency domain is simply element-by-element division.
Siehe auch
Kategorien
Mehr zu Continuous Waveforms finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!