mcpField
M
matlab-manage-pcb-material

matlab-manage-pcb-material

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

matlab-manage-pcb-material について

RF PCB Toolbox の設計で誘電体と導体の材料を定義する MATLAB スキルです。RF PCB 設計者がカタログ材料や独自材料を選び、多層基板や周波数依存の誘電特性を設定できます。

主な機能

  1. 01カタログまたは独自の誘電体作成
  2. 02導体材料の定義
  3. 03多層基板の構築
  4. 04誘電分散モデルの設定
  5. 05材料カタログと特性の参照

活用シーン

  1. 01RF PCB コンポーネントの材料設定
  2. 02多層誘電体スタックのモデル化
  3. 03周波数依存の基板損失の表現

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/matlab/matlab-agentic-toolkit --skill matlab-manage-pcb-material

インストール後、Claude Code で/matlab-manage-pcb-materialを入力して読み込まれたか確認します。

同梱ファイルmanifest.yaml

詳細

RF PCB Toolbox の材料の管理

使用する場面

  • 伝送線路、フィルター、カプラー、またはカスタムの pcbComponent 設計用の誘電体基板を作成する場合
  • 現実的な導体損失をモデル化するために金属(Copper、Gold など)を選択する場合
  • ストリップラインまたは埋め込み設計用の多層誘電体スタックを構築する場合
  • 広帯域での精度を高めるために、周波数依存の分散モデル(DjordjevicSarkar)を選択する場合
  • カタログの材料特性を調べたり、カスタム材料を追加したりする場合

使用しない場面

  • PCB のレイヤー構造そのものを構築する場合 — matlab-assemble-pcb-layout を使用してください
  • 材料の定義後に EM 解析を実行する場合 — matlab-analyze-em を使用してください
  • 基板が必要な伝送線路を設計する場合 — matlab-design-pcb-transmission-line を使用してください(材料の詳細については、このスキルを参照します)
  • 既存のボードファイルから材料特性をインポートする場合 — matlab-read-pcb-layout を使用してください

一般的なワークフロー

  1. このスキル: 基板、導体、スタックアップを定義します — 通常、あらゆる RF PCB 設計で最初に行う手順です
  2. 次に: 任意の設計スキル(matlab-design-pcb-filter、matlab-design-pcb-transmission-line、matlab-assemble-pcb-layout、matlab-model-via)を使用し、材料をコンポーネントに渡します

クイックリファレンス

タスクコード
カタログから誘電体を取得sub = dielectric("FR4")
カスタム誘電体sub = dielectric(Name="MyMat", EpsilonR=4.4, LossTangent=0.02, Thickness=1.6e-3)
多層誘電体sub = dielectric("FR4","Teflon"); sub.Thickness = [0.8e-3 0.4e-3]
カタログから金属を取得cond = metal("Copper")
カスタム金属cond = metal(Name="MyMetal", Conductivity=5.8e7, Thickness=35e-6)
誘電体の一覧を表示DielectricCatalog
金属の一覧を表示MetalCatalog
周波数依存sub = dielectric(..., Frequency=1e9)
周波数での特性を取得[epsr, tand, f] = getMaterialProperties(sub, freqVector)

誘電体の作成

dielectric オブジェクトで基板の特性を定義します。組み込みカタログから作成するか、カスタムパラメーターを指定します。

カタログから作成
sub = dielectric("FR4");
sub = dielectric("Teflon");
sub = dielectric("RO4730JXR");
sub = dielectric("TMM10");

カタログ内のすべての名前を確認するには:

dc = DielectricCatalog;
disp(dc.Materials)

カタログで使用できる名前(R2026a):Air、FR4、Teflon、Foam、Polystyrene、Plexiglas、Fused quartz、E glass、RO4725JXR、RO4730JXR、TMM3、TMM4、TMM6、TMM10、TMM10i、Taconic RF-35。材料が一覧にない場合は、add(dc, ...) でカスタム材料を追加してください。

カスタム特性
sub = dielectric(Name="Rogers4350B", EpsilonR=3.66, LossTangent=0.0037, Thickness=0.508e-3);
主なプロパティ
プロパティ説明単位
Name材料の識別子文字列
EpsilonR比誘電率無次元
LossTangent誘電正接(tan δ)無次元
Thickness層の厚さメートル
Frequency誘電正接の基準周波数Hz
FrequencyModel'Constant'、'DjordjevicSarkar'、'MeanDjordjevicSarkar'、または 'TableDriven'—
カタログの参照
dc = DielectricCatalog;
open(dc)               % Opens interactive catalog viewer
disp(dc.Materials)     % List all materials as a table
s = find(dc, "FR4");   % Returns struct with Name, Relative_Permittivity, Loss_Tangent, Frequency, Comments

金属の作成

