功率rx=tx1+sigma*randn(1,length(tx1));%加入高斯白噪声rx1=reshape(rx,length(c),length(msgmod));r1=(c1*rx1)/length(c1);%相关运算r2=(c2*rx1)/length(c2);r=r1+j*r2;y=pskdemod(r,M);%PSK解调decmsg=graycode(y+1);[err,ber(indx)]=biterr(msg,decmsg,log2(M));%误比特率[err,ser(indx)]=symerr(msg,decmsg);%误符号率endser1=2*qfunc(sqrt(2*snr1)*sin(pi/M));%理论误符号率ber1=1/log2(M)*ser1;%理论误比特率figure(7),semilogy(EsN0,ber,'-ko',EsN0,ser,'-k*',EsN0,ser1,EsN0,ber1,'-k.');title('8-PSK载波调制信号在AWGN信道下的性能')xlabel('Es/N0');ylabel('误比特率和误符号率')legend('误比特率','误符号率','理论误符号率','理论误比特率')五.仿真结果输出及结论fingure1载波信号2.fingure2同相载波3.fingure3正交载波4.fingure4Gray映射5.fingure5载波调制6.fingure6误比特率和误码率六.仿真调试中出现的错误、原因及排除方法程序运行完之后虽然没有报错。但是结果图不出来,最后发现没有用输出函数Plot。最后仿真8-PSK载波调制信号在AWGN信道下的误码率和误比特率。然而正向载波和正交载波正弦波,gray映射,载波调制在输出时第一次使用plot函数失败了。后来在同学的指导下用figure函数一举成功。总之还得多学多练。