本技术涉及通信,具体而言,涉及一种通信仿真方法、装置、程序产品、存储介质及电子设备。
背景技术:
1、毫米波通信是指利用频率在30ghz~300ghz之间的电磁波进行通信的技术。相比于传统的无线通信技术,毫米波通信具有更高的频率和更短的波长,从而能够实现更高速率的数据传输。毫米波通信也是5g通信技术的重要组成部分,在卫星通信等方面得到了广泛应用。
2、为构建无线通信系统,需要对基站和终端上的协议栈功能进行广泛地测试,然而在开发协议栈功能时,基站和终端的物理层硬件很可能还没有确定,导致无法对协议栈进行测试。作为一种解决方案,可以利用仿真软件对真实的物理层进行模拟,使得在物理层没有实现的情况下也可以对上层的协议栈功能进行测试。然而,目前这类仿真软件的运行效率比较低下,对于毫米波系统这类对于调度性能要求较高的无线通信系统,不能有效地进行模拟。
技术实现思路
1、本技术实施例的目的在于提供一种通信仿真方法、装置、程序产品、存储介质及电子设备,以改善上述至少部分技术问题。
2、为实现上述目的,本技术提供如下技术方案:
3、第一方面,本技术实施例提供一种通信仿真方法,包括:利用基站进程运行基站侧模拟物理层;以及,利用终端进程运行终端侧模拟物理层;其中,所述基站和所述终端属于同一无线通信系统,所述基站进程和所述终端进程为同一电子设备上不同的进程,所述基站侧模拟物理层是对基站侧物理层的仿真,所述终端侧模拟物理层是对终端侧物理层的仿真,所述基站侧模拟物理层和所述终端侧模拟物理层通过所述电子设备的共享内存进行消息交互。
4、在上述方法中,通过基站进程和终端进程分别模拟基站的物理层和终端的物理层,并且二者之间可以进行物理层消息的交互,从而支持在真实物理层没有实现的情况下,对基站协议栈和终端协议栈的功能进行测试。利用该方法进行物理层仿真的优势在于:其一,利用两个不同的进程分别模拟基站和终端的物理层行为,符合真实的基站和终端在物理上相互独立的特点;其二,基站进程和终端进程在同一电子设备上运行,从而可以在比较短的时间内完成消息交互,有利于提高仿真系统的运行效率;其三,基站进程和终端进程通过共享内存完成消息交互,可以显著减少消息交互过程中的数据拷贝,同样有利于提高仿真系统的运行效率。因此,该方法特别适合于对于调度性能要求较高的毫米波系统进行仿真,但在仿真非毫米波系统时同样可以起到提高系统运行效率的效果。
5、在第一方面的一种实现方式中,所述共享内存包括多个共享内存块,且每个共享内存块对应有索引信息,所述基站侧模拟物理层和所述终端侧模拟物理层通过所述电子设备的共享内存进行消息交互,包括:所述基站侧模拟物理层和所述终端侧模拟物理层将需要发送的消息写入到所述共享内存块中,并将所述共享内存块的索引信息发送给对端模拟物理层;所述对端模拟物理层基于所述索引信息从所述共享内存中查找到存储有所述消息的所述共享内存块,并从中读取出所述消息进行处理。
6、在上述实现方式中,基站侧模拟物理层和终端侧模拟层在进行消息交互时,并不会对消息本体进行拷贝,而只是传递消息所写入的共享内存块的索引信息,从而显著提高了消息交互的效率,进而有利于提高仿真系统的运行效率,同时节约内存空间。
7、在第一方面的一种实现方式中,所述方法还包括:利用所述基站进程或者所述终端进程创建共享内存池,并为所述共享内存池中的共享内存块分配索引信息;其中,所述共享内存池包括多个共享内存块,所述基站侧模拟物理层和所述终端侧模拟物理层从所述共享内存池中申请共享内存块用于发送消息。
8、在上述实现方式中,先创建共享内存池,再从共享内存池中分配共享内存块,避免了频繁的内存分配和释放操作,有利于提高内存的使用效率,减少内存碎片的产生。
9、在第一方面的一种实现方式中,所述共享内存池包括针对上行消息的共享内存池和针对下行消息的共享内存池;其中,所述上行消息是指所述终端侧模拟物理层发送给所述基站侧模拟物理层的消息,所述下行消息是指所述基站侧模拟物理层发送给所述终端侧模拟物理层的消息。
10、在上述实现方式中,针对上下行消息各设置一个共享内存池,一方面避免了内存池数量过多(例如,为每个物理层信道设置一个共享内存池),使得对内存的使用控制在一个比较合理的范围内,一方面避免了内存使用过程中冲突过多(例如,为所有的物理层信道设置一个共享内存池),总之此种实现方式在减少内存开销和减少内存使用互斥方面取得了较好的平衡。
11、在第一方面的一种实现方式中,所述共享内存池采用环形队列进行所述共享内存块的分配和释放。
12、在上述实现方式中,利用环形队列的数据结构来管理共享内存池中的共享内存块,有利于提高共享内存的利用率。
13、在第一方面的一种实现方式中,所述方法还包括:利用定时器以所述无线通信系统的传输时间间隔(transmission time interval,简称tti)为周期产生中断信号,并向所述基站侧模拟物理层和所述终端侧模拟物理层发送所述中断信号,触发所述基站侧模拟物理层和所述终端侧模拟物理层中的中断计数器更新,以仿真所述基站和所述终端中的时间推移。
14、在上述实现方式中,通过设置定时器,实现了tti粒度的时间推移仿真,对时间的仿真也是实现其他一系列仿真的基础。
15、在第一方面的一种实现方式中,所述无线通信系统为卫星通信系统,所述终端侧模拟物理层与终端侧协议栈对接,所述方法还包括:所述终端侧协议栈获取卫星位置信息和终端位置信息;其中,所述卫星位置信息由历史星历数据或者卫星移动模型得到,所述终端位置信息为固定位置,或者由历史终端位置数据或者终端移动模型得到,所述卫星移动模型为表征卫星位置随时间变化的模型,所述终端移动模型为表征终端位置随时间变化的模型;所述终端侧协议栈按照设定时间根据所述卫星位置信息和所述终端位置信息计算信道的时延信息,根据所述时延信息计算所述终端侧模拟物理层的控制时序,并向所述终端侧模拟物理层下发所述控制时序;所述终端侧模拟物理层根据所述控制时序进行时序调整,以仿真信道的时延特性。
16、在上述实现方式中,支持对信道的时延特性进行仿真,使得仿真系统能够更好地模拟真实的卫星通信系统,提高其使用价值。
17、在第一方面的一种实现方式中,所述无线通信系统为卫星通信系统,所述终端侧模拟物理层与终端侧协议栈对接,所述方法还包括:所述终端侧协议栈获取卫星位置信息和终端位置信息;其中,所述卫星位置信息由历史星历数据或者卫星移动模型得到,所述终端位置信息为固定位置,或者由历史终端位置数据或者终端移动模型得到,所述卫星移动模型为表征卫星位置随时间变化的模型,所述终端移动模型为表征终端位置随时间变化的模型;所述终端侧协议栈按照设定时间根据所述卫星位置信息和所述终端位置信息计算信道的时偏和/或频偏信息,并向所述终端侧模拟物理层下发所述时偏和/或频偏信息;所述终端侧模拟物理层根据所述时偏和/或频偏进行时偏和/或频偏处理,以仿真信道的时偏和/或频偏特性。
18、在上述实现方式中,支持对信道的时偏和/或频偏特性进行仿真,使得仿真系统能够更好地模拟真实的卫星通信系统,提高其使用价值。
19、在第一方面的一种实现方式中,所述基站侧模拟物理层与基站侧协议栈对接,所述终端侧模拟物理层与终端侧协议栈对接,所述方法还包括:所述基站侧模拟物理层和所述终端侧模拟物理层分别接收产生链路中断的请求,并在之后的随机时间发起链路中断行为;其中,所述链路中断行为是指所述基站侧模拟物理层和所述终端侧模拟物理层均不再向对端模拟物理层发送消息,并向自身对接的协议栈上报链路失败消息,以触发所述协议栈的无线链路失败处理流程。
20、在上述实现方式中,支持对物理链路中断的情况进行仿真,使得仿真系统能够更好地模拟真实的无线通信系统,提高其使用价值。
21、在第一方面的一种实现方式中,所述方法还包括:创建数据记录任务;在所述基站侧模拟物理层和所述终端侧模拟物理层向对端模拟物理层发送消息时,将所述消息的副本同时发送给所述数据记录任务,以使所述数据记录任务将所述消息保存到日志中;响应日志回放请求,根据所述日志回放请求从所述日志中查询相应的消息并显示。
22、在上述实现方式中,通过在每次发送物理层消息时,将消息旁路一份给数据记录任务,使得仿真系统中所有的物理层消息均以日志的形式得以保存,便于后续进行分析。
23、在第一方面的一种实现方式中,所述基站侧模拟物理层与基站侧协议栈对接,所述终端侧模拟物理层与终端侧协议栈对接,所述方法还包括:在进行消息交互的过程中,所述基站侧模拟物理层和所述终端侧模拟物理层按照第一错包比例随机产生错误指示,并向自身对接的协议栈上报所述错误指示,以触发所述协议栈的错包处理流程。
24、在上述实现方式中,支持对丢包或错包的情况进行仿真,使得仿真系统能够更好地模拟真实的无线通信系统,提高其使用价值。
25、在第一方面的一种实现方式中,所述基站侧模拟物理层与基站侧协议栈对接,所述方法还包括:在进行消息交互的过程中,所述基站侧模拟物理层根据上行信道质量变化模型确定上行信道质量数据,并向所述基站侧协议栈上报所述上行信道质量数据,以触发所述基站侧协议栈对所述上行信道质量数据的处理流程;其中,所述上行信道质量变化模型为表征上行信道质量随时间变化的模型。
26、在上述实现方式中,支持对上行信道质量变化的情况进行仿真,使得仿真系统能够更好地模拟真实的无线通信系统,提高其使用价值。
27、在第一方面的一种实现方式中,所述基站侧模拟物理层与基站侧协议栈对接,所述终端侧模拟物理层与终端侧协议栈对接,所述方法还包括:所述终端侧模拟物理层根据下行信道质量变化模型确定下行信道质量数据,并向所述终端侧协议栈上报所述下行信道质量数据;其中,所述下行信道质量变化模型为表征下行信道质量随时间变化的模型;所述终端侧协议栈将所述下行信道质量数据通过指定协议发送给所述基站侧协议栈,以触发所述基站侧协议栈对所述下行信道质量数据的处理流程。
28、在上述实现方式中,支持对下行信道质量变化的情况进行仿真,使得仿真系统能够更好地模拟真实的无线通信系统,提高其使用价值。
29、在第一方面的一种实现方式中,所述基站侧模拟物理层与基站侧协议栈对接,所述方法还包括:所述基站侧模拟物理层获取信道质量数据,所述信道质量数据包括下行信道质量数据和/或上行信道质量数据;所述基站侧模拟物理层根据所述信道质量数据,利用错包概率预测模型确定第二错包比例,按照所述第二错包比例随机产生错误指示,并向所述基站侧协议栈上报所述错误指示,以触发所述基站侧协议栈的错包处理流程;其中,所述错包概率预测模型为表征信道质量与错包概率的关系的模型。
30、在上述实现方式中,支持对因信道质量变化所引起的丢包或错包的情况进行仿真,使得仿真系统能够更好地模拟真实的无线通信系统,提高其使用价值。
31、在第一方面的一种实现方式中,所述终端侧模拟物理层与终端侧协议栈对接,所述方法还包括:在进行消息交互的过程中,所述终端侧模拟物理层按照第一丢包比例随机丢弃从所述基站侧模拟物理层接收的上行物理下行控制信道(physical downlinkcontrol channel,简称pdcch)控制报文和/或下行pdcch控制报文,以使所述终端侧协议栈无法获取与丢弃的pdcch控制报文对应的信息,从而产生pdcch解调错误。
32、在上述实现方式中,支持对pdcch解调错误的情况进行仿真,使得仿真系统能够更好地模拟真实的无线通信系统,提高其使用价值。
33、在第一方面的一种实现方式中,所述基站侧模拟物理层与基站侧协议栈对接,所述方法还包括:在进行消息交互的过程中,所述基站侧模拟物理层按照第二丢包比例随机丢弃从所述终端侧模拟物理层接收的上行物理上行控制信道(physical uplink controlchannel,简称pucch)控制报文,以使所述基站侧协议栈无法获取与丢弃的pucch控制报文对应的信息,从而产生pucch解调错误。
34、在上述实现方式中,支持对pucch解调错误的情况进行仿真,使得仿真系统能够更好地模拟真实的无线通信系统,提高其使用价值。
35、第二方面,本技术实施例提供一种通信仿真装置,包括:基站仿真模块,用于利用基站进程运行基站侧模拟物理层;终端仿真模块,用于利用终端进程运行终端侧模拟物理层;其中,所述基站和所述终端属于同一无线通信系统,所述基站进程和所述终端进程为同一电子设备上不同的进程,所述基站侧模拟物理层是对基站侧物理层的仿真,所述终端侧模拟物理层是对终端侧物理层的仿真,所述基站侧模拟物理层和所述终端侧模拟物理层通过所述电子设备的共享内存进行消息交互。
36、第三方面,本技术实施例提供一种计算机程序产品,包括计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行第一方面或第一方面的任意一种实现方式提供的方法。
37、第四方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行第一方面或第一方面的任意一种实现方式提供的方法。
38、第五方面,本技术实施例提供一种电子设备,包括:存储器以及处理器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行第一方面或第一方面的任意一种实现方式提供的方法。
1.一种通信仿真方法,其特征在于,包括:
2.根据权利要求1所述的通信仿真方法,其特征在于,所述共享内存包括多个共享内存块,且每个共享内存块对应有索引信息,所述基站侧模拟物理层和所述终端侧模拟物理层通过所述电子设备的共享内存进行消息交互,包括:
3.根据权利要求2所述的通信仿真方法,其特征在于,所述方法还包括:
4.根据权利要求3所述的通信仿真方法,其特征在于,所述共享内存池包括针对上行消息的共享内存池和针对下行消息的共享内存池;其中,所述上行消息是指所述终端侧模拟物理层发送给所述基站侧模拟物理层的消息,所述下行消息是指所述基站侧模拟物理层发送给所述终端侧模拟物理层的消息。
5.根据权利要求3所述的通信仿真方法,其特征在于,所述共享内存池采用环形队列进行所述共享内存块的分配和释放。
6.根据权利要求1-5中任一项所述的通信仿真方法,其特征在于,所述方法还包括:
7.根据权利要求1-5中任一项所述的通信仿真方法,其特征在于,所述无线通信系统为卫星通信系统,所述终端侧模拟物理层与终端侧协议栈对接,所述方法还包括:
8.根据权利要求1-5中任一项所述的通信仿真方法,其特征在于,所述无线通信系统为卫星通信系统,所述终端侧模拟物理层与终端侧协议栈对接,所述方法还包括:
9.根据权利要求1-5中任一项所述的通信仿真方法,其特征在于,所述基站侧模拟物理层与基站侧协议栈对接,所述终端侧模拟物理层与终端侧协议栈对接,所述方法还包括:
10.根据权利要求1-5中任一项所述的通信仿真方法,其特征在于,所述方法还包括:
11.根据权利要求1-5中任一项所述的通信仿真方法,其特征在于,所述基站侧模拟物理层与基站侧协议栈对接,所述终端侧模拟物理层与终端侧协议栈对接,所述方法还包括:
12.根据权利要求1-5中任一项所述的通信仿真方法,其特征在于,所述基站侧模拟物理层与基站侧协议栈对接,所述方法还包括:
13.根据权利要求1-5中任一项所述的通信仿真方法,其特征在于,所述基站侧模拟物理层与基站侧协议栈对接,所述终端侧模拟物理层与终端侧协议栈对接,所述方法还包括:
14.根据权利要求1-5中任一项所述的通信仿真方法,其特征在于,所述基站侧模拟物理层与基站侧协议栈对接,所述方法还包括:
15.根据权利要求1-5中任一项所述的通信仿真方法,其特征在于,所述终端侧模拟物理层与终端侧协议栈对接,所述方法还包括:
16.根据权利要求1-5中任一项所述的通信仿真方法,其特征在于,所述基站侧模拟物理层与基站侧协议栈对接,所述方法还包括:
17.一种通信仿真装置,其特征在于,包括:
18.一种计算机程序产品,其特征在于,包括计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行如权利要求1-16中任一项所述的方法。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行如权利要求1-16中任一项所述的方法。
20.一种电子设备,其特征在于,包括:存储器以及处理器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行权利要求1-16中任一项所述的方法。
