MMSE equalizer
34 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I have written a code for estimation and MMSE equalization for OFDM system. When I apply equalization at the receiver the BER increases. Let me the problem in my code. Code is attached. thanks
clc
close all
clear all
H = comm.QPSKModulator('BitInput',true);
Hdemod = comm.QPSKDemodulator('BitOutput',true);
% hScope = commscope.ScatterPlot;
% hScope.Constellation = [0.7071+0.7071i -0.7071+0.7071i -0.7071-0.7071i 0.7071-0.7071i];
% hScope.SamplesPerSymbol = 1;
n=16; %no of random data...
r_data = randint(n,1); %random numbers generator...
data_qpsk=[];
data_qpsk = step(H,r_data); %Data converted in QPSK symbols...
d1=data_qpsk(1);
d5=data_qpsk(5);
data_qpsk(1) = 0.7071+0.7071i; % adding two pilots at location 1 and 5.
data_qpsk(5) = 0.7071+0.7071i;
% update(hScope, data_qpsk);
dawgn=awgn(data_qpsk,0); % Adding white Gaussian Noise
est(1)=dawgn(1);
est(2)=dawgn(5);
% MMSE starts here......
des=[0.7071+0.7071i 0.7071+0.7071i];% desired data symbols
rec=[est(1) est(2)]; % received data symbols...
z=filter([1 0 0 0 0 0 0 0],[1],rec);
Rxx=xcorr(rec);
Rxz=xcorr(des,z);
x=toeplitz([Rxx zeros(1,5)],zeros(1,8))
cof=x\([Rxz zeros(1,5)].'); % coefficients for MMSE equalizer...
det1=filter(cof,[1],dawgn);
det1
for i=1:8
det(i)=filter(cof,[1],dawgn(i));
end
det.'
% update(hScope, det);
1 Kommentar
Antworten (3)
Sundus Naseer
am 6 Jun. 2012
??? Undefined variable "comm" or class "comm.QPSKModulator".
Error in ==> mmse at 5 H = comm.QPSKModulator('BitInput',true);
0 Kommentare
Honglei Chen
am 6 Jun. 2012
It seems you don't have Communication System Toolbox correctly installed. What is your result of the following command?
>>ver
0 Kommentare
Siehe auch
Kategorien
Mehr zu Link-Level Simulation finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!