“16QAM调制与解调系统的SystemView仿真及分析”
通信原理 systemview 16QAM调制与解调系统的仿真 16QAM调制解调系统与解调系统的仿真 用SystemView建立一个16QAM调制解调器电路,分析理解系统的各个模块功能观察波形图 判断是不是实现了16QAM调制解调系统功能 基本要求: (1)在SystemView软 件中构建短波16QAM仿真电路 (2)计算及设定各个模块适当仿真参数 (3)仿真并输出正确仿真波形 (4)根据结果做好分析 提高要求: (1) 进一步分析其结果中的功率谱 (2)分析其调制后的信号星座图 有仿真文件和实验报告实验报告内容为图三打开SystemView的时候我盯着空白的画布突然意识到16QAM这玩意儿的星座图长得跟国际象棋棋盘似的——16个点整整齐齐排成4x4方阵。不过真要在软件里把这套调制解调系统搭起来可不是摆棋子这么简单。先得搞定基带信号生成。在SystemView里拖了个PN序列发生器参数设置里把码元速率定在2400bps。这时候发现个坑每个符号要携带4bit信息所以实际符号速率得降到600符号/秒。手抖输错数值的话后面解调准得翻车。调制部分的核心是两个正交载波。载波生成器的参数设置界面我输载波频率时犹豫了一下——短波通信常用3-30MHz。保险起见先设了10MHz后面功率谱分析不对再改。两个乘法器分别处理I/Q两路信号这里有个骚操作把基带信号通过升余弦滚降滤波器α0.35再混频能有效控制带外辐射。// 伪代码示意关键模块参数 PN_Generator( rate 2400, // 比特率 levels 4 // 每符号2比特-实际需要4电平 ); RootRaisedCosine( samples_per_symbol 8, alpha 0.35 ); CarrierOscillator( frequency 10e6, phase 90 // Q路相位偏移 );眼瞅着调制器输出波形那幅度变化比QPSK剧烈多了。用探针抓了段时域波形明显能看到16种不同的幅相组合。这时候要是直接上信道仿真保准被噪声打得亲妈不认赶紧在信道里加了个AWGN模块Eb/N0设到15dB先试试水。通信原理 systemview 16QAM调制与解调系统的仿真 16QAM调制解调系统与解调系统的仿真 用SystemView建立一个16QAM调制解调器电路,分析理解系统的各个模块功能观察波形图 判断是不是实现了16QAM调制解调系统功能 基本要求: (1)在SystemView软 件中构建短波16QAM仿真电路 (2)计算及设定各个模块适当仿真参数 (3)仿真并输出正确仿真波形 (4)根据结果做好分析 提高要求: (1) 进一步分析其结果中的功率谱 (2)分析其调制后的信号星座图 有仿真文件和实验报告实验报告内容为图三解调端最头疼的是载波同步。原本想用Costas环结果发现16QAM的相位模糊问题比QPSK严重。最后改成判决反馈环看着眼图逐渐从一团乱麻变成清晰的眼睛这才松了口气。不过星座图还是有点雾里看花的意思——接收端的低通滤波器带宽没调准几个边角点的幅度明显缩水。// 解调端匹配滤波器设置 MatchedFilter( coefficients root_raised_cosine(0.35), decimation 8 ); DecisionCircuit( threshold [-3, -1, 1, 3] // 4电平判决门限 );跑完仿真切到频谱分析界面10MHz主瓣旁边的滚降特征很明显。用测量光标一拉主瓣宽度刚好是(1α)*Rs810Hz和理论计算对得上。不过边带上有几个小突起八成是成形滤波器的阶数不够。最惊艳的还是星座图恢复。开启符号采样功能后原本散落的点阵逐渐收敛成16个清晰的聚类。不过左上角的四个点明显比其他区域松散——检查发现是Q路放大器的增益比I路低了2%这误差在硬件电路里绝对能让误码率飙升。最后把发送端的二进制序列和接收端判决输出接进误码率计盯着显示屏上的BER: 2.3e-5看了半天。这指标在短波信道里算能用了不过要商用还得优化载波恢复算法。保存仿真文件时突然想起星座图的旋转问题还没解决——万一本地振荡器有频偏整个星座会像旋转木马一样转圈这事留着下次用锁相环搞定吧。