metal オブジェクトで導体の特性を定義します。

カタログから作成
cond = metal("Copper");       % Conductivity=5.96e7, Thickness=35.56e-6 (1 oz)
cond = metal("Aluminium");    % Conductivity=3.77e7, Thickness=762e-6
cond = metal("Gold");         % Conductivity=4.11e7, Thickness=0.2e-6

カタログで使用できる金属(R2026a):PEC、Copper、Aluminium、Gold、Silver、Zinc、Tungsten、Lead、Iron、Steel、Brass。

カスタム特性
cond = metal(Name="ThickCopper", Conductivity=5.8e7, Thickness=70e-6);
カタログの参照
mc = MetalCatalog;
open(mc)                    % Opens interactive catalog viewer
disp(mc.Materials)          % List all metals as a table
s = find(mc, "Aluminium");  % Returns struct with Name, Conductivity, Thickness, Units, Comments
コンポーネントへの割り当て
mline = microstripLine;
mline.Conductor = metal("Copper");

多層基板

多くの RF PCB コンポーネントは、多層誘電体スタックに対応しています。複数の材料名を渡すか、ベクトルプロパティを使用してください。

簡略構文(カタログ名)
sub = dielectric("FR4", "Teflon");
sub.Thickness = [0.0016 0.0008];
明示的な多層指定
sub = dielectric(Name={"FR4","Foam","FR4"}, ...
    EpsilonR=[4.4 1.05 4.4], ...
    LossTangent=[0.02 0.001 0.02], ...
    Thickness=[0.4e-3 0.8e-3 0.4e-3]);

重要:Name には文字列配列 [...] ではなく、セル配列 {...} を使用してください。文字列配列の連結(["FR4","Foam"])は、複数要素の配列ではなく、単一の文字列 "FR4Foam" を生成します。

コンポーネントへの割り当て
balun = balunMarchand;
balun.Height = 0.0016;
balun.Substrate = sub;
show(balun);

多層基板は、Substrate または Height プロパティを持つすべてのカタログコンポーネント(伝送線路、フィルター、カプラー、スプリッターなど)でサポートされています。

pcbComponent の誘電体

pcbComponent でカスタム構造を構築する場合、誘電体は Layers セル配列内のレイヤーとして表示されます。

pcb = pcbComponent;
substrate = dielectric("RO4730JXR");
substrate.Thickness = 1.52e-3;
ground = traceRectangular(Length=20e-3, Width=10e-3);

pcb.BoardThickness = substrate.Thickness;
pcb.Layers = {signalTrace, substrate, ground};

多層誘電体の pcbComponent スタック(5 層)の場合:

sub1 = dielectric(Name="FR4", EpsilonR=4.4, LossTangent=0.02, Thickness=0.8e-3);
sub2 = dielectric(Name="FR4", EpsilonR=4.4, LossTangent=0.02, Thickness=0.8e-3);

pcb.BoardThickness = sub1.Thickness + sub2.Thickness;
pcb.Layers = {topTrace, sub1, groundPlane, sub2, bottomTrace};

周波数依存損失モデル

広帯域で正確なモデリングを行うには、損失正接の基準周波数を指定します。

sub = dielectric(Name="FR4", EpsilonR=4.4, LossTangent=0.02, ...
    Thickness=1.6e-3, Frequency=1e9);

Frequency を指定すると、FrequencyModel プロパティは自動的に 'DjordjevicSarkar' になります。この因果モデルは、解析帯域幅全体にわたって誘電率と損失正接を外挿し、物理的に一貫した結果を保証します。Frequency を指定しない場合、モデルは 'Constant'(周波数に依存しない)を使用します。

利用可能な分散モデル:

  • "Constant" --(デフォルト)周波数に依存しない誘電率と損失正接
  • "DjordjevicSarkar" -- 広帯域因果モデル。PCB 基板に最適です
  • "MeanDjordjevicSarkar" -- DjordjevicSarkar の平均化バージョン
  • "TableDriven" -- ベンダーのデータシートから取得した、ユーザー指定の周波数依存データ
周波数モデルの選択ガイド
周波数範囲推奨モデル使用例
DC -- 1 GHzConstant(デフォルト)低周波数での迅速な推定
1 -- 40 GHzDjordjevicSarkarほとんどの RF PCB 設計、FR4/Rogers
ベンダーデータを使用する広帯域TableDrivenメーカーの誘電率対周波数曲線をインポート
広帯域モデルのフィッティングMeanDjordjevicSarkar広帯域スイープ向けの平均化された因果モデル
分散を考慮したプロパティの取得

getMaterialProperties() を使用して、アクティブな分散モデルを考慮しながら、指定した周波数での誘電率と損失正接を計算します。

