《最佳接收机的MATLAB》由会员分享,可在线阅读,更多相关《最佳接收机的MATLAB(3页珍藏版)》请在金锄头文库上搜索。
1、精选优质文档-倾情为你奉上二元调制最佳接收机的MATLAB仿真程序%bicomsim.m close allclear all%P0 = 0.5;%P1 = 0.5;%fs = N/TbN = 10; L = 1000; k0 = 2; Th1 = 0;A = 1; rand(state,sum(100*clock);for db = -5:15, r = 10(db/10); sigma = 0.5*A*sqrt(N)/10(db/20); i0 = db+6; Pe0PSK(i0) = 0.5*erfc(sqrt(r); Pe0ASKa(i0) = 0.5*erfc(sqrt(r/2);
2、Pe0ASKb(i0) = 0.5*erfc(sqrt(r/4); Pe0FSK(i0) = Pe0ASKa(i0); Th = 0.5*0.5*A2*N;%2ASK count = 0; for j=1:L; for i=1:N, NN(i) = sigma*randn(1,1);%N(m, sigma) s0(i) = 0; s1(i) = A*sin(2*pi*k0*i/N); x0(i) = s0(i) + NN(i); x1(i) = s1(i) + NN(i); end summ0 = 0; for i=1:N, summ0 = summ0 + x0(i)*s1(i); end s
3、umma = summ0; if summa Th, count = count + 1; end summ0 = 0; for i=1:N, summ0 = summ0 + x1(i)*s1(i); end summb = summ0; if summb Th, count = count + 1; end end PeASK(i0) = 0.5*count/L; Th = 0; %2PSK count = 0; for j=1:L; for i=1:N, NN(i) = sigma*randn(1,1); s0(i) = A*sin(2*pi*k0*i/N); Th = 0; s1(i)
4、= -A*sin(2*pi*k0*i/N); %2PSK x0(i) = s0(i) + NN(i); x1(i) = s1(i) + NN(i); end summ0 = sum(x0.*s0); summ1 = sum(x0.*s1); summa = summ0 - summ1; sma(j) = summa; if summa Th, count = count + 1; end end PePSK(i0) = 0.5*count/L; Th = 0.5*0.5*A2*N; %2FSK count = 0; for j=1:L; for i=1:N, NN(i) = sigma*ran
5、dn(1,1); s0(i) = A*sin(2*pi*k0*i/N); Th = 0; s1(i) = A*sin(2*pi*(k0+1)*i/N); x0(i) = s0(i) + NN(i); x1(i) = s1(i) + NN(i); end summ0 = sum(x0.*s0); summ1 = sum(x0.*s1); summa = summ0 - summ1; sma(j) = summa; if summa Th, count = count + 1; end end PeFSK(i0) = 0.5*count/L;endi=1:21;i2=i-6;semilogy(i2,Pe0PSK,b,i2,Pe0ASKb,b,i2,Pe0FSK,b);hold onsemilogy(i2,PePSK,r*,i2,PeASK,ro,i2,PeFSK,r+)axis(-5 15 1.0e-06 1.0e0)专心-专注-专业