matlab-simulate-bluetooth-network について
MATLABの無線ネットワークシミュレーションでBluetoothを扱うスキルです。BLEやクラシックBluetoothのネットワークをモデル化し、接続設定、トラフィック規則、トポロジー別KPIを扱います。
主な機能
- 01BLE ACLおよびCISネットワークのシミュレーション
- 02BR/EDRピコネットのシミュレーション
- 03接続とノード役割の設定
- 04トポロジー別のKPIとレイヤー選択
活用シーン
- 01BLEのポイントツーポイント接続やスター接続の評価
- 02LE Audioのユニキャスト接続のモデル化
- 03クラシックBluetoothの音声・データネットワークの分析
- 04BLEとBR/EDRの共存検討
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ matlab/ matlab-agentic-toolkit --skill matlab-simulate-bluetooth-networkインストール後、Claude Code で/matlab-simulate-bluetooth-networkを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
manifest.yamlreferences/ble-cis.mdble-connection.mdble-gap-connection.mdbluetooth-bredr.mdbluetooth-coexistence.md詳細
Bluetooth システムレベルシミュレーション
すべての Bluetooth システムレベルシミュレーションのエントリーポイントです。すべての Bluetooth シミュレーションでは sim = wirelessNetworkSimulator.init を使用し、matlab-simulate-wireless-network で定義されているワークフロー(シミュレーターの初期化、トラフィック、モビリティ、計測、addNodes、実行)に従います。
使用する場面
- BLE ACL のポイントツーポイント接続またはスター型ネットワーク接続
- CIS/CIG を使用した LE Audio ユニキャスト(ステレオスピーカー、補聴器)
- BLE GAP 接続の確立(アドバタイズ、スキャン、接続タイミング)
- ACL データまたは SCO 音声を使用する Classic BR/EDR ピコネット
- 適応型周波数ホッピングを使用する BLE + BR/EDR の共存
bluetoothLENode、bluetoothNodeを使用するシミュレーション全般
使用しない場面
- Bluetooth 以外のワイヤレスシミュレーション(代わりに
matlab-simulate-wireless-networkを使用してください) - PHY レイヤーまたはリンクレベルの Bluetooth 波形生成、受信機解析、BER 解析
- 汎用のシミュレーター設定、トラフィックモデル、モビリティ(代わりに
matlab-simulate-wireless-networkを使用してください)
シナリオ → リファレンスの参照先
| シナリオ | リファレンス |
|---|---|
| 現実的な BLE 接続セットアップ(アドバタイズ、スキャン、GAP) | references/ble-gap-connection.md |
| BLE のポイントツーポイントデータ、スター型ネットワーク、ACL 接続 | references/ble-connection.md |
| LE Audio ユニキャスト(ステレオスピーカー、補聴器、CIS/CIG) | references/ble-cis.md |
| Classic Bluetooth イヤホン、SCO 音声、ACL データ | references/bluetooth-bredr.md |
| BLE + BR/EDR の共存、適応型周波数ホッピング | references/bluetooth-coexistence.md |
| キャプチャと可視化(PCAP、IQ、イベントトレース、トラフィックビューアー) | matlab-simulate-wireless-network スキルを参照してください |
ノードの役割
- BLE(ACL、CIS):
bluetoothLENode("central")、bluetoothLENode("peripheral") - BR/EDR:
bluetoothNode("central")、bluetoothNode("peripheral")— セントラルあたり最大 7 台のペリフェラル
トラフィックの割り当てルール
addTrafficSource(sourceNode, traffic, ...):
- ACL/CIS/BR/EDR:
DestinationNode=peerが必要です。CIS ではCISConfig=cfgCISOutも必要です。 - BR/EDR SCO:トラフィック呼び出しは不要です。接続設定の
SCOPacketTypeによって暗黙的に処理されます。
kpi() の利用可否
| トポロジー | "throughput" | "latency" | "PLR" / "PDR" | レイヤー |
|---|---|---|---|---|
| BLE ACL | LL のみ | App のみ | LL と App の両方 | "LL" または "App" |
| BLE CIS | LL のみ | App のみ | LL と App の両方 | "LL" または "App" |
| BR/EDR | ベースバンド | — | ベースバンド | "Baseband" |
接続/設定のセットアップ
| トポロジー | 設定オブジェクト | 関数 | 備考 |
|---|---|---|---|
| BLE ACL | bluetoothLEConnectionConfig | configureConnection(cfg, central, peripheral) | ループ内でペリフェラルごとに呼び出します。接続ごとに一意の AccessAddress が必要です |
| BLE CIS | bluetoothLEConnectionConfig + bluetoothLECISConfig | [~, cfgCISOut] = configureConnection(cfg, central, peripheral, CISConfig=cfgCIS) | cfgCISOut を addTrafficSource(..., CISConfig=cfgCISOut) に渡します |
| BR/EDR | bluetoothConnectionConfig | configureConnection(cfg, central, peripherals) | ペリフェラルのベクトルを指定して 1 回呼び出します |
よくある間違い
- BLE に
bluetoothNodeを使用する(またはその逆):BR/EDR にはbluetoothNode、BLE にはbluetoothLENodeを使用します - kpi の Layer が誤っている:BLE のスループット →
"LL"、BLE のレイテンシ →"App"、BR/EDR →"Baseband"のみ run()の実行後にプロパティがロックされる:ノード/接続のプロパティはシミュレーション中に変更できません。シミュレーション中にチャネルを更新するにはupdateChannelListを使用してください。- BLE でペリフェラルのベクトルを指定して
configureConnectionを呼び出す:ペリフェラルごとにループ内で呼び出す必要があります(BR/EDR ではベクトルを使用できます) - 接続ごとに一意の
AccessAddressが必要:同じセントラル上の各 BLE 接続には、異なる AccessAddress が必要です - DataRate の単位は Kbps:
DataRate=100は 100 bps ではなく 100 Kbps を意味します GeneratePacket=trueは無効です:ネットワークレベルのシミュレーションには適用されません。連続トラフィックにはOnTime=Infを使用してください。
コメント
Markdown 対応