通信萌新们注意了!今天咱们玩点刺激的——用MATLAB手搓各种QAM调制的性能对比。准备好你的小本本,咱们边写代码边分析,包教包会
基于4QAM16QAM64QAM调制方式下经过AWGN信道的性能分析 均包含加噪声前后的星座图、误码率和误符号率性能对比该程序一共10张仿真图可学习性非常强先上硬货看看怎么生成4QAM的星座图。掏出这段代码M 4; data randi([0 M-1],1000,1); txSig qammod(data,M,UnitAveragePower,true); scatterplot(txSig); title(原始4QAM星座图);重点在UnitAveragePower参数这保证了信号平均功率归一化为1。这时候你会看到四个点均匀分布在单位圆上像极了十字路口的红绿灯笑。接下来给信号加点佐料——AWGN噪声snr 15; rxSig awgn(txSig,snr,measured); scatterplot(rxSig); title([SNR num2str(snr) dB时的接收信号]);运行后会发现原本清晰的小红点变成了毛茸茸的云团这时候就该祭出误码率计算公式了[~,ser] symerr(data, qamdemod(rxSig,M,UnitAveragePower,true)) ber mean(qamdemod(rxSig,M,UnitAveragePower,true) ~ data)这里有个坑误符号率(SER)和误码率(BER)是两码事16QAM及以上调制必须用格雷编码否则BER会高得离谱。咱们用16QAM做个示范M 16; EbNo 10; k log2(M); snr EbNo 10*log10(k); % 关键转换 rxSig awgn(qammod(data,M,UnitAveragePower,true),snr,measured);看到没这里SNR和EbNo的转换藏着玄机。很多新手直接拿EbNo当SNR用结果仿真曲线跟理论值对不上急得抓耳挠腮别问我怎么知道的。当咱们把调制阶数推到64QAM时噪声的影响开始变得残暴。对比下三个调制的理论BER曲线berTheory berawgn(EbNo,qam,M); semilogy(EbNoVec,berTheory,--); hold on; semilogy(EbNoVec,berSim,o);这时候你会看到三条分明的曲线4QAM像滑梯一样陡降16QAM中规中矩64QAM就像蜗牛爬山。但别急着下结论把星座图放大看64QAM的噪声容限只有4QAM的1/8能扛住噪声才是见鬼了。基于4QAM16QAM64QAM调制方式下经过AWGN信道的性能分析 均包含加噪声前后的星座图、误码率和误符号率性能对比该程序一共10张仿真图可学习性非常强最后给大家看个骚操作——动态展示星座图变化for snr 5:2:20 rxSig awgn(txSig,snr); scatterplot(rxSig); title([SNR num2str(snr) dB]); pause(0.5); end运行这段代码你会亲眼见证星座点从一锅粥逐渐凝聚成清晰点的过程比看监控录像还有意思手动狗头。总结时间4QAM抗噪能力MAX但传输效率低64QAM是速度狂魔但需要干净信道16QAM则是万金油。下次设计系统时记得在频谱效率和抗噪声之间做好取舍别像在菜市场砍价似的只盯着一个参数不放
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2476349.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!