How to Estimate the Input for a Convolution Given the Filter (Impulse Response) and the Output of the Convolution
Mathematically, here is the demostration for what you want to do:
y[n] = x[n]*h[n] (This is a convolution),
Applying convolution theorem you can prove that:
Y[f] = X[f]*H[f] (this is an ordinary product),
Then:
X[f] = Y[f]/H[f],
Now if we apply fourier inverse transform to X[f] you can have x[n].
Implementing this in matlab can be pretty straightforward now.
Cheers