0

I'm testing some code to perform deconvolution of two audio signals to recover the impulse response. Presently, as part of testing, I am simply deconvovolving two identical signals.

I have the assumption that I should be able to recover a simple dirac-delta impulse response from this, but for some reason, there is a lot of spurious noise in the impulse response result.

I am using standard 8-byte doubles for data storage and FFTW as my FFT library. I'm also normalising the impulse response.

Is my assumption correct (regarding the unit impulse response)?

I'm still trying to figure out how to correctly compensate for wrap-around (circular convolution) by correctly padding the input buffers. I am using a similar strategy to my working convolution code [ M+L-1 ]

Mark
  • 225
  • 2
  • 9
  • I think you can use time domain adaptive filter for such problems. – Arpit Jain Dec 22 '16 at 11:58
  • for deconvolution?! – Mark Dec 22 '16 at 13:09
  • you know input and output ? but you don't know transfer function which led input to output. right ? – Arpit Jain Dec 22 '16 at 13:13
  • Correct. Just be aware - I am an extreme newbie at DSP. I understand the basics of DSP and Convolution, but I am very much teaching myself this stuff, so please be gentle. I am no expert. – Mark Dec 22 '16 at 13:15
  • please read about adaptive filters to get clarity. you can find lot of implementations of same in many languages(c, python matlab, etc.). you can use your input signal as reference signal to adaptive filter and your output signal as input to adaptive filter. after proper adaptation/convergence the adaptive filter weight's/coefficients will be your required transfer function. – Arpit Jain Dec 22 '16 at 13:23
  • are you able to point me to some information on how to do this with FFTW as this is where my head currently is? Also - is my assumption regarding the unit impulse response correct? – Mark Dec 22 '16 at 13:25
  • Ideally it should give unit impulse response if your output is just a delayed version of input. but in practice because of many issues(including precision loss) you will get slightly wide impulse along with some fluctuating noise. – Arpit Jain Dec 22 '16 at 13:28

0 Answers0