2. 仿真环境搭建:Matlab/Simulink仿真平台配置、信号源与频谱仪模型导入、链路预算仿真

好,咱们进入第二章。这一章说白了,就是搭台子。你想想看,联调校准要是没有个靠谱的仿真环境,那真就是盲人摸象。我个人习惯,在动手焊板子之前,至少要在软件里把链路跑通一遍。这章我们就聊聊怎么把Matlab/Simulink这个台子搭结实,再把信号源和频谱仪的模型请进来,最后算一笔链路预算的账。

2.1 Matlab/Simulink仿真平台配置

很多新人一上来就问我:“老师,Simulink是不是直接装好就能用?”嗯,这里要注意,装好只是第一步。你得针对射频仿真做专门的配置。我记得有一次,一个同事仿真结果总是不收敛,折腾了两天,最后发现是求解器步长设得太大了。

我个人建议,按下面几步来配置:

  1. 安装必备工具箱:RF Blockset、DSP System Toolbox、Signal Processing Toolbox。这三个是射频仿真的铁三角。
  2. 设置求解器:对于射频链路仿真,我一般选“固定步长”模式,步长设成载波周期的1/10到1/20。比如2.4GHz的信号,步长大概在4e-11秒左右。
  3. 配置工作空间:把仿真时间、采样率这些全局参数写到脚本里,别在模型里硬编码。方便后期批量跑参数。

小技巧:在Matlab命令行里输入 rfplot 可以快速查看RF Blockset里所有可用的元件模型。我经常用这个命令来确认工具箱是否加载成功。

2.2 信号源与频谱仪模型导入

环境搭好了,接下来就是把仪器模型请进来。你想想看,真实的信号源和频谱仪动辄几十万,咱们在仿真里用模型替代,既省钱又高效。

在Simulink里,信号源模型我常用的是RF Blockset里的 RF Source 模块。它可以设置频率、功率、相位噪声。频谱仪则用 Spectrum Analyzer 模块,这个在DSP System Toolbox里。

我曾经在一个5G项目里,需要模拟一个带相位噪声的本振信号。直接用理想源仿真,结果跟实测差了3个dB。后来我把信号源的相位噪声模型加进去,仿真结果就跟实测对上了。所以,别偷懒,模型越真实,仿真越靠谱。

导入步骤很简单:

  • 从库浏览器拖出 RF Source,双击设置中心频率2.4GHz,功率0dBm。
  • 拖出 Spectrum Analyzer,设置RBW为100kHz,Span为20MHz。
  • 用 RF Blockset 里的 Amplifier 模块连接两者。

避坑指南:我曾经遇到过频谱仪模型显示“无信号”,查了半天发现是采样率不匹配。信号源的采样率必须大于2倍的最高频率,否则频谱仪看到的就是混叠后的假信号。

2.3 链路预算仿真

链路预算,说白了就是算账。算算信号从发射端到接收端,一路损耗了多少,增益了多少,最后信噪比够不够。我刚开始做射频时,总觉得链路预算就是加减法,没什么技术含量。直到有一次,我算出来链路增益够,但实际系统就是解调不了——嗯,那是因为我没算噪声系数。

下面这张图,是我常用的链路预算仿真流程,你可以参考一下:

链路预算仿真流程图 信号源模型 Pout = 0 dBm 传输线损耗 Loss = -2 dB 低噪声放大器 Gain = 20 dB, NF = 1.5 dB 混频器 Conversion Loss = -6 dB 频谱仪模型 Pin = 12 dBm 链路预算计算 Pout = 0 - 2 + 20 - 6 = 12 dBm 信噪比需大于解调门限

在Simulink里做链路预算仿真,我一般会建一个参数表,把每一级的增益、噪声系数、1dB压缩点都列出来。然后跑一次仿真,看输出功率和信噪比。

级联模块 增益 (dB) 噪声系数 (dB) 输出功率 (dBm)
信号源 — — 0
传输线 -2 2 -2
低噪声放大器 20 1.5 18
混频器 -6 6 12
级联总指标 12 2.1 12

核心要点:链路预算不是简单的加减法。噪声系数的级联公式(Friis公式)一定要用对。我见过太多人直接把各级NF相加,结果算出来的灵敏度完全不对。记住,第一级的增益和NF决定了整个链路的底噪。

仿真跑完后,记得把结果跟理论计算对比一下。如果偏差超过0.5dB,就要回头检查模型参数或者求解器设置。我曾经有一次,仿真结果比理论值高了1dB,最后发现是放大器的1dB压缩点设得太理想了,实际模型应该带非线性特性。

嗯,这一章的内容就这些。环境搭好了,模型导入了,链路预算也算清楚了。接下来你就可以放心地在仿真环境里做各种调试了。记住,仿真环境越贴近真实硬件,联调时踩的坑就越少。