mcpField
M
matlab-model-rf

matlab-model-rf

github.com/matlab其他1.2k59 次安装1 天前更新
代码仓库

关于 matlab-model-rf

面向 MATLAB 的 RF Toolbox 和 RF Blockset 技能,供射频系统设计、分析与仿真使用。内容从 S 参数测量数据处理延伸到电路级和时域建模。

主要功能

  1. 01加载、绘制和转换 S 参数
  2. 02级联与去嵌入网络
  3. 03计算射频链路预算指标
  4. 04组合电路并设计匹配网络
  5. 05拟合模型并进行时域仿真

适用场景

  1. 01检查 Touchstone 测量数据和网络参数
  2. 02评估射频信号链的增益与噪声
  3. 03设计阻抗匹配网络并分析稳定性
  4. 04构建信号完整性通道模型

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/matlab/matlab-agentic-toolkit --skill matlab-model-rf

安装后在 Claude Code 中输入/matlab-model-rf确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

manifest.yaml
reference/
amplifier-analysis.md
amplifier-models.md
amplifier-nonlinear-models.md
baseband-processing.md
cascade-deembed.md
circle-computations.md
circuit-composition.md
ifft-step-response.md
lumped-to-distributed.md
matching-networks.md
mixer-analysis.md
network-conversions.md
rational-fitting.md
rfbudget-analysis.md
rfbudget-elements.md
rffilter-synthesis.md
si-channel-modeling.md
sparameters-io.md
system-simulation.md
time-domain-analysis.md
transmission-lines.md

详细介绍

RF Toolbox 和 RF Blockset

在 MATLAB 中设计、分析和仿真 RF 系统——从测量的 S 参数数据到完整的时域 Circuit Envelope 仿真。统一的工作流涵盖无源网络、有源器件表征、系统级级联预算和行为级时域建模。

适用场景

测量数据工作流

  • 加载 Touchstone 文件(.s1p 至 .snp),验证数据质量(无源性、因果性、IEEE P370)
  • 在 Smith 图和直角坐标图上绘图、插值、重新设置参考阻抗
  • 在 S、Z、Y、ABCD、T、H、G 参数之间转换;计算混合模差分参数
  • 级联和去嵌入 S 参数网络;移除测试夹具

系统设计与分析

  • 使用行为级元素(放大器、调制器、rffilter、nport 等)构建 RF 信号链
  • 使用 rfbudget 计算级联增益、噪声系数、IP3、SNR 和输出功率
  • 比较 Friis 与谐波平衡求解器的精度
  • 导出到 RF Blockset Simulink 模型、Communications Toolbox 或 MATLAB 脚本

电路级设计

  • 使用节点连线组合任意 RF 电路(类似 SPICE 网表)
  • 设计阻抗匹配网络(L、Pi、Tee 拓扑、Richards 短截线)
  • 分析放大器稳定性(K 因子、mu)、功率增益和匹配条件
  • 进行混频器互调分析和无杂散 IF 频率规划

时域与信号完整性

  • 将 S 参数拟合为有理模型;计算 TDR、脉冲和阶跃响应
  • 将宽带电路模型导出为 SPICE 或 Verilog-A
  • 使用 nport 模块、损耗传输线和寄生参数构建 SI 通道模型
  • 使用 rf.Amplifier、rf.Mixer、rf.Filter System Objects 处理复基带信号
  • 通过 rfsystem 进行完整的 Circuit Envelope 时域仿真(无需了解 Simulink)

不适用场景

  • 天线设计和辐射方向图——使用 Antenna Toolbox
  • RF 传播建模(路径损耗、衰落、射线追踪)——使用 Communications Toolbox 或 Phased Array System Toolbox
  • SerDes/高速串行链路均衡(FFE、CTLE、DFE、IBIS-AMI)——使用 SerDes Toolbox
  • 雷达波形设计或相控阵——使用 Phased Array System Toolbox

必须遵守的规则

这些规则适用于所有 RF Toolbox 工作流。违反规则会导致静默错误或阻止执行。

通用
  1. rfwrite 遇到已有文件时会阻塞——始终传入 'ForceOverwrite', true。否则 MATLAB 会打开交互式覆盖对话框,导致无人值守执行挂起。
  2. 元素不能重复使用——同一个元素对象不能在 rfbudget 或电路中出现两次。请使用 clone(element) 创建独立副本。
  3. 元素名称必须是有效的 MATLAB 标识符——不能包含空格或特殊字符。使用 'IFAmp',而不是 'IF Amp'。
  4. 使用 tiledlayout/nexttile——不要使用 subplot。适用于所有多面板图。
  5. rfparam 返回的是复数,而不是 dB——计算 dB 幅值时始终使用 20*log10(abs(rfparam(...)))。
S 参数和网络参数
  1. sparameters(filename, Z0) 无效——加载时不能传入参考阻抗。先加载,再使用 newref(s, Z0)。
  2. rfinterp1 分别对实部和虚部进行插值——而不是对幅值和相角插值。在尖锐谐振附近可能产生伪影。
  3. 级联/去嵌入要求频率对齐——cascadesparams 和 deembedsparams 要求频率向量完全相同。请始终先使用 rfinterp1 插值到相同网格。
  4. deembedsparams 始终需要 3 个参数——(sMeasured, sFixture1, sFixture2)。对于单侧去嵌入,未使用的一侧需传入理想直通网络。
  5. 混合模端口顺序是最常见的错误来源——s2sdd 的选项 1(默认值)将端口 1、2 视为正端,将端口 3、4 视为负端。请确认哪种选项与 VNA 端口编号相符。
  6. snp2smp 参数顺序:端口在阻抗之前——使用 snp2smp(s, portList, Z0),而不是 snp2smp(s, Z0, portList)。
