I want to estimate the impulse response of the channel at the receiver. Assuming
some arbitrary impulse response:
h=[1 0.2 -0.4 0.0 0.6]. Once the equalizer is constructed, I get the equalizer weights in
Question1) How to get back the channel estimates: Say,
x is the input to the channel,
d is the output of the channel which is the input to the equalizer,
w is the equalizer,
y is the output of the equalizer or is the equalized signal.
x must be same. Then would the channel estimates be the least square solution i.e.,
Question2) Can I apply the LMS method for any source input --- Gaussian and non-Gaussian?
Below is the code for LMS equalizer
N=1000; % number of samples np = 0.01; % noise power is 0.01 sp = 1; % signal power is 1 which implies SNR = 20dB h=[1 0.2 -0.4 0.0 0.6]; %unknown impulse response x = sqrt(sp).*randn(1,N); d = conv(x,h); d = d(1:N) + sqrt(np).*randn(1,N); w0(1) = 0; % initial filter weights are 0 w1(1) = 0; mu = 0.005; % step size is fixed at 0.005 y(1) = w0(1)*x(1); % iteration at “n=0” e(1) = d(1) - y(1); % separate because “x(0)” is not defined w0(2) = w0(1) + 2*mu*e(1)*x(1); w1(2) = w1(1); for n=2:N y(n) = w0(n)*x(n) + w1(n)*x(n-1); e(n) = d(n) - y(n); w0(n+1) = w0(n) + 2*mu*e(n)*x(n); w1(n+1) = w1(n) + 2*mu*e(n)*x(n-1); end