智网妙算通用无线 MAC 层模型
本模型是一个 MAC层模型。它是一个通用无线 MAC 层模型,没有实现任何具体的 MAC 协议行为,但是提供了基础的无线数据包发送和接收能力。 用户在不关心 MAC 层具体实现的情况下,可以使用此模型进行模拟MAC层提供的通信能力。
Address(MAC地址,整型)- 默认值:
-2,表示“自动分配”(Auto Assigned) - 作用:节点的 MAC 地址。通常保持为自动分配即可,如需在仿真中固定 MAC 地址,可显式填写为非负整数。
- 默认值:
电台工作参数是一个复合对象,用于描述无线电的工作状态及物理层相关特性:
-
工作状态(布尔,关闭/工作)- 默认值:
false(关闭) - 作用:控制电台是否工作。为
true时电台参与收发,为false时视为关闭。
- 默认值:
-
数据速率(浮点,单位:kbps)- 默认值:
38.4 - 作用:表示物理层数据传输速率。可根据模拟场景调整为实际链路速率。
- 默认值:
-
工作频段(浮点,单位:MHz)- 默认值:
30.0 - 作用:电台载波中心频率,仅作为场景参数使用,可与系统其他无线模型保持一致。
- 默认值:
-
工作频宽(浮点,单位:kHz)- 默认值:
100.0 - 作用:信道带宽,影响链路可用容量等相关分析。
- 默认值:
-
调制解调方案(字符串)- 默认值:
BPSK - 可选值:
BPSK、QPSK、16QAM、64QAM - 作用:描述电台使用的调制方式,用于与其他模型的链路评估逻辑对接。
- 默认值:
-
最大传输距离(浮点,单位:公里)- 默认值:
999999999.0(无限制) - 作用:链路允许的最大传输距离。若设置为有限值,可用于近似建模视距/覆盖范围等限制。
- 默认值:
-
传输功率(浮点,单位:瓦特)- 默认值:
30.0 - 作用:发射功率参数,可用于与路径损耗、接收灵敏度等一起评估链路可达性。
- 默认值:
-
接收灵敏度(浮点,单位:dBm)- 默认值:
-100.0 - 作用:接收端最小可检测信号功率,用于链路可用性或丢包概率的评估。
- 默认值:
-
缓存大小(整型,单位:包)- 默认值:
1000 - 作用:MAC 层缓存队列容量,用于缓存待发送或待处理的数据包。设置过小可能导致队列溢出丢包。
- 默认值:
-
分片生存时间(浮点,单位:秒)- 默认值:
20.0 - 作用:分片在缓存中的最大生存时间,超过该时间未能完成重组的分片将被丢弃。
- 默认值:
-
失效/恢复状态(数组)- 元素结构:
时间(浮点,秒)状态(整型,0表示“失效”,1表示“恢复”)
- 默认值:空数组
[] - 作用:用于配置电台随时间的失效/恢复事件序列。例如:
- 在
10s设置状态为0:表示从 10 秒开始电台失效; - 在
30s设置状态为1:表示从 30 秒开始电台恢复工作。
- 在
- 可通过配置多条记录,模拟电台在整个仿真周期内的多次故障与恢复过程。
- 元素结构:
MAC 层使用的数据包在 generic_wireless_mac.pkt.m 中定义,主要字段如下:
-
source address(源地址,整型)- 类型:
type = 1(整数) - 作用:发送方的 MAC 地址,一般由模型在发送时自动填充。
- 类型:
-
dest address(目的地址,整型)- 类型:
type = 1(整数) - 作用:接收方的 MAC 地址。上层在下发数据包时可设置,用于点对点/广播等控制。
- 类型:
-
protocol type(协议类型,整型)- 类型:
type = 1(整数) - 作用:标记上层协议类型,便于 MAC 层转发到不同的上层处理逻辑。具体取值由系统上层约定。
- 类型:
-
data(负载数据,字节数组)- 类型:
type = 5(可变长数据) - 作用:承载上层传入的业务数据。
- 类型:
-
Transmit Distance(传输距离,浮点)- 类型:
type = 3(浮点) - 作用:记录当前链路传输距离,用于管道阶段部分快速计算通信距离。
- 类型:
-
Modulation Index(调制方式标识,字符串)- 类型:
type = 4(字符串) - 作用:记录实际使用的调制方式,例如与“调制解调方案”参数保持一致,用于结果分析。
- 类型:
-
Antenna Gain(天线增益,浮点)- 类型:
type = 3(浮点) - 作用:记录发射端/链路所采用的天线增益参数,便于和链路预算模型配合使用。
- 类型:
ICI(Interface Control Information)用于在模块间伴随包/事件传递控制信息,对应定义在 generic_wireless_mac_ici.ici.m 中:
-
dest_addr(目的地址)- 类型:
type = 2(一般为整数/标识类型) - 作用:在控制消息或中间处理阶段传递 MAC 目的地址信息。
- 类型:
-
src_addr(源地址)- 类型:
type = 2 - 作用:传递 MAC 源地址信息,便于下游模块进行源节点识别、统计等操作。
- 类型:
-
protocol_type(协议类型)- 类型:
type = 2 - 作用:与数据包中的
protocol type对应,用于控制路径选择或上层协议分发。
- 类型: