for j=1:L
y=0;
for pp=1:m
y=y+msint(m*j+pp-m);
end
z=y/m; %解扩得到用户信码
if z>0
z=1;
else
z=-1;
end
if z~=r(j) %用户错误计数
Err=Err+1;
end
end
BER(m,SNR1)=Err/L ; % 误码率实际值
end
end
figure
semilogy([-10:10],BER(10,:),'b-*');
text(0,5.000000e-004,' \leftarrow Gain=10','FontSize',10)
hold on
semilogy([-10:10],BER(30,:),'y-*');
text(-6,3.000000e-003,' \leftarrow Gain=30','FontSize',10)
hold on
semilogy([-10:10],BER(50,:),'r-*');
text(-9,5.750000e-003,' \leftarrow Gain=50','FontSize',10)
title('扩频增益与误码率关系曲线')
xlabel('信噪比/dB')
ylabel('误码率') grid on
megn函数:
function[out]=mgen(g,state,N)
gen=dec2bin(g)-48;
M=length(gen);
curState=dec2bin(state,M-1)-48;
for k=1:N
out(k)=curState(M-1);
a=rem(sum(gen(2:end).*curState),2);
curState=[a curState(1:M-2)];
end