📄 test.asv
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -