?? bd1.m
字號:
% 仿真4*4MIMO(QPSK調(diào)制)系統(tǒng) MMSE Vblast接收機(jī)的檢測性能,繪制誤比特率~信噪比曲線。
% 發(fā)端
% 發(fā)射天線數(shù)tx,接收天線數(shù)rx,發(fā)射矩陣長度L(幀長)
tx=4;
rx=4;
L=10000;
Modulation='QPSK';
EbNo=[0:5:20];
B=30000;
Ts=1/24300;
SNR=EbNo-10*log10(Ts*B);
A=randint(tx*L,1); % 信源A
X=zeros(tx,L); % 經(jīng)過QPSK調(diào)制的V-Blast發(fā)射矩陣X
for k=1:tx %
X(k,:)=((-1).^(A(k:tx:end)+1))'; %
end %
% 信道
% Rayleigh信道
H=sqrt(1/2)*(randn(rx,tx,L)+i*randn(rx,tx,L));
% 均值為0方差為1的高斯白噪聲n
n=sqrt(1/2)*(randn(rx,L)+i*randn(rx,L));
% 未疊加噪聲的接收信號R
R=zeros(rx,L);
for k=1:L
R(:,k)=H(:,:,k)*X(:,k);
end
%MMSE檢測
disp('MMSE')
berm=[];
for m=SNR
m
snr=10^(m/10);
R_noised=R+sqrt(1/snr)*n;
x=[];
a=zeros(tx*L,1);
for t=1:L
r=R_noised(:,t);
HH=H(:,:,t);
xtemp=zeros(tx,1);
w=inv(HH'*HH+(1/snr)*eye(tx))*HH';
y=w*r;
xtemp=(y>=0)-(y<0)+0;
x=[x,xtemp];
end
for k=1:tx
a(k:tx:end)=(x(k:tx:end)+1)/2;
end
[errbit,temp_ber]=biterr(A,a);
berm=[berm,temp_ber];
end
semilogy(EbNo,berm,'s- b')
legend('MMSE');
xlabel('Eb/No(dB)');
ylabel('誤比特率');
title('MMSE檢測效果');
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -