FFT convolution shifts resulting waveform
10 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(2 个)
Dr. Seis
2012-2-21
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 个评论
Maarten
2012-2-21
1 个评论
Dr. Seis
2012-2-21
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.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Continuous Waveforms 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!