mcpField
M
matlab-simulate-bluetooth-network

matlab-simulate-bluetooth-network

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

关于 matlab-simulate-bluetooth-network

用于 MATLAB 无线网络仿真的 Bluetooth 专项技能,面向模拟 BLE 和经典 Bluetooth 网络的用户。它涵盖连接配置、流量设置及不同拓扑可用的 KPI。

主要功能

  1. 01模拟 BLE ACL、CIS 网络
  2. 02模拟 BR/EDR 微微网
  3. 03配置连接与节点角色
  4. 04按拓扑选择 KPI 和层级

适用场景

  1. 01评估 BLE 点对点或星形连接
  2. 02模拟 LE Audio 单播连接
  3. 03分析经典 Bluetooth 音频和数据网络
  4. 04研究 BLE 与 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.yaml
references/
ble-cis.md
ble-connection.md
ble-gap-connection.md
bluetooth-bredr.md
bluetooth-coexistence.md

详细介绍

Bluetooth 系统级仿真

所有 Bluetooth 系统级仿真的入口。所有 Bluetooth 仿真都使用 sim = wirelessNetworkSimulator.init,并遵循 matlab-simulate-wireless-network 中定义的工作流(仿真器初始化、流量、移动性、仪表化、addNodes、运行)。

适用场景

  • BLE ACL 点对点或星型网络连接
  • 使用 CIS/CIG 的 LE Audio 单播(立体声扬声器、助听器)
  • BLE GAP 连接建立(广播、扫描、连接时序)
  • 使用 ACL 数据或 SCO 语音的经典 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
经典 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") — 每个 central 最多支持 7 个 peripheral

流量附加规则

addTrafficSource(sourceNode, traffic, ...):

  • ACL/CIS/BR/EDR:必须设置 DestinationNode=peer。CIS 还需要 CISConfig=cfgCISOut。
  • BR/EDR SCO:无需调用流量函数 — 通过连接配置中的 SCOPacketType 隐式启用。

kpi() 可用性

拓扑"throughput""latency""PLR" / "PDR"层
BLE ACL仅 LL仅 AppLL 和 App 均可"LL" 或 "App"
BLE CIS仅 LL仅 AppLL 和 App 均可"LL" 或 "App"
BR/EDR基带—基带"Baseband"

连接/配置设置

拓扑配置对象函数说明
BLE ACLbluetoothLEConnectionConfigconfigureConnection(cfg, central, peripheral)在循环中逐个配置 peripheral;每个连接使用唯一的 AccessAddress
BLE CISbluetoothLEConnectionConfig + bluetoothLECISConfig[~, cfgCISOut] = configureConnection(cfg, central, peripheral, CISConfig=cfgCIS)将 cfgCISOut 传递给 addTrafficSource(..., CISConfig=cfgCISOut)
BR/EDRbluetoothConnectionConfigconfigureConnection(cfg, central, peripherals)使用 peripheral 向量调用一次

常见错误

  • 对 BLE 使用 bluetoothNode(或反之):BR/EDR 使用 bluetoothNode,BLE 使用 bluetoothLENode
  • kpi 层设置错误:BLE 吞吐量 → "LL",BLE 延迟 → "App",BR/EDR → 仅 "Baseband"
  • run() 后属性被锁定:仿真过程中无法更改节点/连接属性。要在仿真过程中更新信道,请使用 updateChannelList。
  • 对 BLE 使用带 peripheral 向量的 configureConnection:必须在循环中逐个调用(BR/EDR 接受向量)
  • 每个连接使用唯一的 AccessAddress:同一 central 上的每个 BLE 连接都需要不同的 AccessAddress
  • DataRate 的单位是 Kbps:DataRate=100 表示 100 Kbps,而不是 100 bps
  • GeneratePacket=true 无效:不适用于网络级仿真。要生成连续流量,请使用 OnTime=Inf。

评论

支持 Markdown