from
Decentralized Feedback Zero Forcing Equalizer
by Alex Dytso
Describes implementation of decentralized feedback zero forcing equalizer.
|
| simDFEZF |
%Author: Alex Dytso
%Date: 02/08/2013
%Description: This code is simulation of decentralized feedback zero
%forcing equalizer. This equalizer is one of the common tools used to
%combat ISI in wireless channels.
function simDFEZF
clc, clear all
N=8;% length of transmitting sequence
display('Sent symbols')
x=(-1).^(floor(2*rand(1,N))) % creating PAM symbols
%%%%Sending Throught the Channel
g=[0.16, 0.45];% Channel Impulse response
Y=conv(g,x);
%%%% Adding Noise
SNRdB=20;
r=awgn(Y,SNRdB);
Xh = DFEZF(r,g); %applying filter with decoder
display('Received symbols')
Xh=Xh(1:end-1)
end
function Xh = DFEZF(r,g)
%Computing inverse impulse response
f=1/g(1); %forward filter
b=g(2:end)./g(1);
bD=tf([b,0],1); % backward filter
[numb,denb]=tfdata(bD,'v');
for i=1:length(denb)
if denb(i)~=0 %this is done for techinical reasons dut to function filter
denb2=denb;
break;
else
L=i+1;
end
end
denb2=denb(L:end);
%Forward filtering
Yf=filter(f,1,r);
%Feedback
for i=1:length(Yf)
%Hard dicision decoding
if Yf(i)>0
Xh(i)=1;
else
Xh(i)=-1;
end
Yb=filter(numb,denb2,Xh(i));
if i~=length(Yf)
Yf(i+1)=Yf(i+1)-Yb;
end
end
end
|
|
Contact us