rfbudget 和 Elements
  1. SignalBandwidth 是必需的——它是 rfbudget 的第 4 个位置参数。若不提供,NF/IP3/SNR 将为空。
  2. 无源器件的 NF 等于损耗——对于 rfelement,NF 应等于 abs(Gain)。建议使用 attenuator,它会自动处理。
  3. nport 的 Name 是位置参数——使用 nport('file.s2p', 'MyName'),而非名称-值语法。
  4. rffilter:ResponseType 表示形状,FilterType 表示算法——rffilter('FilterType', 'Bandpass') 会报错。请使用 rffilter('ResponseType', 'Bandpass')。
  5. show(b) 会打开 GUI——不会在命令窗口输出内容。要以编程方式访问,请使用属性(b.TransducerGain、b.NF)。
电路组合
  1. setports/setterminals 只能调用一次——定义端子前请先规划拓扑。
  2. 2 端口 RF 元件使用 4 节点映射——对于放大器、调制器、nport 和所有 txline 类型,使用 add(ckt, [in out inRef outRef], elem)。基本 2 端子元件(电阻、电容、电感)使用 2 节点映射。
  3. 基本元件的构造函数使用位置参数——使用 resistor(100, 'R1'),而非 resistor('Resistance', 100)。
  4. setterminals 接受节点向量——使用 setterminals(ckt, [1 2]),而非 setterminals(ckt, 1, 2)。
  5. 所有 txline 构造函数仅使用名称-值对——不接受位置参数。
放大器分析
  1. powergain 的增益类型字符串必须放在最后——使用 powergain(s, 50, 50, 'Gt'),而非 powergain(s, 'Gt', 50, 50)。
  2. powergain 返回线性值,而非 dB——使用 10*log10(g) 转换(功率增益使用 10 倍,而非 20 倍)。
  3. 条件稳定时,Gmag 返回 NaN——在 K < 1 的频率下使用 Gmsg。
有理函数拟合
  1. rational 与 rationalfit——新代码请使用 rational(AAA)。仅在提取延迟时使用 rationalfit。
  2. 单参数拟合返回普通向量;多端口拟合返回元胞数组——始终使用 iscell(result) 检查。
  3. freqresp 接受 Hz——而非 rad/s。直接传入 s.Frequencies。
系统对象(rf.*)
  1. rf.Amplifier/rf.Mixer 使用 1 欧姆功率——Vin = sqrt(Pin_W)。这与使用 50 欧姆的 rfsystem 不同。
  2. rf.Filter 频率为绝对 RF 频率——PassFreq_bp=[2.395e9 2.405e9] 表示绝对 GHz,而非基带偏移。
  3. 使用期间属性会被锁定——修改 Nontunable 属性前,请调用 release(obj)。
rfsystem
  1. 需要 rfbudget——rfsystem 接受 rfbudget,而非原始元件。
  2. close_system 需要保存标志——使用 close_system(rfs, 0) 丢弃更改。
  3. IdealizedBaseband 仅支持 amplifier/modulator/rffilter/nport——其他元件需要使用 CircuitEnvelope。

工作流速查

任务入口点详情
加载/绘制 S 参数sparameters、rfplot、smithplotreference/sparameters-io.md
转换 S/Z/Y/ABCD、混合模式zparameters、s2sdd、snp2smpreference/network-conversions.md
级联或去嵌网络cascadesparams、deembedsparamsreference/cascade-deembed.md
创建 rfbudget 元件amplifier、modulator、rffilter 等reference/rfbudget-elements.md
运行级联预算分析rfbudget、rfplot(b, 'Pout')reference/rfbudget-analysis.md
组合 RF 电路circuit、add、setportsreference/circuit-composition.md
设计匹配网络matchingnetwork、richardsreference/matching-networks.md
分析放大器稳定性/增益stabilityk、powergain、gammamsreference/amplifier-analysis.md
混频器杂散与 IF 规划mixerIMT、OpenIFreference/mixer-analysis.md
拟合有理模型、TDRrational、stepresp、generateSPICEreference/rational-fitting.md
构建 SI 信道模型nport + txlineWRLGC + circuitreference/si-channel-modeling.md
处理复基带rf.Amplifier、rf.Mixer、rf.Filterreference/baseband-processing.md
时域系统仿真rfsystem、Circuit Envelopereference/system-simulation.md

约定

代码风格
  • 多面板图形使用 tiledlayout/nexttile(而非 subplot)
  • 始终为坐标轴标注单位(GHz、dB、ns、dBm),并添加图形标题
  • 为元件使用描述性名称,以便清晰呈现拓扑('LNA'、'DCBlock'、'PCBTrace')
  • 充分使用 clone() 复用元件
脚本优先工作流

对于设计、分析或扫描任务,应将代码写入磁盘上的 .m 文件,而不是使用内联代码片段。快速的一次性检查可以使用内联 evaluate_matlab_code。

现代 API
  • 使用 tiledlayout/nexttile,而非 subplot
  • 使用 datetime,而非 datenum
  • 使用 rational,而非 rationalfit(除非需要提取延迟)
  • 使用 smithplot,而非 smith
  • 使用 rfplot 可视化 S 参数(会自动处理 dB 转换)
参考资料

在为特定工作流编写代码之前,先加载相关参考文件。每份参考资料都包含正确的调用约定、构造函数参数、属性名称、注意事项和可执行代码模式。


Copyright 2026 The MathWorks, Inc.


评论

支持 Markdown