Search All of the Math Forum:
Views expressed in these public forums are not endorsed by
NCTM or The Math Forum.



Re: How to determine the impulse response using FFT?
Posted:
Jun 16, 2014 12:59 AM


"Shawn " <shawcine@gmail.com> wrote in message <lnk659$ir4$1@newscl01ah.mathworks.com>... > Hi, everyone. I have the input data and output data of a system and want to get the impulse response of the system. I've learned that this a kind of problem named deconvolution. I have some question about deconvolution and FFT. > To show my problem, I make up some example data and suppose they are clean. my algorithm is > input=[1 3 5 8 8 6 4 2]; > output=[1 2 3 4 5 6 7 8]; > f_input=fft(input, 15); %padding > f_output=fft(output,15); > f_response=f_output./f_input; > response=ifft(f_response); > conv_output=conv(input,response);%linear convolution > cconv_ouput=cconv(input,response,15);%circular convolution > > The f_input doesn't have nearzero elements so I think the illposed problem of deconvolution can be ignored here. The 'conv_output' is not the same as 'output'.The multiplication in frequency domain corresponds to the circular convolution in time domain, and now what I want is the impulse response which can make its linear convolution with the input equals to the output. The padding doesn't work because the response obtained doesn't have zeros in the last 7 columns, so the aliasing caused by fft is not avoid. Is there any methods to reach my goal? > Many thanks
http://www.mathworks.com/help/signal/ug/linearandcircularconvolution.html
Hope this helps.
Greg



