在 Architecture of IEEE 802.15.6(WBAN) simulation based on OPNET14.5 中我概要地介绍了基于 OPNET 14.5 的 IEEE 802.15.6(WBAN) 协议实现,这里介绍三层模型中的最上层——应用层业务模型。
这层模型中主要负责根据用户设定的包产生间隔分布函数向 MAC 层传送不同优先级的包。WBAN 中的业务共有8种不同用户优先级,不同用户优先级对应的业务类型如下图所示:
作为应用层的数据包业务源产生模块,该模块支持设置8种不同用户优先级业务的到达时间间隔(可以选择均匀分布/指数分布等分布函数),数据包大小,起始时间及结束时间。
业务流特性支持如指数分布,泊松分布和常数分布等典型概率分布,同时该仿真平台还支持自定义的概率分布函数,用以对特殊业务流特性进行仿真测试。 如下图所示,对各用户优先级的数据包业务流属性的设置可在相应节点属性处定义。可分别对不同用户优先级的数据包设置以下参数:
- 数据包产生时间间隔(MSDU Interval Time)——通过函数给出,如泊松分布/常数分布。
- 数据包大小分布(MSDU Size)——通过函数给出,如泊松/常数分布。
- 数据包产生的开始时间(Start Time)——通常设置为大于 0。
- 数据包产生的结束时间(Stop Time)——通常设置为 Infinity 即可
需要注意的是若需要模拟泊松流,那么数据包产生的时间间隔则服从指数分布。
这一模型的源码实现见 WBAN-OPNET-Simulation/src, 以wban_pkt_src_up_pr
开头的即是。之前的代码太冗长了,优雅一点的实现应该使用结构体数组表示不同业务特性参数,包产生函数中传入不同结构体即可。目前已经重构了这一部分,去掉了多种不同优先级业务的支持。