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)
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.