I'm measuring a "charge" signal in function of time from an amplifier. Here is a measured signal (x-axis is the time in some arbitrary units, y-axis is the charge in ADU): Measured signal (x-axis is the time in some arbitrary units, y-axis is the charge in ADU)

I would like to get the "true", original signal, by deconvolving the instrument's response from the measured signal.

Here the response of the instrument to an Heaviside step function: Response to an Heaviside (x-axis is the time in some arbitrary units, y-axis normalized

I guess this should help me characterize the instrument's response, and do the deconvolution. I read about SVD and Bayesian unfolding, but these don't seem to do the trick (I need to built a transfer matrix first). Could you suggest me any tool/algorithm to do this?

Thanks in advance for the help.


If we can assume no noise (Or the SNR is very high) you can get the response by applying the inverse filter in frequency domain.

Lets say $ y [n] $ are the signal samples.
Given $ x [n] $ the samples of the ideal signal you can apply on both of them the DFT to get $ Y [k] $ and $ X [k] $.

The response is given by the Inverse DFT of the division $ \frac{Y[k]}{X[k]} $.

If there's some noise you need to regulate the result.
Easy choice would be the Wiener Filter or more specifically Wiener Deconvolution.

  • $\begingroup$ Thanks! Tried what you proposed, assuming the red curve was instrument response to a Heaviside. Got strange (and obviously erroneous) results. It might actually be the response to a Dirac-like signal. I'll give it an other try. $\endgroup$ – couturierc Aug 16 '16 at 10:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.