test.asv
来自「协作通信的两种协作方式AF、DF的相关文档和独立编写的仿真程序」· ASV 代码 · 共 41 行
ASV
41 行
function BerSnrTable=Test(maxsnr)
fprintf( 'Test仿真\n') ;
BerSnrTable = zeros(maxsnr+1,3);
NumLoop = 100;
NumSubc = 64;
for snr=0:maxsnr
BerSnrTable(snr+1,1) = snr;
BitsTx = floor(rand(1,NumLoop*NumSubc)*2);
SymQpsk=QpskMapping(BitsTx);
SymQpskd=zeros(1,NumLoop*NumSubc/2);
for i= 1:2*NumSubc:NumLoop*NumSubc/2-2*NumSubc+1
c1=[];
c2=[];
h1=randn(1,NumSubc)+j*randn(1,NumSubc);
H1=diag(h1,0);
h2=randn(1,NumSubc)+j*randn(1,NumSubc);
H2=diag(h2,0);
x1=SymQpsk(1,i:i+63);
x2=SymQpsk(1,i+64:i+127);
y1=x1*H1;
y2=x2*H2;
M=length(y1);
for k=1:M
dh = [1+j -1+j -1-j 1-j]/sqrt(2);
D1=abs(y1(k)*[1 1 1 1]-dh).^2;
[minScale positionmin]=min(D1);
c1=[c1 dh(positionmin)];
D2=abs(y2(k)*[1 1 1 1]-dh).^2;
[minScale positionmin]=min(D2);
c2=[c2 dh(positionmin)];
end
SymQpskd(1,i:i+63)=c1;
SymQpskd(1,i+64:i+127)=c2;
end
BitRx=QpskInverseMapping(SymQpskd);
[Num,Ber]=symerr(BitsTx,BitRx);
BerSnrTable(snr+1,2) = Num ;
BerSnrTable(snr+1,3) = Ber ;
end
figure(1);
semilogy(BerSnrTable(1:3:maxsnr+1,1),BerSnrTable(1:3:maxsnr+1,3),'g*-');
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?