预览加载中,请您耐心等待几秒...
1/2
2/2

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

%模拟2ASK %Pe=zeros(1,26); jishu=1; forsnr=-10:0.5:15 max=10000; s=round(rand(1,max));%长度为max的随机二进制序列 f=100;%载波频率 nsamp=1000;每个载波的取样点数 tc=0:2*pi/999:2*pi;tc的个数应与nsamp相同 cm=zeros(1,nsamp*max); cp=zeros(1,nsamp*max); mod=zeros(1,nsamp*max); forn=1:max; ifs(n)==0; m=zeros(1,nsamp); b=zeros(1,nsamp); elseifs(n)==1; m=ones(1,nsamp); b=ones(1,nsamp); end end c=sin(f*tc); cm((n-1)*nsamp+1:n*nsamp)=m; cp((n-1)*nsamp+1:n*nsamp)=b; mod((n-1)*nsamp+1:n*nsamp)=c; end tiaoz=cm.*mod;%2ASK调制 t=linspace(0,length(s),length(s)*nsamp); tz=awgn(tiaoz,snr);%信号tiaoz中加入白噪声,信噪比为SNR=10dB jiet=2*mod.*tz;%相干解调 [N,Wn]=buttord(0.2,0.3,1,15); [b,a]=butter(N,Wn); dpsk=filter(b,a,jiet);%低通滤波 %抽样判决,判决门限为0.5 depsk=zeros(1,nsamp*max); form=nsamp/2:nsamp:nsamp*max; ifdpsk(m)<0.5; fori=1:nsamp depsk((m-500)+i)=0; end elseifdpsk(m)>=0.5; fori=1:nsamp depsk((m-500)+i)=1; end end end end wrong=0; fori=1:length(cp); ifcp(i)~=depsk(i); wrong=wrong+1; end end Pe(jishu)=wrong/length(cp); jishu=jishu+1; end snr=-10:0.5:15; semilogy(snr,Pe,'*'); %理论计算 snr=-10:0.1:15; Pet=0.5*erfc((10.^(snr/10)/4).^0.5); holdon; semilogy(snr,Pet); xlabel('SNR/dB');ylabel('P_e'); legend('模拟结果','理论值');