Continue to Site

# inverse FFT and impulse response with matlab

Status
Not open for further replies.

#### Supaswing

##### Junior Member level 3
I have a measured truncated spectrum and I want to know the corresponding impulse response. How should I do?
I padded the data with zeros and created the complex symmetric spectrum from these data to have a real signal when applying the ifft.
But. Results is not at all what I had expected. I think the Nyquist frequency is ok and tried to multiply the signal in frequency domain with a window function but still funny results
How should I do to get the good results?
Thank you

I don't know if I understand very good what you mean by your message, but I think that the impulse response is defined for a system not a spectrum or a signal?

Sorry for the poor writing. :!:
Yes your are right but by point is : if the system have been fed by gaussian pulse so we can write in frequency domain Y=G*X with G the transfer function of the system and X the gaussian pulse's Fourier transform and X=H*I with H the dirac-to-gaussian transfer function (which is a gaussian, too) and I a constant corresponding to the Fourier transform of the dirac.
Therefore, I know H,I,X and Y and I just need G...the transfer function or its reciprocal, the impulse response! Voila

I have a measured truncated spectrum and I want to know the corresponding impulse response. How should I do?
I have only partial frequency domain data and I want to know the corresponding impulse response (which should we smoothed compared to the original one, see below)

I tried to multiply the signal in frequency domain with a window function but still funny results
Which is equivalent to low-passing the data...

I padded the resulting data with zeros and created the complex symmetric spectrum from these data to have a real signal when applying the ifft.
to ouptut real data, ifft needs complex symmetric data input.

:arrow: but trouble...
qualitatively the resulting impulse response is very wrong, the signal needs to be equal to 0 at t=0 and equal to 0 at t=1/Fs, how can I do that and keep meaningfull results.

did u made its phase correctly? your spectrim must have asymetry in phase.
u can also use hilbert transform

Status
Not open for further replies.