📄 af.m
字号:
function BerSnrTable1=AF(maxsnr)
fprintf( 'AF仿真\n') ;
%产生随机序列
N=5000;
BerSnrTable1 = zeros(maxsnr+1,3);
for SNR=0:maxsnr
BerSnrTable1(SNR+1,1) = SNR;
BitTx=floor(rand(1,N)*2);
%星座图映射,QPSK
SymQpsk=QpskMapping(BitTx);
SymQpskd=[];
M=length(SymQpsk);
%噪声能量(已归一化)
zsnl=sqrt(1/(10^((SNR)/10)));
%==========================================
for i=1:M
%生成服从高斯分布的信道系数
H0=randn+j*randn;
H2=randn+j*randn;
%生成加性高斯白噪声
N0=zsnl*(randn+j*randn);
N2=zsnl*(randn+j*randn);
N1=zsnl*(randn+j*randn);
G=sqrt(0.5/(0.5+zsnl*zsnl));
%接收信号
R1=H0*SymQpsk(i)+N0;
R2=H2*G*(SymQpsk(i)+N1)+N2;
%信号合成
S1=conj(H0)*R1/(zsnl*zsnl);
S2=conj(H2)*R2/(zsnl*zsnl);
SS=S1+S2;
%解调
dh = [1+j -1+j -1-j 1-j]/sqrt(2);
D1=abs(SS*[1 1 1 1]-dh).^2;
[minScale1 positionmin1]=min(D1);
SymQpskd=[SymQpskd dh(positionmin1)];
end
BitRx=QpskInverseMapping(SymQpskd);
[Num,Ber]=symerr(BitTx,BitRx);
BerSnrTable1(SNR+1,2) = Num ;
BerSnrTable1(SNR+1,3) = Ber ;
end
figure(1);
semilogy(BerSnrTable1(1:4:maxsnr+1,1),BerSnrTable1(1:4:maxsnr+1,3),'g*-');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -