📄 vblast_qpsk.m
字号:
%%%%% QPSK 仿真实例 %%%%%%%%%%%%
clear all;
nt=2;nr=2;
EbN0dB=0:5:35;%设定信噪比
errLimit=50;
N=100;
for ii=1:length(EbN0dB)
errCount=0;
totalN=0;
N0(ii)=1/(10^(EbN0dB(ii)/10));
while errCount<errLimit
source=rand(1,N)>0.5;
mod_sym=qpsk_mod(source);
H=sqrt(1/2)*(randn(nr,nt)+j*randn(nr,nt));
inv_H=inv(H);
zf=zeros(1,nr*length(mod_sym)/nt);
for k=1:length(mod_sym)/nt
trans=H*mod_sym((k-1)*nt+1:k*nt)';
receiver=trans'+sqrt(N0(ii)/2)*(randn(1,length(trans))+j*randn(1,length(trans)));
temp=inv_H*receiver';
zf((k-1)*nr+1:k*nr)=temp';
end
demodata=qpsk_demod(zf);
temp=sum(abs(source-demodata));
errCount=errCount+temp;
totalN=totalN+N;
end
ber(ii)=errCount/totalN;
end
ber
semilogy(EbN0dB,ber,'-o');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -