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 w1
.
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.
Ideally, y
and x
must be same. Then would the channel estimates be the least square solution i.e., inv(w^Tw)*w*d'
or inv(w)
?
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
h
in your answer are the equalizer weights which are calculated assumingtx
is known. But in my setting the input to the channel is unknown. (3) $c = h^{-1}$ or is it $t*pinv(r)$ is the channel estimate ? I don't quite get the notations and the method to obtain the channel coefficients. $\endgroup$