2. 仿真环境搭建:Matlab/Simulink仿真平台配置、信号源与频谱仪模型导入、链路预算仿真
好,咱们进入第二章。这一章说白了,就是搭台子。你想想看,联调校准要是没有个靠谱的仿真环境,那真就是盲人摸象。我个人习惯,在动手焊板子之前,至少要在软件里把链路跑通一遍。这章我们就聊聊怎么把Matlab/Simulink这个台子搭结实,再把信号源和频谱仪的模型请进来,最后算一笔链路预算的账。
2.1 Matlab/Simulink仿真平台配置
很多新人一上来就问我:“老师,Simulink是不是直接装好就能用?”嗯,这里要注意,装好只是第一步。你得针对射频仿真做专门的配置。我记得有一次,一个同事仿真结果总是不收敛,折腾了两天,最后发现是求解器步长设得太大了。
我个人建议,按下面几步来配置:
- 安装必备工具箱:RF Blockset、DSP System Toolbox、Signal Processing Toolbox。这三个是射频仿真的铁三角。
- 设置求解器:对于射频链路仿真,我一般选“固定步长”模式,步长设成载波周期的1/10到1/20。比如2.4GHz的信号,步长大概在4e-11秒左右。
- 配置工作空间:把仿真时间、采样率这些全局参数写到脚本里,别在模型里硬编码。方便后期批量跑参数。
小技巧:在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 链路预算仿真
链路预算,说白了就是算账。算算信号从发射端到接收端,一路损耗了多少,增益了多少,最后信噪比够不够。我刚开始做射频时,总觉得链路预算就是加减法,没什么技术含量。直到有一次,我算出来链路增益够,但实际系统就是解调不了——嗯,那是因为我没算噪声系数。
下面这张图,是我常用的链路预算仿真流程,你可以参考一下:
在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压缩点设得太理想了,实际模型应该带非线性特性。
嗯,这一章的内容就这些。环境搭好了,模型导入了,链路预算也算清楚了。接下来你就可以放心地在仿真环境里做各种调试了。记住,仿真环境越贴近真实硬件,联调时踩的坑就越少。