您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > BPSK调制解调及误码率的计算
%随机产生码元clcclearallnum=10;%码元个数ek=round(rand(1,num,1));%产生载波t=0:2*pi/999:2*pi;%周期num1=1000;%个数len=length(t);c=-sin(t);%调制ektemp=[];ctemp=[];forn=1:numifek(n)==0ctemp=[ctemp,-c];a=zeros(1,len);ektemp=[ektemp,a];elseifek(n)==1ctemp=[ctemp,c];a=ones(1,len);ektemp=[ektemp,a];endendsubplot(2,1,1);%分别画出原信号、已调信号示意plot(ektemp,'LineWidth',1.5);title('原码元');gridon;axis([0num1*num-2.52.5]);subplot(2,1,2);plot(ctemp,'LineWidth',1.5);title('已调信号');gridon;axis([0,num1*num,-2.5,2.5]);%相干解调%本地载波loca=[];forn=1:numloca=[loca,c];%此处c的正负决定解调后是否倒piendlocb=loca;%相乘locc=2*ctemp.*locb;%低通滤波器[b,a]=BUTTER(3,2*pi*0.0003,'low');%信号频率为0.001locd=filter(b,a,locc);%低通滤波后的信号figure;subplot(2,1,1);%相乘后的波形plot(locc,'LineWidth',1.5);title('相乘后的信号');gridon;axis([0num1*num-2.52.5]);dd=locd+randn(1,10000);%低通滤波后的信号波形图subplot(2,1,2);plot(dd,'LineWidth',1.5);title('低通滤波后的信号');gridon;axis([0num1*num-2.52.5]);%抽样判决fori=1:num1*numif(locd(i)0)%判决,得到解调结果locd(i)=1;elselocd(i)=-1;endendfigure;subplot(2,1,1);%分别画出原信号、解调后信号示意plot(ektemp,'LineWidth',1.5);title('原码元')gridon;axis([0num1*num-2.52.5]);subplot(2,1,2);plot(locd,'LineWidth',1.5);title('解调后的信号');gridon;axis([0num1*num-2.52.5]);p=symerr(ektemp,locd)/10%误码率%误码率曲线figure(4)r=0:2:10;rr=10.^(r/10);pe1=1/2*exp(-rr);%相干解调的误码率曲线holdonplot(r,pe1,'r');gridon;pe2=(1-1/2*erfc(sqrt(rr))).*erfc(sqrt(rr));%差分相干解调的误码率曲线plot(r,pe2,'b');xlabel('bpsk,dpsk误码率曲线');set(gca,'XTick',-6:3:18);
本文标题:BPSK调制解调及误码率的计算
链接地址:https://www.777doc.com/doc-5662420 .html