0
votes

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 n MHz) I don't get the original signal vt when I do the ifft.

My understanding is I need to perform the division (fft(vt)./Mf) using the vt fft magnitude (since Mf is effectively freq. vs. magnitude data) 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.

1

1 Answers

0
votes

It seems to me what you're claiming is that

pt = ifft(fft(vt)./1)

does not result in pt being equal to vt. This is true up to some floating point precision. I would look at the maximum of the absolute error between samples of pt and vt. This should at least ten orders of magnitude less than those of your samples in vt.