Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 5

Ex.

No:8b

CHANNEL EQUALIZATION USING

DATE:

RLS ALGORITHM

AIM
To perform the Channel Equalization using RLS Algorithm.
SOFTWARE TOOL REQUIRED

MATLAB Version 7.1

THEORY
The Recursive least squares (RLS) adaptive filter is an algorithm which
recursively finds the filter coefficients that minimize a weighted linear least squares cost
function relating to the input signals. This is in contrast to other algorithms such as the
least mean squares (LMS) that aim to reduce the mean square error. In the derivation of
the RLS, the input signals are considered deterministic, while for the LMS and similar
algorithm they are considered stochastic. Compared to most of its competitors, the RLS
exhibits extremely fast convergence. However, this benefit comes at the cost of high
computational complexity.
In general, the RLS can be used to solve any problem that can be solved by
adaptive filters. For example, suppose that a signal d(n) is transmitted over an echoey,
noisy channel that causes it to be received as

where
by use of a

represent additive noise. We will attempt to recover the desired signal


-tap FIR filter, :

where

is the vector containing the

most recent samples of

. Our goal is to estimate the parameters of the filter

at each time n we refer to the new least squares estimate by

, and

. As time evolves, we

would like to avoid completely redoing the least squares algorithm to find the new
estimate for

, in terms of

The benefit of the RLS algorithm is that there is no need to invert matrices,
thereby saving computational power. Another advantage is that it provides intuition
behind such results as the kalman filter.
BLOCK DIAGRAM

CODING
clc;
clear all;
close all;
n=input('length of input sequence n=');
t=[0:n-1];
ita=10^4;
i=ones(1,n);
r=ita*i;
w0=0.001;
phi=0.1;
d=sin(2*pi*[1:n]*w0+phi);
x=d+randn(1,n)*0.5;
w=zeros(1,n);
for i=1:n
y(i)=w(i)'*x(i);
e(i)=d(i)-y(i);
z(i)=r(i)*x(i);
q=x(i)'*z(i);
v=1/(1+q);
zz(i)=v*z(i);
w(i+1)=w(i)+e(i)*zz(i);
r(i+1)=r(i)-zz(i)*z(i);
end
for i=1:n
yd(i)=sum(w(i)'*x(i));
end
subplot(221),plot(t,d),ylabel('desired signal'),
subplot(222),plot(t,x),ylabel('input signal+noise'),
subplot(223),plot(t,e),ylabel('error'),
subplot(224),plot(t,yd),ylabel('adaptive desired output'),

OUTPUT
length of input sequence n=150

RESULT
Thus the Channel Equalization is obtained using RLS Algorithm and the output are
simulated and verified successfully.

You might also like