I am a new engineer for signal processing field.
I want to extract the system impulse response from input and output of the system, i.e. so-called system identification, more specfically, for impulse response. E.g. I could input waveform to system as following:
And I also got the output waveform from the system as following:
Please note both waveform are four periods, but there is unknown delay existing in between.
How could I extract the impulse response of system from those two?
Update in 2020/04/27
I followed the comments from Marcus, and used following code, but the result is obviously not correct, not even close.
x = load("C:\Users\Desktop\bit_wf.txt")
x = x(:,2)
plot(x)
% convolution between bit_waveform and impluse response
% wf = conv(bit_wf, imp_rsp);
y = load("C:\Users\Desktop\wf.txt")
y = sbr(:,2)
plot(y)
ryx = xcorr(y,x)
plot(ryx)
rxx = xcorr(x,x)
plot(rxx)
imp = deconv(ryx, rxx)
plot(imp)
If I deconv(ryx, rxx), I only get a constant number. I understood the theory is there, but my problem is how to implement it correctly. Thanks, hope someone could help me there, really appreciate.