sub = dielectric("FR4");
sub.FrequencyModel = "DjordjevicSarkar";
sub.Frequency = 1e9;

% Get properties across a frequency sweep
freq = linspace(1e8, 10e9, 100);
[epsr, tand, f] = getMaterialProperties(sub, freq);

% Plot frequency-dependent permittivity
plot(f/1e9, epsr);
xlabel("Frequency (GHz)"); ylabel("\epsilon_r");
title("FR4 Permittivity (DjordjevicSarkar)");

一般的な材料パラメーター

誘電体カタログ値(R2026a)
材料EpsilonRLossTangentFreq (Hz)備考
FR44.80.0261e8標準 PCB
Teflon2.10.00021e8低損失 PTFE
Foam1.030.000155e7空気に近いスペーサー
RO4725JXR2.550.00222.5e9Rogers、ハロゲンフリー
RO4730JXR3.00.00232.5e9Rogers、ハロゲンフリー
TMM109.80.00221e10セラミック充填 PTFE
Taconic RF-353.50.00181.9e9低損失 RF

カタログにないため、手動で作成する必要がある材料:

sub = dielectric(Name="RO4003C", EpsilonR=3.38, LossTangent=0.0027, Thickness=0.508e-3);
sub = dielectric(Name="RO4350B", EpsilonR=3.66, LossTangent=0.0037, Thickness=0.508e-3);
金属カタログ値(R2026a)
金属導電率(S/m)カタログ厚さ備考
PECInf0完全導体(デフォルト)
Copper5.96e735.56 μm(1.4 mil、1 oz)最も一般的
Aluminium3.77e7762 μm(30 mil)
Gold4.11e70.2 μmめっき
Silver6.3e70.2 μm最も高い導電率

注意点

  1. Layers の前に BoardThickness を設定してください:pcbComponent.BoardThickness は、すべての誘電体の厚さの合計と一致する必要があります。必ず Layers より前に BoardThickness を割り当ててください。順序を逆にすると警告が表示され、誘電体の厚さが気付かないうちに上書きされます。

  2. デフォルトの導体は PEC です:Conductor を割り当てない場合、コンポーネントでは完全導体(損失なし)が使用されます。現実的な損失をモデル化するには、必ず metal("Copper") を割り当ててください。

  3. Rogers の材料は、ほとんどがカタログにありません:DielectricCatalog に含まれているのは RO4725JXR と RO4730JXR のみです。RO4003C、RO4350B、RO3003 などの一般的な基板材料は、データシートの値から手動で作成する必要があります。dielectric("RO4003C") を呼び出すとエラーになります。

  4. 複数層の場合、Thickness の要素数を一致させてください:ベクトル形式の Thickness を使用する場合、要素数は名前または EpsilonR 値の数と一致している必要があります。数が一致しないとエラーが発生します。

  5. 単位は常に SI 単位です:厚さの単位はメートルです(mm や mil ではありません)。厚さ 1.6 mm の基板は 1.6 ではなく 1.6e-3 と指定します。

  6. FrequencyModel は設計後に設定できます。 design() によってデフォルトの定数誘電体を持つコンポーネントが作成された後、次のように DjordjevicSarkar に切り替えることができます:obj.Substrate.FrequencyModel = 'DjordjevicSarkar'; obj.Substrate.Frequency = 1e9;。設計手順で周波数依存の基板を受け付けない場合に便利です。

  7. 名前付きのカタログ誘電体は単層です:dielectric("FR4") は、カタログの固定プロパティを持つ 1 層のオブジェクトを作成します。複数層の pcbComponent スタックには、各層に対して EpsilonR、LossTangent、スカラー値の Thickness を明示した、名前なしの dielectric オブジェクトを個別に作成してください。Layers のセル配列で層ごとの厚さを制御する必要がある場合は、名前付きのカタログ項目を使用しないでください。

  8. viaSingleEnded の誘電体層数:viaSingleEnded 用に複数層の基板を構築する場合、誘電体層の数は、スタックアップ内の導体層数 N に対して N-1 である必要があります(例:Signal=[1 5]、Ground=[3 7] → 金属層 4 層 → 誘電体層 3 層)。viaSingleEnded(N) コンストラクターを使用すると、ソルダーマスク層が自動的に追加されます。正確な要件については、matlab-model-via の注意点 #17 を参照してください。すべての誘電体プロパティ配列(Name、EpsilonR、LossTangent、Thickness、Frequency)のサイズを一致させる必要があります。

関連スキル

  • matlab-assemble-pcb-layout — カスタム pcbComponent 構造で材料を使用する方法
  • matlab-analyze-em — 材料特性がソルバーの精度に与える影響
  • matlab-design-pcb-transmission-line — インピーダンス制御のための基板選定

Copyright 2026 The MathWorks, Inc.

コメント