closeallM=8;x=randint(30000,1,M);%调制h1=modem.genqammod('Constellation',[1+j*1,-1+j*1,...1+3^0.5,-1-j*1,1-j*1,-1-3^0.5,j*(1+3^0.5),-j*(1+3^0.5),...%构建8QAM调制器对象h1,其星座图符合题目要求],'InputType','integer');y=modulate(h1,x);%调制信号%设置噪声snr=0:1:15;forn=1:length(snr);%经过高斯信道ynoisy=awgn(y,snr(n),'measured');%解调经过高斯信道后的信号h2=modem.genqamdemod('Constellation',[1+j*1,-1+j*1,...1+3^0.5,-1-j*1,1-j*1,-1-3^0.5,j*(1+3^0.5),-j*(1+3^0.5),...%构建8QAM解调器对象h2],'OutputType','integer');z=demodulate(h2,ynoisy);%解调信号[nErrors(n),BITBER(n)]=biterr(x,z);%计算误码率enddisp(nErrors);disp(BITBER);%画出误码率曲线和星座图scatterplot(y);title('Signal');legend('调制信号','星座点');axis([-55-55]);scatterplot(ynoisy);title('经过高斯白噪声后的信号');legend('经过高斯白噪声后的信号','星座点');axis([-55-55]);semilogy(snr,BITBER,'-r*');title('误比特率性能');xlabel('snr(dB)');ylabel('误码率');legend('仿真误码率');