MMSE equalizer

조회 수: 35 (최근 30일)
Rehan
Rehan 2012년 4월 9일
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
Daniel Shub
Daniel Shub 2012년 4월 9일
Can you explain what the problem is?

댓글을 달려면 로그인하십시오.

답변 (3개)

Sundus Naseer
Sundus Naseer 2012년 6월 6일
??? Undefined variable "comm" or class "comm.QPSKModulator".
Error in ==> mmse at 5 H = comm.QPSKModulator('BitInput',true);

Sundus Naseer
Sundus Naseer 2012년 6월 6일
:P :P

Honglei Chen
Honglei Chen 2012년 6월 6일
It seems you don't have Communication System Toolbox correctly installed. What is your result of the following command?
>>ver

카테고리

Help CenterFile Exchange에서 Link-Level Simulation에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by