本栏目将对《AFSim 2.9中文参考手册》进行持续更新,欢迎关注交流!
对本书全文和AFSIM其它资料感兴趣的伙伴,可联系作者领取~
全部内容索引请看 ⬇️⬇️⬇️
《AFSim 2.9中文参考手册》-CSDN博客编辑https://blog.csdn.net/henggesim/article/details/145566384
目录
通用引导型媒介模型WSF_COMM_MEDIUM_GUIDED
通用非引导型媒介模型WSF_COMM_MEDIUM_UNGUIDED
medium <name-or-type> <base-type-name>
channels <integer-value>
default_mode_name <mode-name>
use_sharing <boolean-value>
mode <mode-name>
...
end_mode
script string ModeOnTransmit ...
end_medium
添加一个medium到有效的通信框架对象
comm <name> <type> # or edit comm <name>
add medium <type>
...
end_medium
end_comm
在有效的通信框架对象上编辑一个medium对象
router <name> <type> # or edit router <name>
edit medium <type>
...
end_medium
end_router
在有效的通信框架对象上删除一个medium对象:
comm <name> <type> # or edit comm <name>
delete medium <type>
end_comm
注意:删除medium会用该对象的默认medium类型及默认设置替换现有定义。
概述
在AFSIM中,medium 是一种对象,代表通信设备将数据传播到另一通信设备的方式。Medium 提供了一种可定义的用户类型,可被AFSIM通信框架中的各种对象利用。Medium定义了其实现对通信施加的限制,这些限制与使用该medium的通信模型所定义的限制相协同。例如,即使通信设备可以利用最大传输速率,该速率也可能会被所使用的medium或medium的其他动态特性(如复用中使用的信道数量)进一步限制。
Medium在AFSIM中是独特的,因为它们可以在多个通信对象之间共享。因此,使用共享medium的每个通信设备都受到该medium限制的约束。例如,四个通信设备共享一个medium,该medium有四个可用传输信道。如果一个通信设备使用了所有四个信道,其他通信设备在一个或多个信道可用之前无法进行传输。特定的模型可能会根据干扰、拥塞等概念实施其自身的限制。
由于medium是共享对象,只能在全局上下文中定义。任何特定于通信对象(如路由器或通信设备)的medium使用必须引用在全局上下文中定义的medium,并且只通过其类型名称引用此medium。
Medium还可以包含多种模式,表示与该medium相关的不同状态。使用AFSIM脚本语言,可以在运行时修改任何传输的状态,以提供动态方法更改传输特性。虽然AFSIM中的任何对象都仅限于一个medium对象,但该medium可以有任意数量的可用模式。
命令 | channels <integer-value> |
解释 | 定义medium可用的信道数量,也就是说,是否支持复用。信道数量决定了该medium可以处理的并发传输的数量,以及随后利用该medium的所有通信对象的并发传输数量。 默认值:最大整数值(没有并发传输数量的限制) |
命令 | default_mode_name <mode-name> |
解释 | 指定该medium上传输的默认模式。每个medium都有一个名为“default”的默认模式,使用默认值。除非使用此命令,否则在典型的medium处理期间将使用“default”模式。需要注意的是,可以通过使用mode命令显式定义“default”模式来修改默认模式。 默认值:使用“default”模式 |
命令 | use_sharing <boolean-value> |
解释 | 默认情况下,medium在每个引用特定全局定义medium类型的对象之间共享。如果指示use_sharing为false,那么每次使用此medium类型定义将实例化其自身实例。这允许类型定义作为每个实例的简单模板,而避免共享实际medium本身。 默认值:true(medium是共享的) |
命令 | mode <mode-name> .. end_mode |
解释 | mode命令用于定义该medium的单个模式。可以重复多次,但每个模式必须具有唯一的字符串名称。任何给定模式的实际命令由所使用的medium类型确定。 注意:每个medium都有一个“default”模式。任何在mode块之外使用的典型模式命令都引用“default”模式。 |
脚本 | script string ModeOnTransmit(WsfCommMessage aMessage, WsfComm aTransmitter, WsfComm aReceiver) ... end_script |
功能 | 定义一个可选的脚本方法,每次尝试通过该medium传输消息时都会调用。用户可以通过返回模式的字符串标识符来指定该medium上的传输模式。 返回空字符串或不存在的模式名称时,该medium将使用当前指定的默认模式进行消息传输。 |
通用引导型媒介模型WSF_COMM_MEDIUM_GUIDED
medium <name> WSF_COMM_MEDIUM_GUIDED
... medium Commands ...
propagation_speed <random-speed-reference>
transfer_rate <random-data-rate-reference>
packet_loss_time <random-time-reference>
mode <mode-name>
propagation_speed <random-speed-reference>
transfer_rate <random-data-rate-reference>
packet_loss_time <random-time-reference>
end_mode
end_medium
WSF_COMM_MEDIUM_GUIDED 是一种通用的引导型medium类型。引导型medium有时也称为有界或有线medium。这种medium提供了通常与以前版本的AFSIM中引导通信框架对象相关的基本medium功能。
这种medium类型适用于AFSIM核心中的以下通信对象模型:
- WSF_COMM_RCVR
- WSF_COMM_XMTR
- WSF_COMM_TRANSCEIVER
- WSF_COMM_ROUTER
军事特定
这种medium类型适用于wsf_mil中的以下通信模型:
- WSF_JTIDS_TERMINAL
注意:删除medium会用该对象的默认medium类型及默认设置替换现有定义。
命令 | propagation_speed <random-speed-reference> |
解释 | 设置消息传播速度。 当此命令在mode块之外定义时,指定与该medium关联的“default”模式的传播速度。 默认值:c(光速常数) |
命令 | transfer_rate <random-data-rate-reference> |
解释 | 设置该medium在设定时间内可以传输的数据量。 当此命令在mode块之外定义时,指定与该medium关联的“default”模式的传输速率。 默认值:-1(瞬时传输) |
命令 | packet_loss_time <random-time-reference> |
解释 | 设置每次通过该medium传输时增加的延迟时间。虽然表示为由于数据包丢失导致的延迟,但此值可用于引入任何原因的正常传输时间延迟,或作为模拟多种传输延迟源的总延迟。 当此命令在mode块之外定义时,指定与该medium关联的“default”模式的数据包丢失时间。 默认值:0(无延迟) |
命令 | mode <mode-name> .. end_mode |
解释 | mode命令用于定义该medium的单个模式。可以重复多次,但每个模式必须具有唯一的字符串名称。任何给定模式的实际命令由所使用的medium类型确定。 注意:每个medium都有一个“default”模式。任何在mode块之外使用的典型模式命令都引用“default”模式。 |
通用非引导型媒介模型WSF_COMM_MEDIUM_UNGUIDED
medium <name> WSF_COMM_MEDIUM_UNGUIDED
... medium Commands ...
... WSF_COMM_MEDIUM_GUIDED Commands
snr_transfer_rate_table ...
bit_error_probability ...
error_correction ...
bit_error_rate_ebno_table ...
mode <mode-name>
... WSF_COMM_MEDIUM_GUIDED Commands
snr_transfer_rate_table ...
bit_error_probability ...
error_correction ...
bit_error_rate_ebno_table ...
end_mode
end_medium
WSF_COMM_MEDIUM_UNGUIDED 是一种通用的非引导型medium类型。非引导型medium是一种不受物理介质限制的medium,通常与使用电磁辐射传输信号相关。这种medium类型提供了在以前版本的AFSIM中常见的非引导medium的通用规范。
这种medium类型适用于AFSIM核心中的以下通信对象模型:
- WSF_RADIO_RCVR
- WSF_RADIO_XMTR
- WSF_RADIO_TRANSCEIVER
- WSF_COMM_ROUTER
注意:目前,路由器不允许基于硬件定义发射器或接收器。对于路由器使用非引导medium,将使用发起消息的通信设备的发射器/接收器功能。
军事特定
这种medium类型适用于wsf_mil中的以下通信模型:
- WSF_SUBSURFACE_RADIO_RCVR
- WSF_SUBSURFACE_RADIO_XMTR
- WSF_SUBSURFACE_RADIO_TRANSCEIVER
- WSF_LASER_RCVR
- WSF_LASER_XMTR
- WSF_LASER_TRANSCEIVER
注意:删除medium会用该对象的默认medium类型及默认设置替换现有定义。
命令 | snr_transfer_rate_table <absolute-units><data-rate-units><SNR-value 1> <transfer-rate-value 1> … end_snr_transfer_rate_table |
解释 | 指定一个将信噪比(SNR)值映射到消息传输速率的表格。SNR-Transfer-Rate表将进行插值。如果指定了表格,表格中的传输速率值将覆盖使用transfer_rate命令指定的值。 注意:SNR传输速率表与Eb/No vs BER表互斥。最后指定的将被使用。 默认值:无 示例 snr_transfer_rate_table dB bit/s 0 100 1 100 2 90 3 80 4 40 5 20 55 10 70 1 end_snr_transfer_rate_table |
命令 | bit_error_probability <real-value> |
解释 | 可选参数,定义系统设计的比特错误率概率。用于从Eb/No vs BER表中选择Eb/No值。必须大于或等于零。 默认值:0.0 |
命令 | error_correction <real-value> |
解释 | 可选参数,确定在使用Eb/No计算数据速率时应用的错误校正量。必须在0.0和1.0之间。单位假定为dB。 默认值:0 dB |
命令 | bit_error_rate_ebno_table <absolute-units><ratio-units><BER-value 1> <Eb/No-value 1> … end_bit_error_rate_ebno_table |
解释 | 可选表格,定义比特能量与谱噪声密度(Eb/No)与比特错误率(BER)之间的关系。与bit_error_probability和error_correction结合使用,以计算medium上的数据传输速率。使用此表时,数据速率 = SNR * 错误校正 * (带宽 / Eb/No)。比特错误率-EbNo表将进行插值。如果指定了表格,表格中的传输速率值将覆盖使用transfer_rate命令指定的值。 注意:表格中的值的单位是可选的,如果未输入,假定BER为无单位,Eb/No为dB。 注意:Eb/No vs BER表与SNR传输速率表互斥。最后指定的将被使用。 默认值:无 示例 bit_error_rate_ebno_table 0.00000001 12 0.0000001 11.3 0.000001 10.3 0.00001 9.5 0.0001 8.3 0.001 6.5 0.01 4.3 0.1 0 end_bit_error_rate_ebno_table |
命令 | mode <mode-name> .. end_mode |
解释 | mode命令用于定义该medium的单个模式。可以重复多次,但每个模式必须具有唯一的字符串名称。任何给定模式的实际命令由所使用的medium类型确定。 注意:每个medium都有一个“default”模式。任何在mode块之外使用的典型模式命令都引用“default”模式。 |