主要内容

使用 Simulink 检查 256-QAM

此示例说明如何使用 Simulink® 对包含正交调幅 (QAM)、加性高斯白噪声 (AWGN) 信道和相位噪声的通信系统进行建模。该模型显示 256-QAM 信号的星座图并执行误码率 (BER) 计算。

概述

cm_commphasenoise 模型仿真 AWGN 和相位噪声对 256-QAM 信号的影响。

  • Bernoulli Binary Generator 模块生成由范围 [0, 255] 内的 8 位二进制值序列组成的随机信号。

  • Rectangular QAM Modulator Baseband 模块使用基带 256 进制 QAM 调制信号。

  • AWGN Channel 模块通过向调制信号添加高斯白噪声对含噪信道进行建模。

  • Phase Noise 模块在其复输入信号的相位角中引入噪声。

  • Rectangular QAM Demodulator Baseband 模块对信号进行解调。

这些附加模型模块可帮助您解释仿真结果。

  • Constellation Diagram 模块显示添加了 AWGN 和相位噪声的信号的星座图。

  • Error Rate Calculation 模块对接收信号与发射信号之间不同的位进行计数。

  • 标注 outputErr 的 To Workspace 模块将结果输出到工作区以在绘制结果时使用。

  • 标注 Display BER Plot 的 Callback Button 打开一个绘图,其中显示不同相位噪声电平下 256-QAM 发射和接收的 Eb/N0 性能曲线。

数字调制

模型对 QAM 进行仿真,这是一种将数字信号转换为复信号的方法。该模型将信号调制到一个复数序列上,这些复数位于复平面的一个点阵上,这个点阵称为信号的星座图。这些点的绘图称为信号的散点图星座图

此处显示的星座图显示添加了 AWGN 以及添加了 AWGN 和相位噪声的基带 256 进制 QAM。由于添加了噪声,星座图中的点并未精确位于图窗中所示的星座图上。相位噪声会改变复调制信号的相位角,导致星座图点发生径向位移。

运行仿真

默认模型配置的运行持续时间设置为 inf。Error Rate Calculation 模块配置为运行到发生 100 个错误。要在发生 100 个错误之前停止仿真,请在仿真选项卡上点击停止

显示错误率

Display 模块显示由 AWGN 信道和相位噪声引入的错误数量。当您运行仿真时,该模块中会出现三个小框,显示来自 Error Rate Calculation 模块的向量输出。向量值为 [BER, 错误总数, 比较的总位数]。

显示相位噪声图

要显示在一系列相位噪声设置下 BER 随 Eb/N0 变化的以下曲线图,请双击模型中的 Display BER Plot 模块。

进一步探查

您可以通过设置参数来控制 Simulink 模块的工作方式。要查看或更改仿真参数,请双击一个模块以打开其模块封装。

要更改相位噪声量,请打开 Phase Noise 模块封装,并为 Phase noise level (dBc/Hz) 参数输入新值。点击确定以应用新设置。

要更改噪声量,请打开 AWGN Channel 模块封装,并为 Eb/No (dB) 参数输入新值。减小此参数值会增大噪声电平。点击确定以应用新设置。

降低相位噪声和增大 Eb/N0 可从模型中去除噪声。由于模型配置为运行到发生 100 个错误,因此,当模型中的噪声很小时,仿真运行时间较长。要限制最长仿真运行时间,您可以将运行持续时间从 inf 减小到较小的值,例如 10

要生成新结果,请使用修改后的设置运行仿真。

您也可以在参数中输入变量名称。然后在 MATLAB® 命令行中设置工作区中该变量的值。在使用不同参数值运行多个仿真时,在命令行窗口中设置参数会很方便。

您还可以使用回调函数来配置仿真。此模型中多个参数的默认设置是使用 PreLoadFcn 回调函数设置的。有关模型属性和回调函数的详细信息,请参阅模型回调 (Simulink)

绘制不同噪声电平下的 BER

plot_256qam_ber_curves.m MATLAB® 程序文件通过使用不同的 Phase noise level (dBc/Hz)Eb/No (dB) 参数值运行多个仿真,生成此示例中呈现的 BER 图。每条曲线都是在固定相位噪声量下 BER 随信噪比变化的绘图。对于每个绘制的 BER 点,当达到 1000 个误码或比较了 1e8 个位时,仿真停止。由于输入信号和仿真损伤的随机性,每次运行的结果有所不同。

另请参阅

主题