mcpField
M
matlab-model-rf

matlab-model-rf

github.com/matlabその他1.2k59 回インストール1 日前に更新
リポジトリ

matlab-model-rf について

RFシステムの設計、解析、シミュレーションに使う MATLAB の RF Toolbox/RF Blockset スキルです。測定Sパラメーターの処理から、回路レベルおよび時間領域のモデル化まで扱います。

主な機能

  1. 01Sパラメーターの読み込み、描画、変換
  2. 02ネットワークのカスケードとデエンベディング
  3. 03RFカスケード予算指標の計算
  4. 04回路構成とマッチングネットワーク設計
  5. 05モデルフィッティングと時間領域シミュレーション

活用シーン

  1. 01Touchstone測定値とネットワークパラメーターの確認
  2. 02RF信号チェーンの利得と雑音の評価
  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 and RF Blockset

測定済みの S パラメータデータから完全な時間領域 Circuit Envelope シミュレーションまで、MATLAB で RF システムを設計、解析、シミュレーションします。受動ネットワーク、アクティブデバイスの特性評価、システムのカスケード予算、振る舞いベースの時間領域モデリングを網羅する、統一されたワークフローです。

使用する場面

測定データのワークフロー

  • Touchstone ファイル(.s1p から .snp)を読み込み、品質(パッシビティ、因果性、IEEE P370)を検証する
  • スミスチャートや直交座標プロットに描画し、補間してインピーダンスの基準を変更する
  • S、Z、Y、ABCD、T、H、G パラメーター間で変換し、混合モード差動パラメーターを計算する
  • S パラメータネットワークをカスケード接続してディエンベディングし、フィクスチャを除去する

システム設計と解析

  • 振る舞いベースの要素(アンプ、モジュレーター、rffilter、nport など)から RF 信号チェーンを構築する
  • rfbudget を使用して、カスケード接続時のゲイン、雑音指数、IP3、SNR、出力電力を計算する
  • Friis と Harmonic Balance ソルバーの精度を比較する
  • RF Blockset Simulink モデル、Communications Toolbox、または MATLAB スクリプトにエクスポートする

回路レベルの設計

  • ノード配線(SPICE のようなネットリスト)で任意の RF 回路を構成する
  • インピーダンス整合ネットワーク(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 または回路内に 2 回配置することはできません。独立したコピーには clone(element) を使用してください。
  3. 要素の Name は有効な MATLAB 識別子である必要があります -- スペースや特殊文字は使用できません。'IF Amp' ではなく 'IFAmp' を使用してください。
  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 は1回しか呼び出せません -- 端子を定義する前に、トポロジーを計画してください。
  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) で変換します(電力ゲインでは20倍ではなく10倍を使います)。
  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

規約

コードスタイル
  • 複数パネルの図には subplot ではなく、tiledlayout/nexttile を使用します
  • 軸には必ず単位(GHz、dB、ns、dBm)を付け、図のタイトルも含めます
  • トポロジーを読みやすくするため、要素には説明的な名前('LNA'、'DCBlock'、'PCBTrace')を付けます
  • 要素の再利用には積極的に clone() を使用します
スクリプト優先のワークフロー

設計、解析、またはスイープのタスクでは、コードをインラインのスニペットではなく、ディスク上の .m ファイルに記述します。手早い単発の確認であれば、インラインの evaluate_matlab_code を使用してもかまいません。

モダン API
  • subplot ではなく tiledlayout/nexttile
  • datenum ではなく datetime
  • rationalfit ではなく rational(遅延の抽出が必要な場合を除く)
  • smith ではなく smithplot
  • S パラメーターの可視化には rfplot(dB 変換を自動的に処理します)
リファレンス

特定のワークフローのコードを書く前に、該当するリファレンスファイルを読み込みます。各リファレンスには、正しい呼び出し規約、コンストラクターの引数、プロパティ名、注意点、実行可能なコードパターンが記載されています。


Copyright 2026 The MathWorks, Inc.


コメント