DSPRelated.com
Forums

1D Deconvolution

Started by Les Cargill March 11, 2016
Rosetta code has a 'C' example of 1D deconvolution.

https://rosettacode.org/wiki/Deconvolution/1D

It basically:

- takes the FFT of the convoluted signal.
- takes the FFT of the original.
- divides 'em.
- Takes the FFT of the result.

Is the FFT after the divide one of those cases where this fft is its own 
inverse - it is being used as an ifft?

Thanks in advance.

-- 
Les Cargill
Les Cargill <lcargill99@comcast.com> Wrote in message:
> Rosetta code has a 'C' example of 1D deconvolution. > > https://rosettacode.org/wiki/Deconvolution/1D > > It basically: > > - takes the FFT of the convoluted signal. > - takes the FFT of the original. > - divides 'em. > - Takes the FFT of the result. > > Is the FFT after the divide one of those cases where this fft is its own > inverse - it is being used as an ifft? > > Thanks in advance. > > -- > Les Cargill >
More or less. They should be doing a real ifft, and the divide is only valid if the original had no zero-energy bins. -- www.wescottdesign.com ----Android NewsGroup Reader---- http://usenet.sinaapp.com/
I looked briefly at the C code.  There's an interesting bit of code in the deconv function that transfers the h buffer to the out buffer. It looks like the output buffer is time reversed and also truncated such that the output length is limited to the difference in length between the output sequence  and the input sequence , so this produces linear de-convolution instead of circular. But I think it's the time reversal that allows you to use an fft instead of an ifft. 

Bob
radams2000@gmail.com wrote:
> I looked briefly at the C code. There's an interesting bit of code > in the deconv function that transfers the h buffer to the out buffer. > It looks like the output buffer is time reversed and also truncated > such that the output length is limited to the difference in length > between the output sequence and the input sequence , so this > produces linear de-convolution instead of circular. But I think it's > the time reversal that allows you to use an fft instead of an ifft. > > Bob >
I had no idea the fft had that property. Thanks, Bob. -- Les Cargill