江 川,黄国策,王炳和,陈 玙
(1.空军工程大学信息与导航学院,西安710077;2.武警工程大学 信息工程系,西安710086)
随着短波通信系统数字化、网络化的发展,如何评估网络性能,以及如何选择或开发适用于短波网络的上层协议就成了制约短波通信发展的一个重要问题。短波信道是影响短波通信性能的决定性因素之一,对于短波信道的合理建模也成了短波网络评估的重要方面。短波天波信道是一个时变信道,其中存在着多径效应、多普勒效应以及各种时间尺度的衰落。为了克服短波信道复杂恶劣的特点,一种方法是通过物理层的抗干扰波形、现代的编码交织以及高速跳频等技术来提高单跳链路的可靠性[1-2];另一种方法是通过网络层及以上协议的标准化来提高整个网络的互通性,以网络的可靠性来弥补单条链路的可靠性不足这一问题[2-3]。
目前,评估网络性能的方法主要有3种:一是实地测试,这种方法真实性最高,但是成本很大,尤其是对于短波网络这种覆盖范围极大的网络而言,长时间实地测试一个网络的开销是巨大的,另外,实地测试也难以历经所有可能的环境变化情况,所以这一方法仅适合于系统最终定型时进行小规模实验;二是实验室半实物测试,即使用短波信道模拟器连接若干短波电台和调制解调器进行测试,这一方法比较适合于链路级仿真,对于网络级仿真则略显不足,因为短波信道模拟器可连接的电台数量有限,网络规模较小,难以反映短波节点形成网络之后的情景;三是完全采用计算机模拟的方法,根据短波网络的实际情况,使用网络仿真软件建立相应的信道模型、协议栈模型(节点模型)和业务流模型,从而评估网络在不同环境下的性能表现。这一方法具有最大的灵活性,在计算机硬件条件允许的情况下,可以任意改变网络仿真的规模,但为了使仿真结果具有可信性,所建立的模型必须能够准确地反映相应对象的特征,例如信道模型的衰落变化规律及统计特征是否与实际相符、业务流量分布是CBR还是泊松模型等[4]。
软件仿真已被证明是一种可靠的网络评估方法。常用的网络仿真软件有OPNET、NS2、GLOMOSIM等。其中,OPNET是著名的商业网络仿真软件,其实现了大量的实际网络设备模型,比较适合用于网络规划及性能评估,也可用于网络协议及算法的仿真。目前已有若干在OPNET环境下实现的短波信道仿真模型[5-6],这些模型都是基于事先计算好的信道慢衰落参数,然后将慢衰落参数导入仿真模型中,再加入一定的随机扰动来模拟信道的变化情况。这种方法简单易行,但是对于大规模的网络仿真而言,需要计算的链路数量太多,而且哪两个节点之间的链路参数需要被计算也是不可预知的,如何高效地计算并组织计算结果成为了新的挑战。为了解决大规模的短波网络仿真问题,需要一种新型的短波信道仿真方法。NS2是一款开源的网络仿真软件,在科研领域内被广泛使用,经过多年的发展和改进,其可靠性和真实性已被广泛认可[7]。为了仿真短波网络,可以采用NS2作为平台,利用其易于扩展的特性,在此基础上建立符合短波网络特征的信道模型、协议模型和业务模型。本文主要关注短波天波信道模型在NS2环境下的实现,下文所说的短波信道均指短波天波信道。
短波的天波传播是依赖于电离层对电磁波的反射来实现的,所以短波信道的特征与电离层的变化特征密切相关,而影响电离层的因素主要有太阳黑子数、季节、昼夜、发射机和接收机的地理位置等,对于多跳传播模式而言,影响因素还包括地面反射点的电导率、介电常数等因素[8]。
由于电离层的不规则运动以及电离层浓度、厚度的不断变化,电磁波在传播过程中会产生多径和多普勒等效应,从而导致短波信道成为频率选择性和时间选择性信道。此外,与其他无线通信方式一样,短波通信还受接收机附近噪声信号强度的影响。
为了在多时间尺度上对短波信道进行合理的仿真,1997年,短波技术咨询委员会(为美国政府提供关于短波技术标准化的建议)在Walnut Street召开会议,此次会议达成的结果被称作Walnut Street模型。根据Walnut Street模型,从时间尺度上看,可将短波信道衰落划分为三类。
(1)由地理因素及太阳活动引起的慢衰落
慢衰落是指衰落周期在数分钟至数小时的衰落,慢衰落的产生跟地球和太阳的规律性运动有关,两者的运动导致电离层密度不断变化,从而引起经电离层反射的电磁波的衰落情况也随之改变。慢衰落的情况可根据著名的电离层传播预测软件IONCAP(或由此衍生的VOACAP和ICEPAC)计算得出,对抗慢衰落主要依靠合理的短波频率规划和ALE技术。
VOACAP是美国之音公司(VOA)基于ICEPAC开发的用于计算短波信道的衰落、时延、信噪比以及最高可用频率等参数的软件,其核心的传播预测模型和算法与ICEPAC相同。VOACAP根据输入的两个通信对象的经纬度、太阳黑子数、通信双方使用的天线参数等就可计算出短波链路的长期统计平均参数,包括信噪比、最高可用频率、链路可靠性等,主要用于链路的长期预测和用频规划。经过多年的发展,其可靠性已经得到了广泛的认可,所以短波信道仿真模型中的慢衰落可以使用VOACAP软件来进行计算。
(2)由电离层运动等活动引起的中等时间尺度衰落
中等时间尺度衰落主要是指衰落周期在数秒到数十秒的衰落,一般由电离层的不规则活动引起。中等时间尺度的衰落周期与一个数据帧的传输时间相当,一般要靠链路层以上的协议使用ARQ协议进行克服,也是短波链路层以上协议设计的主要考虑因素。
Goodman认为[9],在中纬度地区,由 E层和 F层引起的中等时间尺度衰落的频率大约为10次/分钟,衰落的统计特性符合对数正态分布,衰落深度在0~20 dB之间。Furman和McRae也指出在短波信道的SNR变化除了短期的Watterson模型引起的和长期的慢变化之间,还存在一种中等时间尺度的符合对数正态分布的波动,这一波动的幅度在几个dB之间,而且他们在Melbourne和Rochester之间的链路实际测试也表明了存在一种标准差为4 dB、时间常数为10 s的对数正态分布的SNR波动。
根据前人的研究和实测结果,中等时间尺度的变化可使用对数正态分布变量来表示,其标准差和时间常数应可以在仿真时进行配置。
(3)由多径效应引起的快衰落
快衰落是指衰落周期在1 s以下的衰落,一般是由于多径和多普勒效应导致的。快衰落可以使用延时抽头加权的Watterson模型来表示,其导致的衰落需由Modem使用自适应均衡、交织和纠错编码等物理层技术来克服。一般认为,由多径导致的衰落服从瑞利分布,因此,在仿真中应根据多径时延的长短,对瑞利衰落的参数进行配置。
综上所述,短波信道中不同时间尺度的衰落具有各自不同的统计特性,对于慢衰落,可以采用VOACAP软件预测得到的数据进行模拟,中等时间尺度的衰落采用符合对数正态分布的随机变量来模拟,快衰落则使用符合瑞利分布的随机变量来模拟,然后将三者叠加,就可以获得比较接近实际衰落情况的短波信道模型了。
要在NS2环境下实现短波信道模型,首先必须理解NS2对信道模型的实现方法和信道模块与其他模块之间的接口。NS2中的无线节点电台接口模型如图1所示。
图1 NS2中的无线接口模型Fig.1 Wireless interface model in NS2
从图1中可以看出,无线接口由逻辑链路层模块(LL)、接口队列(IFq)、纠错模块(FEC)、信道接入控制模块(MAC)、输入和输出误帧模块(InError、OutError)、物理层(Netif)、信道传播模型(Radio Propagation model)、天线模块(Antenna)和信道模块(Channel)组成。其中FEC、InError和OutError模块为可选模块,默认情况下并不包含在模型中。
信道传播模块的功能是根据收发节点的参数,包括发射功率、接收灵敏度、天线增益、通信距离等,来计算源节点发出的数据包能否被目的节点正确接收。通常,目的节点判断一个数据包能否正确接收的标准是数据包到达接收天线时的功率或信噪比,NS2中信道传播模型的输出是接收功率,信噪比和信干比则交给MAC层来处理。
NS2中,Radio Propagation Model的输入参数为从Netif获得的数据包,从数据包的头部可以提取出发送节点和接收节点的id,从而得到两者对应的位置,以及发射节点发射功率、收发节点的天线增益等参数。根据所采用的信道传播模型,加以计算就可以得到到达接收节点接收机的信号功率。将接收到的信号功率与接收机的接收门限值相比,就可以判定此数据包应该被正确接收或者是标记为有误码的数据包,如果接收功率太低就直接将数据包丢弃。
NS2实现了3种传播模型,分别为Freespace、TwoRayGround和 Shadowing模型。其中 Freespace和TwoRayGround是确定性模型,即输入相同的参数,输出的结果也是相同的;Shadowing模型则加入了一定的随机性,使输出结果在一定范围内波动。这3种模型都比较简单,一般用在覆盖范围较小的局域网或移动通信网络中,并不适合用于短波天波信道的计算。
在短波通信中,信道情况复杂,影响因素多,且系统性能往往受限于多径和多普勒的影响,因此,原有的信道传播模型难以满足短波网络仿真的需求,需要另外实现短波信道模型或借助外部软件来实现短波信道的模拟。
根据第2节对短波信道衰落情况的分析,我们在NS2中建立一个HFPropagation模块,并在Tcl语言中实现所需参数的配置接口。
VOACAP的 Linux版本(VOACAPL)是由 J.Watson使用Fortran语言编写的,而NS2基于分裂对象模型,使用C++和Tcl语言实现,两者难以直接集成。但是,Linux操作系统具有灵活的system()系统调用,可以实现两者的自动化数据交互,从而使得在NS2中生成 VOACAP所需要的参数,而后VOACAP利用生成的参数进行计算,并返回计算结果成为可能。下面介绍具体的实施步骤。
安装好VOACAPL后,根据软件的使用说明,在Linux环境变量中配置VOACAPL的运行路径,而后就可以在命令行运行VOACAPL程序了。在进行点对点链路参数的计算时,VOACAPL的运行参数包括itshfbc文件夹的路径、一个输入文件和一个输出文件,输入文件是所需计算的链路的配置文件,包含太阳黑子数、收发双方的经纬度、发射功率、使用频率、天线类型等参数,输出文件用来存放计算结果,结果中包含MUF、平均衰落、平均SNR等,可根据仿真需求提取出相应的计算结果。
为了在仿真过程中计算一条短波链路的慢衰落参数,必须先根据链路两端的通信节点的位置、发射功率、使用频率、天线类型等参数,生成一个VOACAPL所需要的输入配置文件,然后通过system(“voacapl~/itshfbc input_file output_file”)系统调用来计算链路参数,计算结果被写入到输出文件;最后使用awk来解析出所需要的参数,具体代码为system(“awk‘$0 ~ /LOSS/{print$2}’output_file>snr.out”),其含义为逐行匹配输出文件,将含有“LOSS”(表示衰落)的行的第二列(所需频率对应的列)打印到 loss.out文件中,再打开 loss.out就可以读取出所需的参数了。
HFPropagation模块在C++中实现为一个类,其继承自NS中传播模型的基类Propagation类。
HFPropagation模块依赖的外部配置参数如表1所示。
表1 HFPropagation模块需要的配置参数Table1 Arguments need to be configured in HFPropagation module
除了以上配置参数外,还需考虑以下问题:
(1)VOACAP计算链路参数的最高时间分辨率是1 h,所以当时间处于两个整点之间的时候,需要对慢衰落进行插值,本文采用的是简单的线性插值;
(2)由于采用system系统调用计算链路参数的时间开销较大,为了避免重复计算链路的慢衰落参数,在HFPropagation类中增加了一个静态的双向链表的头指针,此双向链表中的第一个元素保存着源nodeid、目的nodeid、频率值以及相应的衰落参数。当某条链路上第一次有数据包传输时,就根据此链路的参数计算慢衰落的参数,然后将这些参数加入到双向链表中,下次再有数据包到达时,就不用重新计算同一链路的慢衰落参数了。注意:由于短波链路的不对称性,A→B和B→A在链表中是两个不同的元素;
(3)为了使节点的位置能够使用经纬度表示,在MobileNode类中添加了两个变量:longitude和latitude,分别表示经度和纬度,两者的正值表示东半球和北半球,负值表示西半球和南半球。另外,需要在MobileNode类中添加一个字符数组,用来描述节点所使用的天线类型,以备在生成VOACAP的输入配置文件时使用;
(4)为了反映出信道衰落的多时间尺度特征,给不同时间尺度的衰落值设置了一个老化周期,即,每计算出一个新的衰落值时,记下当前时间,当此链路数据包再次进入传播模型时,首先检查上次衰落值的计算时间,如果时间过期了,就重新计算,否则继续使用上次计算的衰落值;
(5)为了减小计算量,仅当链路中有数据包传输时才计算衰落参数,当链路中没有数据时,并不需要周期性地计算信道衰落情况;
(6)生成VOACAP的输入数据文件的时候,要注意文件的格式,数字的有效长度和精度、同一行不同字段之间的空格数量等参数都有严格的限制,具体格式可参考VOACAP安装时自带的输入数据文件格式。
综合考虑以上因素,一个数据包经过HFPropagation模块的处理流程如图2所示。
图2 HFPropagation模块的处理流程Fig.2 Process flow of HFPropagation module
除了在NS2的C++环境中实现HFPropagation模块外,还需要将所需配置的参数变量与Tcl环境中的变量进行绑定,同时在Command成员函数中设置修改这些配置参数的方法。另外,还需在Tcl的库中设置HFPropagation类中成员变量的默认值。最后,将HFPropagation加入Makefile中的OBJ_CC列表之中,重新编译NS2软件,就可以使用此模块了。
为了验证本文所实现的短波信道传播模型的正确性,设置了如下的仿真场景。短波站点A、B、C组成一个全连通的网络,3个站点的经纬度分别为 A(39.91N,116.41E)、B(39.75N,108.91E)、C(23.16N,113.23E);三者共用一个频率组,频率组中包含 4.3 MHz、6.9 MHz、10.1 MHz 3 个频率。通过仿真测试A→B、B→C、C→A 3条链路在一天之中分别在3个频率点上的衰落情况。
其他仿真参数如表2所示。根据NASA公布的太阳活动数据,2013年10月的太阳黑子数平均为85.6,标准差为 24.1,本文将太阳黑子数设置为100,表示电离层受到太阳活动的影响较大;为了获得较高的增益,3个短波通信台站的天线假设都是方向性的对数周期天线,发射功率均为1 kW,天线效率假设为65%,即有效辐射功率650 W;环境噪声根据CCIR的推荐值,设置为-150 dBW;根据2.2节的Walnut Street模型,这里选取10 min作为慢衰落的老化周期,10 s作为中等时间尺度衰落的老化周期,1 s作为快衰落的老化周期。
表2 仿真参数设置Table2 Argument settings of simulation
仿真结果如图3~5所示,图中的时间已从UTC转换为当地时间。
图3 A到B的链路仿真结果Fig.3 Simulation result of A to B
图4 B到C的链路仿真结果Fig.4 Simulation result of B to C
图5 C到A的链路仿真结果Fig.5 Simulation result of C to A
从仿真结果中可以看出,低频在夜间的衰落较小,在白天的衰落较大;当所用频率与信道的MUF较为接近时,衰落最小,以上3条链路中的MUF在8~11 MHz之间,而所选择的10.1 MHz的频率与之最接近,所以获得了最小的衰落;由于A和B的距离较近,且两者与C的距离较远,因此A→B的信道衰落明显低于后两者,B→C和C→A由于距离接近,且环境情况类似,所以有着类似的信道衰落。从仿真结果图中得出的这些结论基本与理论和经验相吻合,证明了此模型的正确性。
本文采取NS2和VOACAP联合仿真的方法实现了短波信道多时间尺度模型,使得在仿真过程中实时计算信道参数成为可能,突破了现有方法需要事先计算信道参数的不足,提高了仿真的灵活性。仿真结果表明,此模型能够较为真实地反映短波信道的特征,由频率、站点位置、时间、外部环境等因素的变化所引起的信道特征的改变均能在此模型中体现出来,并且与实测值和日常经验相符,为后期的短波网络仿真奠定了基础。
本文采用的NS2和VOACAP数据交互方法是system系统调用,参数解析使用的是awk;system调用和awk的使用具有一定的时间开销,如果需要进一步提高计算性能,可以将VOACAP的算法使用C语言或C++实现,同时引入正则表达式的库来解析计算结果;将系统调用转换为函数调用,这样可以进一步加速计算过程,减少仿真时间。
[1]MIL-STD-188-110C,Interoperability and performance standards for data modems[S].
[2]MIL-STD-188-141C,Interoperability and performance standards for medium and high frequency radio systems[S].
[3]STANAG 5066,NATO Standardization Agreement:Profile for High Frequency(HF)Radio Data Communications[S].
[4]Koski E,Chen S,Pudlewski S,et al.Network simulation for advanced HF communications engineering[C]//Proceedings of 12th IET International Conference on Ionospheric Radio Systems and Techniques.York:IEEE,2012:1-5.
[5]Song Yu,Jiang Xuping.Modeling and Application of OPNET-Based Pipeline Stages for HF Channel Simulation[C]//Proceedings of 2009 International Forum on Information Technology and Applications.Chengdu:IEEE,2009:458-460
[6]Zhang Zhuo,Xiang Donglei,Liu Qianli,et al.Wireless Modeling of HF Networks in OPNET[C]//Proceedings of 2007 International Symposium on Microwave,Antenna,Propagation and EMC Technologies for Wireless Communications.Hangzhou:IEEE,2007:285-288.
[7]柯志亨,程荣祥.NS2仿真实验—多媒体和无线网络通信[M].北京:电子工业出版社,2009.KE Zhi-heng,CHENG Rong-xiang.NS2 simulation experiment:multimedia and wireless communication[M].Beijing:Publishing House of Electronics Industry,2009.(in Chinese)
[8]Goodman J M.HF Communications:Science and Technology[M].New York,NY:Van Nostrand Reinhold,1992.
[9]Furman W,McRae D.Evaluation and Optimization of Data Link Protocols for HF Data Communication Systems[C]//Proceedings of 1993 IEEE Military Communications Conference.Boston,MA:IEEE,1993:67-72.