Using ifft() to deconvolve signal and frequency response
조회 수: 2 (최근 30일)
이전 댓글 표시
I have a measured time varying signal which is known to have a variable frequency response (I have freq vs. sensitivity data for the measurement device). I want to deconvolve using:
pt = ifft(fft(vt)./Mf)
where vt is the time varying signal and Mf is the frequency response.
I take the magnitude
abs(fft(vt))
and divide by the freq. vs. response curve Mf (interpolate to the same frequency range).
However if I set Mf=1 (for all values f=0 to X MHz) I don't get the original signal vt when I do the ifft.
My understanding is I need to perform the division (vt./Mf) on the fft magnitude but then use real/complex fft data for ifft to get the original signal but I'm unsure how to get this to work correctly.
댓글 수: 2
Baltam
2016년 4월 19일
Are you sure you didn't do anything wrong when setting Mf to 1?
x = 0:0.001:0.1-0.001;
y = sin(2*pi*50*x);
Mf = ones(size(y));
plot(x,y,'o'), hold all, plot(x,ifft(fft(y)./Mf),'-')
This seems to work fine with me.
답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Transforms에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!