一种大规模复杂无线通信系统的仿真方法和系统与流程

文档序号:11254568
一种大规模复杂无线通信系统的仿真方法和系统与流程

本发明涉及无线通信、高性能计算应用领域,尤其涉及的是一种大规模复杂无线通信系统的仿真方法和系统。



背景技术:

随着社会发展,新的应用和需求不断出现,如物联网、公共安全、突发事件等方面的需求,随之而来的是对无线通信技术提出更高的要求,主要体现在:更高的速率、更低的时延、更加可靠的网络覆盖、满足热点区域业务要求以及移动条件下仍能提供优质服务。

为了满足这些要求,一系列技术被提出:更高的频段、更大的带宽、天线增强技术、大规模天线阵列以提高速率;采用中继技术以保障小区边缘的覆盖和提升系统容量;针对移动场景,提出移动网络场景,包括移动中继(Relay)、游牧节点;为了满足物联网发展要求,实施MTC(Machine Type Communication,机器类型通信)技术,提出了大规模机器通信(Massive Machine Communication,MMC)的研究方向;针对公共安全需求和增强覆盖需求,实施终端直通技术(Device 2Device,D2D);针对未来80%-90%的系统吞吐量来自室内和热点场景,提出密集小区布网方案和256QAM高阶调制技术;为解决密集组网引起的小区间干扰和频繁切换问题,提出宏微小区双链接、垂直波束赋形、虚拟小区、无线回传、MM(Massive MIMO,大规模多输入多输出)和笔形波束赋形等;为了节约能源,提出了小区快速开关和小区发现技术。

上述技术的引入,导致无线网络有如下发展趋势:网络规模越来越大,且网络规模根据业务变化而动态改变;网络结构越来越复杂,主要体现在多制式多频点共存和互操作、多种覆盖模式共存,拓扑结构复杂,不规则网络,且随终端、机器、移动Relay(中继)、游牧节点的移动而动态变化;网络 节点种类越来越多,由此产生多种无线链路共存和多种业务需求共存,网络节点之间的协作越来越频繁;多种物理层处理技术将被引入;更多天线相关技术的引入,必然需要对无线信道进行精确建模,如采用射线追踪技术和3D信道、3D场景建模技术。

传统的单核/单机仿真平台已经无法完成对上述技术的仿真和评估,主要体现在无法提供足够的内存支持大规模场景仿真,无法保存仿真过程中产生的大量信道等数据;无法提供高速的计算速率以支持对大量复杂的物理层处理、大规模天线阵列建模和大量高层逻辑处理;无法提供灵活的架构以支持多制式共存、多模覆盖、多业务共存等的仿真;无法提供较好的可扩展结构以支持协议的演进,随着协议的演进,对不同类型网络节点的添加和删除可能导致将仿真平台推倒重来。单核目前用于在64天线超大规模天线阵列技术和射线追踪仿真中,运行速度极慢,需要几天才能完成一个仿真;在精确信道建模的射线追踪技术仿真中内存达到100G,且运算速度非常慢,更不用提对后续5G技术的仿真。

仿真技术的滞后必将严重阻碍5G标准的研究和推进,因此,需要研究适用于大规模复杂无线通信系统性能指标的新的仿真方法和平台。



技术实现要素:

本发明所要解决的技术问题是提供一种大规模复杂无线通信系统的仿真方法和系统,能够解决大规模复杂无线通信系统仿真过程中面临的内存压力、计算压力,并为仿真平台提供灵活性、扩展性好的并行架构。

本发明提供了一种大规模复杂无线通信系统的仿真方法,该方法包括:

客户端读取仿真配置参数,确定并行工作的各个CPU的功能类型并创建对应的仿真任务,通过任务管理器向并行工作的各个CPU下发仿真任务;

并行工作的CPU接收任务管理器下发的仿真任务,根据客户端配置的功能类型与其他CPU进行数据交互和同步操作,运行仿真代码。

可选地,所述客户端读取仿真配置参数并进行处理,确定并行工作的各 个CPU的功能类型并创建对应的仿真任务,包括:

根据仿真配置参数配置的并行工作的CPU数量、网络节点的数量和参数,在本地计算或通过并行工作的CPU协同计算网络节点之间的干扰关系,根据计算结果确定网络节点之间的数据交互关系;

确定并行工作的各个CPU的功能类型,根据网络节点、用户设备的数据交互关系为负责通信制式仿真的CPU分配网络节点和用户设备,构建并行工作的CPU之间的数据交互关系,为需要进行点对点通信的CPU对设置通信时序;

为并行工作的每一个CPU创建对应的仿真任务,所述仿真任务包括数据和仿真代码;

其中,所述CPU的功能类型包括:时序控制、数据中转、通信制式仿真。

可选地,所述根据网络节点、用户设备的数据交互关系为负责通信制式仿真的CPU分配网络节点和用户设备,包括进行以下至少一种处理:

a)将异制式异频点的网络节点划分在不同的通信制式仿真CPU中;

b)将存在数据交互的同制式同频点的网络节点划分在同一种通信制式仿真CPU中,同制式同频点的网络节点,根据网络节点的干扰关系划分到不同的CPU中;

c)将用户设备划分到其接入网络节点所在的通信制式仿真CPU中。

d)不同并行CPU之间数据交互最少;

e)不同并行CPU之间计算量均衡。

可选地,并行工作的CPU根据客户端配置的功能类型与其他CPU进行数据交互和同步操作,运行仿真代码,包括:

并行工作的CPU根据获取到的仿真任务确定自己的功能是时序控制时,通过运行仿真代码向其他CPU广播CPU之间的同步消息。

可选地,并行工作的CPU根据客户端配置的功能类型与其他CPU进行数据交互和同步操作,运行仿真代码,包括:

并行工作的CPU根据获取到的仿真任务确定自己的功能是数据中转时,接收时序控制CPU广播的同步消息并获取当前进行点对点通信的收发CPU对信息,在确定当前是本CPU与负责通信制式仿真的CPU进行点对点通信时,将缓存的其他CPU发送给本CPU当前通信对端的数据延时后发出,接收并缓存本CPU当前通信对端发送给其他CPU的数据。

可选地,并行工作的CPU根据客户端配置的功能类型与其他CPU进行数据交互和同步操作,运行仿真代码,包括:

并行工作的CPU根据获取到的仿真任务确定自己的功能是通信制式仿真时,接收时序控制CPU广播的同步消息并获取当前进行点对点通信的收发CPU对信息,在确定当前是本CPU与其他CPU进行点对点通信时,与其他CPU进行数据交互,运行网络节点协议栈代码和用户设备协议栈代码,计算上行和/或下行干扰。

可选地,所述并行工作的CPU计算上行和/或下行干扰,包括:

在对本CPU中驻留的目标网络节点计算上行干扰时,获取本CPU中驻留的用户设备与所述目标网络节点之间的位置关系和信道模型、其他CPU中驻留的对所述目标网络节点存在强干扰的用户设备与所述目标网络节点之间的位置关系和信道模型,根据获取到的信息计算信号之间的慢衰和快衰,根据信号衰落的计算结果确定用户设备对所述目标网络节点的上行干扰;

在对本CPU中驻留的目标用户设备计算下行干扰时,获取本CPU中驻留的网络节点与所述目标用户设备之间的位置关系和信道模型、其他CPU中驻留的对所述目标用户设备存在强干扰的网络节点与所述目标用户设备之间的位置关系和信道模型,根据获取到的信息计算信号之间的慢衰和快衰,根据信号衰落的计算结果确定网络节点对所述目标用户设备的下行干扰。

本发明提供了一种大规模复杂无线通信系统的仿真系统,包括:

客户端,用于读取仿真配置参数并进行处理,确定并行工作的各个CPU的功能类型并创建对应的仿真任务,通过任务管理器向并行工作的各个CPU 下发仿真任务;

并行工作的CPU,用于接收任务管理器下发的仿真任务,根据客户端配置的功能类型与其他CPU进行数据交互和同步操作,运行仿真代码;

任务管理器,用于接收客户端提交的仿真任务并下发给并行工作的CPU。

可选地,所述客户端,用于读取仿真配置参数并进行处理,确定并行工作的各个CPU的功能类型并创建对应的仿真任务,包括:

根据仿真配置参数配置的并行工作的CPU数量、网络节点的数量和参数,在本地计算或通过并行工作的CPU协同计算网络节点之间的干扰关系,根据计算结果确定网络节点之间的数据交互关系;

确定并行工作的各个CPU的功能类型,根据网络节点、用户设备的数据交互关系为负责通信制式仿真的CPU分配网络节点和用户设备,构建并行工作的CPU之间的数据交互关系,为需要进行点对点通信的CPU对设置通信时序;

为并行工作的每一个CPU创建对应的仿真任务,所述仿真任务包括数据和仿真代码;

其中,所述CPU的功能类型包括:时序控制、数据中转、通信制式仿真。

可选地,所述客户端,用于根据网络节点、用户设备的数据交互关系为负责通信制式仿真的CPU分配网络节点和用户设备,包括进行以下至少一种处理:

a)将异制式异频点的网络节点划分在不同的通信制式仿真CPU中;

b)将存在数据交互的同制式同频点的网络节点划分在同一种通信制式仿真CPU中,同制式同频点的网络节点,根据网络节点的干扰关系划分到不同的CPU中;

c)将用户设备划分到其接入网络节点所在的通信制式仿真CPU中。

d)不同并行CPU之间数据交互最少;

e)不同并行CPU之间计算量均衡。

可选地,并行工作的CPU,用于根据客户端配置的功能类型与其他CPU进行数据交互和同步操作,运行仿真代码,包括:

根据获取到的仿真任务确定自己的功能是时序控制时,通过运行仿真代码向其他CPU广播CPU之间的同步消息。

可选地,并行工作的CPU,用于根据客户端配置的功能类型与其他CPU进行数据交互和同步操作,运行仿真代码,包括:

根据获取到的仿真任务确定自己的功能是数据中转时,接收时序控制CPU广播的同步消息并获取当前进行点对点通信的收发CPU对信息,在确定当前是本CPU与负责通信制式仿真的CPU进行点对点通信时,将缓存的其他CPU发送给本CPU当前通信对端的数据延时后发出,接收并缓存本CPU当前通信对端发送给其他CPU的数据。

可选地,并行工作的CPU,用于根据客户端配置的功能类型与其他CPU进行数据交互和同步操作,运行仿真代码,包括:

根据获取到的仿真任务确定自己的功能是通信制式仿真时,接收时序控制CPU广播的同步消息并获取当前进行点对点通信的收发CPU对信息,在确定当前是本CPU与其他CPU进行点对点通信时,与其他CPU进行数据交互,运行网络节点协议栈代码和用户设备协议栈代码,计算上行和/或下行干扰。

可选地,并行工作的CPU,用于计算上行和/或下行干扰,包括:

在对本CPU中驻留的目标网络节点计算上行干扰时,获取本CPU中驻留的用户设备与所述目标网络节点之间的位置关系和信道模型、其他CPU中驻留的对所述目标网络节点存在强干扰的用户设备与所述目标网络节点之间的位置关系和信道模型,根据获取到的信息计算信号之间的慢衰和快衰,根据信号衰落的计算结果确定用户设备对所述目标网络节点的上行干扰;

在对本CPU中驻留的目标用户设备计算下行干扰时,获取本CPU中驻留的网络节点与所述目标用户设备之间的位置关系和信道模型、其他CPU 中驻留的对所述目标用户设备存在强干扰的网络节点与所述目标用户设备之间的位置关系和信道模型,根据获取到的信息计算信号之间的慢衰和快衰,根据信号衰落的计算结果确定网络节点对所述目标用户设备的下行干扰。

与现有技术相比,本发明提供的一种大规模复杂无线通信系统的仿真方法和系统,客户端读取仿真配置参数并进行处理,确定并行工作的各个CPU的功能类型并创建对应的仿真任务,通过任务管理器向并行工作的各个CPU下发仿真任务,并行工作的CPU接收到任务管理器下发的仿真任务后,根据客户端配置的功能类型与其他CPU进行数据交互和同步操作,运行仿真代码。本发明能够解决大规模复杂无线通信系统仿真过程中面临的内存压力、计算压力,并为仿真平台提供灵活性、扩展性好的并行架构,以支持多种需求、想法和场景的仿真。

附图说明

图1为本发明实施例采用的分布式并行仿真平台的系统架构示意图。

图2为本发明实施例的分布式并行仿真平台中客户端、任务管理器和并行CPU的功能示意图。

图3为本发明实施例的一种大规模复杂无线通信系统的仿真方法流程图。

图4为本发明实施例的一种大规模复杂无线通信系统的仿真系统示意图。

图5为本发明示例1的客户端实现实例一流程图。

图6为本发明示例2的单通信制式仿真平台CPU构成及相互关系(实例一)示意图。

图7为本发明示例3的单通信制式仿真平台CPU构成及相互关系(实例二)示意图。

图8为本发明示例4的多制式共存仿真平台CPU构成及相互关系(实例三)示意图。

图9为本发明示例5的多制式共存仿真平台CPU构成及相互关系(实例四)示意图。

图10为本发明示例6的并行CPU实现流程示意图。

图11为本发明示例7的时序控制节点实现流程示意图。

图12为本发明示例8的并行CPU数据交互实现流程实例一示意图。

图13为本发明示例9的并行CPU数据交互实现流程实例二示意图。

图14为本发明示例10的并行CPU数据交互实现流程实例三示意图。

图15为本发明示例11的通信制式仿真CPU仿真网络范围确定示意图。

图16为本发明示例13的通信制式仿真CPU仿真实现流程图。

图17为本发明示例14的中转节点CPU实现流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

本发明采用分布式并行仿真平台,该仿真平台的架构主要由三部分组成:客户端、任务管理器和并行CPU。客户端是一台或者多台远程PC机,这些PC机由人控制,多台PC机之间独立运行。任务管理器是并行仿真机中的一个CPU,这个CPU可以与其他并行CPU共用一台仿真机也可以独占一台仿真机。多台并行仿真机,每台仿真机有一个或多个CPU,这些CPU构成并行CPU,这些CPU之间并行独立运行,有自己独立的内存。

图1是并行系统的架构。客户端通过网络与仿真实验室相连,仿真实验室有多台高性能仿真机,高性能仿真机之间通过交换机相连,将其中一台仿真机设置为任务管理器,其余仿真机的CPU构成并行CPU。

如图2所示,所述分布式并行仿真平台包含的客户端、任务管理器、并行CPU的主要功能和信息交互如下:

客户端,是一台或者多台彼此独立的PC机,可在远程办公室等地,由 人操作启动仿真,主要工作是:启动仿真、并读取仿真配置的参数;根据配置的并行CPU数量和仿真中网络节点的类型和数量,为每个并行CPU分配仿真网络节点;分配的依据是:不同并行CPU之间数据交互最少,以及不同并行CPU之间计算量尽可能均衡;设置每个并行CPU的类型;根据网络节点分配结果和不同网络节点的数据交互关系构建不同并行CPU间的数据交互关系;将读取和初步处理的仿真数据和仿真平台代码提交到任务管理器;向任务管理器发出命令,接收任务管理器返回的命令响应;对多个并行CPU返回的仿真结果进行综合处理。

任务管理器,可设置在一台仿真机上,主要工作:接收客户端提交的数据和代码,将这些数据和代码分发到并行CPU中;检测每个并行CPU的运行状态;根据客户端的命令执行相应的操作,如删除或者取消并行仿真任务、回收状态为finish(完成)的仿真任务的运行结果等。

并行CPU,接收任务管理器分发的结果,根据本CPU的网络节点类型和网络节点ID,运行相应的仿真代码;与相关的并行CPU进行数据交互、同步等操作。

并行CPU可以包括四种功能类型:时序控制、数据中转、移动节点仿真和通信制式仿真。时序控制功能,用于向所有并行CPU广播CPU之间的同步消息,驱动仿真进行;中转功能,用于接收、缓存和转发归属不同并行CPU中网络节点的信令,包括不同并行CPU之间的用户切换过程的信令、不同CPU内小区之间的交互和协作信令等;移动节点仿真功能,用于对一些不断移动的网络节点进行仿真,将它们划分一个节点是为了避免它们的移动导致并行CPU之间的负荷失衡;通信制式仿真功能,用于运行不同制式网络节点的仿真,一个CPU只运行一种制式的仿真,相同通信制式仿真CPU通过点对点直接进行数据交互,各CPU对之间依次进行通信,交互内容包括实时信息,如空口信息、移动用户和移动网络节点的位置信息。

相对单核仿真平台,分布式并行仿真平台能进行超大规模的网络仿真,而不会受到内存的限制;能进行复杂的物理层计算、射线追踪仿真、复杂信道建模等,而不影响速率;能进行多种制式共存互干扰仿真、协作和互操作仿真,而不会增加代码的复杂度;能很好的支持通信协议的演进,当协议变 动时,只需要对变动的部分进行修改,而不需要对平台推倒重来,如当需要为某种应用设计一种通信方式时,只需要增加一个并行CPU,然后在这个并行CPU中进行仿真建模的编码即可;能极大提升仿真的运算效率,特别是需要快速输出结果的仿真。

如图3所示,本发明实施例提供了一种大规模复杂无线通信系统的仿真方法,该方法包括:

S101,客户端读取仿真配置参数,确定并行工作的各个CPU的功能类型并创建对应的仿真任务,通过任务管理器向并行工作的各个CPU下发仿真任务;

S102,并行工作的CPU接收任务管理器下发的仿真任务,根据客户端配置的功能类型与其他CPU进行数据交互和同步操作,运行仿真代码。

其中,所述客户端读取仿真配置参数并进行处理,确定并行工作的各个CPU的功能类型并创建对应的仿真任务,包括:

根据仿真配置参数配置的并行工作的CPU数量、网络节点的数量和参数,在本地计算或通过并行工作的CPU协同计算网络节点之间的干扰关系,根据计算结果确定网络节点之间的数据交互关系;

确定并行工作的各个CPU的功能类型,根据网络节点、用户设备的数据交互关系为负责通信制式仿真的CPU分配网络节点和用户设备,构建并行工作的CPU之间的数据交互关系,为需要进行点对点通信的CPU对设置通信时序;

为并行工作的每一个CPU创建对应的仿真任务,所述仿真任务包括数据和仿真代码;

其中,所述CPU的功能类型包括:时序控制、数据中转、通信制式仿真。

其中,所述根据网络节点、用户设备的数据交互关系为负责通信制式仿真的CPU分配网络节点和用户设备,包括进行以下至少一种处理:

a)将异制式异频点的网络节点划分在不同的通信制式仿真CPU中;

b)将存在数据交互的同制式同频点的网络节点划分在同一种通信制式仿真CPU中,同制式同频点的网络节点,根据网络节点的干扰关系划分到不同的CPU中;

c)将用户设备划分到其接入网络节点所在的通信制式仿真CPU中。

d)不同并行CPU之间数据交互最少;

e)不同并行CPU之间计算量均衡。

其中,并行工作的CPU根据客户端配置的功能类型与其他CPU进行数据交互和同步操作,运行仿真代码,包括:

并行工作的CPU根据获取到的仿真任务确定自己的功能是时序控制时,通过运行仿真代码向其他CPU广播CPU之间的同步消息。

其中,并行工作的CPU根据客户端配置的功能类型与其他CPU进行数据交互和同步操作,运行仿真代码,包括:

并行工作的CPU根据获取到的仿真任务确定自己的功能是数据中转时,接收时序控制CPU广播的同步消息并获取当前进行点对点通信的收发CPU对信息,在确定当前是本CPU与负责通信制式仿真的CPU进行点对点通信时,将缓存的其他CPU发送给本CPU当前通信对端的数据延时后发出,接收并缓存本CPU当前通信对端发送给其他CPU的数据。

其中,并行工作的CPU根据客户端配置的功能类型与其他CPU进行数据交互和同步操作,运行仿真代码,包括:

并行工作的CPU根据获取到的仿真任务确定自己的功能是通信制式仿真时,接收时序控制CPU广播的同步消息并获取当前进行点对点通信的收发CPU对信息,在确定当前是本CPU与其他CPU进行点对点通信时,与其他CPU进行数据交互,运行网络节点协议栈代码和用户设备协议栈代码,计算上行和/或下行干扰。

其中,所述并行工作的CPU计算上行和/或下行干扰,包括:

在对本CPU中驻留的目标网络节点计算上行干扰时,获取本CPU中驻留的用户设备与所述目标网络节点之间的位置关系和信道模型、其他CPU 中驻留的对所述目标网络节点存在强干扰的用户设备与所述目标网络节点之间的位置关系和信道模型,根据获取到的信息计算信号之间的慢衰和快衰,根据信号衰落的计算结果确定用户设备对所述目标网络节点的上行干扰;

在对本CPU中驻留的目标用户设备计算下行干扰时,获取本CPU中驻留的网络节点与所述目标用户设备之间的位置关系和信道模型、其他CPU中驻留的对所述目标用户设备存在强干扰的网络节点与所述目标用户设备之间的位置关系和信道模型,根据获取到的信息计算信号之间的慢衰和快衰,根据信号衰落的计算结果确定网络节点对所述目标用户设备的下行干扰。

如图4所示,本发明实施例提供了一种大规模复杂无线通信系统的仿真系统,包括:

客户端,用于读取仿真配置参数,确定并行工作的各个CPU的功能类型并创建对应的仿真任务,通过任务管理器向并行工作的各个CPU下发仿真任务;

并行工作的CPU,用于接收任务管理器下发的仿真任务,根据客户端配置的功能类型与其他CPU进行数据交互和同步操作,运行仿真代码;

任务管理器,用于接收客户端提交的仿真任务并下发给并行工作的CPU。

其中,所述客户端,用于读取仿真配置参数并进行处理,确定并行工作的各个CPU的功能类型并创建对应的仿真任务,包括:

根据仿真配置参数配置的并行工作的CPU数量、网络节点的数量和参数,在本地计算或通过并行工作的CPU协同计算网络节点之间的干扰关系,根据计算结果确定网络节点之间的数据交互关系;

确定并行工作的各个CPU的功能类型,根据网络节点、用户设备的数据交互关系为负责通信制式仿真的CPU分配网络节点和用户设备,构建并行工作的CPU之间的数据交互关系,为需要进行点对点通信的CPU对设置 通信时序;

为并行工作的每一个CPU创建对应的仿真任务,所述仿真任务包括数据和仿真代码;

其中,所述CPU的功能类型包括:时序控制、数据中转、通信制式仿真。

其中,所述客户端,用于根据网络节点、用户设备的数据交互关系为负责通信制式仿真的CPU分配网络节点和用户设备,包括进行以下至少一种处理:

a)将异制式异频点的网络节点划分在不同的通信制式仿真CPU中;

b)将存在数据交互的同制式同频点的网络节点划分在同一种通信制式仿真CPU中,同制式同频点的网络节点,根据网络节点的干扰关系划分到不同的CPU中;

c)将用户设备划分到其接入网络节点所在的通信制式仿真CPU中。

d)不同并行CPU之间数据交互最少;

e)不同并行CPU之间计算量均衡。

其中,并行工作的CPU,用于根据客户端配置的功能类型与其他CPU进行数据交互和同步操作,运行仿真代码,包括:

根据获取到的仿真任务确定自己的功能是时序控制时,通过运行仿真代码向其他CPU广播CPU之间的同步消息。

其中,并行工作的CPU,用于根据客户端配置的功能类型与其他CPU进行数据交互和同步操作,运行仿真代码,包括:

根据获取到的仿真任务确定自己的功能是数据中转时,接收时序控制CPU广播的同步消息并获取当前进行点对点通信的收发CPU对信息,在确定当前是本CPU与负责通信制式仿真的CPU进行点对点通信时,将缓存的其他CPU发送给本CPU当前通信对端的数据延时后发出,接收并缓存本CPU当前通信对端发送给其他CPU的数据。

其中,并行工作的CPU,用于根据客户端配置的功能类型与其他CPU 进行数据交互和同步操作,运行仿真代码,包括:

根据获取到的仿真任务确定自己的功能是通信制式仿真时,接收时序控制CPU广播的同步消息并获取当前进行点对点通信的收发CPU对信息,在确定当前是本CPU与其他CPU进行点对点通信时,与其他CPU进行数据交互,运行网络节点协议栈代码和用户设备协议栈代码,计算上行和/或下行干扰。

其中,并行工作的CPU,用于计算上行和/或下行干扰,包括:

在对本CPU中驻留的目标网络节点计算上行干扰时,获取本CPU中驻留的用户设备与所述目标网络节点之间的位置关系和信道模型、其他CPU中驻留的对所述目标网络节点存在强干扰的用户设备与所述目标网络节点之间的位置关系和信道模型,根据获取到的信息计算信号之间的慢衰和快衰,根据信号衰落的计算结果确定用户设备对所述目标网络节点的上行干扰;

在对本CPU中驻留的目标用户设备计算下行干扰时,获取本CPU中驻留的网络节点与所述目标用户设备之间的位置关系和信道模型、其他CPU中驻留的对所述目标用户设备存在强干扰的网络节点与所述目标用户设备之间的位置关系和信道模型,根据获取到的信息计算信号之间的慢衰和快衰,根据信号衰落的计算结果确定网络节点对所述目标用户设备的下行干扰。

示例1

客户端实现实例

该实例主要描述多个仿真用例(case)仿真时客户端的处理过程,依次读取每个case的仿真数据,为每个case单独创建并行Job,并提交。其流程图如图5所示。

S200:从参数表中读取仿真配置数据;

其中,所述仿真配置数据包括仿真时长、并行CPU数量、路损模型、快衰模型、慢衰模型、网络规模等。

S201:选择是在客户端还是远程并行计算机上计算网络节点在网格点上的功率。如果选择在客户端上计算,则执行步骤S205,如果选择是在远程并行计算机上计算,则执行步骤S202;

评估并行计算和客户端的内存压力和计算效率。并行计算时将所有的网络节点划分为几部分,能有效缓解内存压力并可能提升计算效率,单个并行CPU只计算其中一部分网络节点在所有网格点上的功率,客户端计算所有网络节点在所有网格点上的功率。

内存评估通过客户端内存和网络规模进行判断。效率评估的方法:并行任务的提交和结果回收的时间ttrans,并行计算时间tex,客户端的计算时间为tpro_client,上述时间都可通过前期测试获得。在客户端内存足够的情况下,如果ttrans+tex≥tpro_client说明客户端计算效率高,执行S205,一般出现在网络规模较小的情况;如果ttrans+tex<tpro_client,则说明并行计算效率高,执行S202。在客户端内存不够的情况下,可以不进行计算效率的评估,直接执行S202。

其中,通过网格来离散化整个仿真区域,网格可以是正方形、长方形或六边形,网格点可以配置为所属网格的中心点,用网格点代表网格区域内的所有点,网格的大小和形状可以配置;

其中,网络节点包括:基站、中继点(Relay)、游牧节点等;

其中,网络节点在一个网格点上的功率是指:网络节点发射功率经过快衰、慢衰之后到网格点的功率;通过计算网络节点在网格点上的功率确定网络节点之间的干扰,便于下一步进行网络节点的划分;

S202:在任务管理器中创建并行Job,设置并行CPU数、Job名、用户名、提交计算需要的代码和数据的路径等,此并行Job用于计算所有网络节点在所有网格点上的功率。

S203:提交并行Job。

S204:等待计算完成,并回收计算结果,跳转到S206。

S205:客户端计算所有网络节点在所有网格点上的功率。

S206:设置每个并行CPU功能,根据计算结果确定网络节点的干扰关系,根据干扰关系对网络节点、UE进行划分,将网络节点和UE划分到并 行CPU中。

划分原则是异制式异频点的网络节点划分在不同的CPU中,同制式同频点网络节点划分时将存在数据交互的网络节点尽可能划分到同一个CPU中;将UE划分到其接入网络节点所在的CPU中;其中,在整网范围内,计算所有网络节点到所有UE的参考信号功率,为每个UE找到参考信号功率最强的网络节点,将UE划分到所述最强参考信号的网络节点所在的CPU中。

构建CPU之间的数据交互关系和进行点对点通信的CPU对的通信顺序;

S207:创建并行Job,用于进行正式仿真。

S208:提交并行Job。

S209:判断所有的仿真用例是否处理完成,处理完则执行S211,否则执行S210。

S210:切换到下一个仿真用例,执行S200。

S211:启动定时器;

其中,所述定时器用于周期性的查询Job状态和显示仿真进程,当Job处于完成(finish)状态时回收和处理仿真结果,并删除完成状态的Job。

示例2

仿真平台CPU构成及相互关系实例一

图6对应于一种LTE单通信制式仿真场景下的仿真平台。

所述仿真平台包括:客户端、任务管理器和并行CPU,他们之间进行仿真代码、仿真数据、命令和仿真结果数据的交互,客户端通过任务管理器对并行CPU进行控制和操作。他们之间可以双向通信。

并行CPU可以包括以下类型的CPU:时序控制节点CPU、通信制式仿真节点CPU;

其中,时序控制节点CPU向所有CPU节点广播CPU之间的同步消息、 当前时刻和仿真结束标志。

LTE通信制式仿真节点CPU之间可进行直接的点对点通信,交互的数据是空口信息、移动网络节点和移动UE的位置信息、网元之间的控制信令等;其中,空口信息用于计算不在同一个CPU中小区的邻区干扰,需要实时交互;位置信息用于计算实时的信道信息;控制信令存在时延,需要在发送端CPU中缓存一定时间再发送,执行一些协作、切换等操作。

并行CPU还可以包括移动节点仿真CPU,比如图6中的LTE移动节点CPU。单独划分移动节点仿真CPU是为了避免站点的移动导致CPU之间计算量负荷失衡,如果没有移动网络节点,此CPU可删除。

示例3

仿真平台CPU构成及相互关系实例二

图7对应于另一种LTE单通信制式仿真场景下的仿真平台。

与示例2的LTE单通信制式仿真平台类似,示例3的LTE单通信制式仿真平台也包括:客户端、任务管理器和并行CPU;示例3与示例2的差异是并行CPU类型中增加中转节点类型;

中转节点CPU用于缓存和转发不同CPU节点中网络节点的信令,包括切换用户信息、切换命令、协作命令等,缓存用于模拟信令交互时延。

示例4

仿真平台CPU构成及相互关系实例三

图8是一种多通信制式仿真平台CPU构成及相互关系。

与示例2的LTE单通信制式仿真平台类似,示例4的多通信制式仿真平台也包括:客户端、任务管理器和并行CPU;

其中,并行CPU可以包括以下类型的CPU:时序控制节点CPU、通信制式仿真节点CPU;

示例4与示例2的差异是:通信制式仿真节点CPU包括多种制式;每 个并行CPU只运行一种通信制式仿真代码,通信制式仿真节点CPU之间进行直接的点对点数据通信,相同制式之间交互的是空口信息、移动网络节点和UE的位置信息和信令,在不考虑系统间互干扰的情况下,不同制式之间只进行信令交互;空口信息需要实时交互,信令需要在发送端缓存一定时间再发送。

示例5

仿真平台CPU构成及相互关系实例四

图9是另一种多通信制式仿真平台CPU构成及相互关系。

与示例4的多通信制式仿真平台类似,示例5的多通信制式仿真平台也包括:客户端、任务管理器和并行CPU;

示例5与示例4的差异是并行CPU中增加中转节点类型;

中转节点CPU接收不同制式节点的信令交互,并对信令进行缓存和转发。

通信制式仿真节点CPU运行仿真代码,相同制式节点进行直接数据交互,主要交互空口信息,用于不同CPU中邻区的干扰计算,在不考虑系统间互干扰的情况下,不同制式的数据交互只有信令,且一般不进行直接交互,需要通过中转节点交互。

示例6

并行CPU运行流程实例一

并行CPU实现流程如图10所示,包括以下步骤:

S400:读取仿真数据,当任务管理器分发完数据之后,所有的并行CPU均加载任务管理器分发的仿真配置参数。

S401:读取本CPU的数据,任务管理器分发到所有并行CPU是相同的代码和数据,每一个CPU可以根据自己的index,读取与自己相关的数据,如公共仿真数据、本CPU驻留网络节点和UE的参数配置、本CPU干扰网 络节点和UE的参数配置等。

S402:设置本CPU的功能,根据读取的数据可知本CPU配置的功能,设置好功能之后执行自己的功能。

S403:发送或者接收广播消息;

在时序控制节点CPU中,进行计时并决策何时发送广播消息;其他节点CPU则等待接收时序控制节点CPU发送的广播消息。

S404:等待其他并行CPU接收到广播消息,实现并行CPU的通信同步。

S405:判断是否仿真结束,从广播消息中读取仿真结束标志,如果读取到仿真结束标志,则结束流程;如果没有读取到仿真结束标志,时序控制节点CPU执行步骤S407,中转节点CPU、通信制式仿真节点CPU执行步骤S406;

S406:不同CPU(通信制式仿真节点CPU、中转节点CPU)之间按照通信时序进行数据交互,交互当前时刻的空口信息、移动站点和移动用户的位置信息、信令;

S407:等待其他并行CPU数据交互完成,实现并行CPU通信同步,时序控制节点CPU、中转节点CPU执行完步骤S407后跳转到S411,通信制式仿真节点CPU执行完步骤S407后执行步骤S408;

S408:通信制式仿真节点CPU判断时序控制节点CPU广播的CPU之间的同步消息是否为本制式的同步帧,是则执行S409,否则执行S411。

S409:执行本通信制式仿真代码。

S410:产生交互数据。

S411:等待其他CPU完成,并行CPU代码执行同步后,跳转到S403;

其中,在通信制式仿真节点CPU执行S408-S410过程中,时序控制节点CPU和中转节点CPU可以处于等待状态,保证并行CPU的代码执行同步,然后跳转到S403。

示例7

时序控制节点CPU驱动仿真平台实例一

时序控制节点产生并广播当前时刻、不同制式帧到达消息和仿真结束标志三种消息,是整个系统的心脏,驱动仿真的运行,它以最小仿真时间粒度为单位进行时间累加,每累加一次,与所有制式的最小仿真时间单位进行模运算,广播模为0的制式对应的帧到达消息。图11以LTE、UMTS、GSM三种制式共存仿真为例说明时序控制节点实现,三种制式最小仿真时间单位分别是:1ms、0.667ms和0.577ms。

S500:设置仿真时长;

设置仿真时长,便于判断仿真是否结束。

S501:设置共存仿真中各种制式的最小仿真时间单位;

其中,设置各种制式的最小仿真时间单位,便于后续判断广播帧到达消息的时刻。

S502:计数器iCounter累加,累加的最小时间是最小时间粒度;

其中,三种制式的最小仿真时间单位分别是1ms、0.667ms、0.577ms,则累加的最小时间粒度是1us。

S503:判断仿真是否结束,是则执行S504,否则执行S505。

S504:广播消息,消息中仿真结束标志位置1;

S505:将iCounter与每一种制式的最小仿真时间粒度进行模运算;

S506,判断对每一种制式的求模结果中是否至少有一种制式的求模结果为0,是则执行S507,否则返回S502;

S507:广播模为0的制式的帧到达消息、当前时刻iCounter和仿真结束标志(置0),跳转到S502。

示例8

通信制式仿真节点CPU通信实现实例一

并行CPU之间采用两种通信方式进行数据交互:广播和点对点。帧到 达消息通过广播方式发送给所有并行CPU。中转节点CPU和通信制式仿真节点CPU之间通过依次点对点通信,一次只有一对CPU通信,在某个CPU对通信过程中,其他CPU等待,CPU对通信的次序在客户端生成,不同并行CPU中网络节点的信令交互通过中转节点CPU实现。

仿真平台中,先进行广播通信,再进行点对点的数据交互通信。通信制式仿真节点CPU的点对点数据交互流程图如图12所示。

S601:读取当前进行点对点通信的收发CPU对的信息。

S602:判断本节点CPU的index是否在收发CPU对中,是则执行S603;否则执行S608。

S603:判断通信制式仿真节点CPU是否与中转节点CPU通信,是则执行S605,否则执行S604。

S604:读取需要实时发出的数据;

其中,需要实时发出的数据,包括本CPU中网络节点的空口信息,本CPU中UE和移动站点的位置信息等,目的是用于其他CPU中网络节点计算当前时刻干扰,跳转到S606。

S605:读取信令数据。

S606:执行数据收发命令labsendreceive。

S607:保存接收的数据。

S608:执行等待命令,实现并行CPU的通信同步。

S609:判断所有并行CPU数据交互是否完成,是则直接结束;否则执行S610。

S610:读取下一对进行点对点通信的收发CPU对信息,跳转到S602。

示例9

通信制式仿真节点CPU通信实现实例二

与示例8中的实例一的差异是没有中转节点转发信令。

仿真平台中,先进行广播通信,再进行点对点的数据交互通信。点对点 数据交互流程图如图13所示。

S701:读取当前进行点对点通信的收发CPU对的信息。

S702:判断本节点CPU的index是否在收发CPU对中,是则执行S703;否则执行S709。

S703:读取实时交互数据;

其中,所述实时交互数据包括与对端CPU需要交互的数据,包括空口信息,移动UE和移动站点的位置信息等,目的是用于当前仿真时刻计算干扰、产生干扰UE和网络节点的快衰信息。

S704:判断是否有信令发送,是则执行S705;否则跳转到S707。

S705:判断信令时延是否到,是则执行S706,否则执行S707。

S706:读取信令数据。

S707:执行数据收发命令labsendreceive。

S708:保存接收的数据。

S709:执行等待命令,实现并行CPU的同步。

S710:判断所有并行CPU数据交互是否完成,是则直接结束;否则执行S711。

S711:读取下一对收发CPU对信息,跳转到S702。

示例10

通信制式仿真节点CPU通信实现实例三

实例三不采用点对点依次通信,而是采用所有并行CPU同时通信方式,也没有中转节点CPU,信令和数据一起发送。流程图如图14所示。

S800:是否有实时数据交互,是则执行S801;否则执行S802。

S801:读取需要发出的实时交互数据,准备发送;

其中,所述需要发出的实时交互数据包括空口信息,UE和移动站点的位置信息等,目的是用于当前仿真时刻计算干扰、产生干扰UE和网络节点 的快衰信息。

S802:判断是否有交互信令发送,有信令发送则执行S803;否则执行S805。

S803:判断信令时延是否到,是则执行S804;否则执行S805。

S804:读取信令数据。

S805:执行gcat数据交互命令。

S806:读取发送给本CPU的数据,并保存。

S807:执行等待命令,等待其他并行CPU完成数据交互,实现同步,结束。

示例11

通信制式仿真节点CPU仿真实现实例一

本部分主要介绍通信制式仿真节点CPU确定仿真范围的方法和具体仿真实现。

由客户端实现可知,通信制式仿真节点的仿真范围包括:本CPU中驻留的网络节点和这些网络节点的接入UE、其他CPU中对本CPU驻留网络节点和UE存在强干扰的网络节点和UE、异制式CPU中的网络节点。

单个制式CPU仿真的网络范围应该包括网络节点和这些网络节点的接入UE,由于上下行干扰的差异,在分别进行上下行仿真时仿真范围有所差异:

上行:仿真范围包括:本CPU中驻留的网络节点和UE、对本CPU驻留网络节点存在强干扰的其他CPU驻留的UE、异制式CPU中的网络节点;

下行:仿真范围包括:本CPU中驻留的网络节点和UE、对本CPU驻留UE存在强干扰的其他CPU驻留的网络节点、异制式CPU中的网络节点;

上下行同时仿真,则是上、下行仿真范围的并集。

如图15所示,本CPU中驻留的网络节点和UE仿真范围确定方法是: 找到这些节点中在上、下、左、右四个方向上最远的节点,以这四个点作为矩形边上的点确定一个矩形区域,在这个矩形区域的基础上再扩大一定范围(为了防止UE移动越界),由此决定的扩大后的矩形区域为仿真范围。在立体场景仿真中,如果驻留网络节点不连续,则用相同的方法另外再确定一个矩形区域,比如图15中CPU_N仿真网络范围2。

对本CPU驻留节点存在干扰的节点(包括UE和网络节点),如果其地理位置不在上述过程确定的仿真范围内,则单独将其三维地理位置信息加入到本CPU的仿真范围中,这样能极大减少仿真网格点数,还能实现立体场景仿真。

以UE运动和切换仿真说明通信制式仿真节点运行仿真,流程如图16所示。

S900:接收广播消息。

S901:判断仿真是否完成,是则直接结束,否则执行S902。

S902:判断是否是本制式帧到达消息,是则执行S903,否则执行S912。

S903:数据更新;

根据接收到的信息对本CPU中的网络节点和UE数据进行更新。

S904:判断是否为第一子帧,如果是第一子帧,执行S905,否则执行S906。

S905:小区重选,然后跳转到S910;

在客户端进行UE划分时,RSRP(Reference Signal Receiving Power,参考信号接收功率)功率计算和在单个并行CPU中RSRP计算的网络规模可能不一样,计算的慢衰和快衰可能有差异,导致最终在单个并行CPU中UE选择的网络节点与在客户端选择的不一样,此处进行重新选择,备选的网络节点是并行CPU中的驻留网络节点、干扰网络节点和其他制式网络节点。将最终选择到其他CPU中网络节点的UE_ID和目标网络节点ID和目标CPU ID保存,以便在S910中更新本CPU的UE数据。

S906:产生信道数据,用于协议栈仿真;

上下行产生的信道数据存在差异;

对于下行,由于干扰来自网络节点发出的信号,因此只需要考虑网络节点对UE的信号和干扰,快衰和慢衰主要是针对本CPU所有驻留网络节点、干扰网络节点,与本CPU驻留UE之间的信号衰落。

对于上行,由于干扰来自UE发送的上行信号,因此只需要考虑UE对网络节点的信号和干扰,快衰和慢衰主要是针对本CPU所有驻留UE、干扰UE,与本CPU中驻留网络节点之间的信号衰落。

上下行同时仿真时,需要计算的快衰和慢衰则是上述单向仿真时网络节点和UE的组合。

并行CPU之间可以不进行快衰、慢衰数据的交互,目的是减少交互的数据量,降低通信时延,快衰的随机数以UE和网络节点的位置作为随机种子,从而保证UE和网络节点在不同CPU中的快衰和慢衰一致。保证仿真的完整性。

S907:运行网络节点侧协议栈代码;

在网络节点物理层计算单个网络节点上行干扰时,对于单个资源,找到分配相同资源的驻留UE和干扰UE,将对该网络节点干扰最强的N1个UE作为干扰,干扰稍弱的N2个UE作为噪声,其他UE干扰可以不考虑。

S908:运行UE侧协议栈代码;

在UE物理层计算单个UE下行干扰时,将N1个干扰最强驻留网络节点和干扰网络节点作为干扰计算,干扰稍弱的N2个驻留网络节点和干扰网络节点作为噪声计算,其余干扰可以不考虑。

S909:动态仿真流程;

改变本CPU中驻留运动网络节点、驻留UE的位置;

主要计算本CPU中驻留网络节点、干扰网络节点、其他制式网络节点到驻留UE的RSRP(Reference Signal Receiving Power,参考信号接收功率),进行切换判决等操作,产生切换请求命令等。

S910:数据更新;

主要处理S905、S909产生的命令导致本CPU中UE切换到其他CPU变化的数据更新,如S905、S09中有重选、切换接纳命令,且相应的UE重 选、切换到其他CPU中的网络节点,则删除此UE在本CPU中的信息。

S911:交互数据打包。

S912:等待其他CPU完成,实现同步。跳转到S900。

示例12

中转节点CPU数据交互实例一

不同制式CPU之间通过中转节点作为中介进行信令交互,中转节点对信令的缓存模拟信令交互时延,同时简化了通信制式仿真节点CPU代码设计,实现切换、协作和互操作等仿真。不同制式CPU之间数据交互的内容包括:源CPU ID、目标CPU ID、缓存时延、消息实体。中转节点CPU数据交互流程如图17所示。

S1000:接收同步帧消息,假设目前接收的同步帧消息是制式A。

S1001:读取当前进行点对点通信的收发CPU对信息。

S1002:判断当前进行点对点通信的收发CPU对是否为自己与制式A的一个CPU(比如,CPU_i),是则执行S1003,否则执行S1008。

S1003:判断缓存中是否有其他制式CPU发给CPU_i的信令,是则执行S1004,否则执行S1008。

S1004:判断其他制式CPU发送给CPU_i的信令时延是否到了,是则执行S1005,否则执行S1008。

S1005:读取其他制式CPU发送给CPU_i的信令。

S1006:与CPU_i之间执行数据交互命令labsendreceive。

S1007:保存CPU_i发送给其他制式CPU的信令。

S1008:等待其他CPU完成通信,实现并行CPU的通信同步。

S1009:判断所有的通信是否完成,是则直接结束,否则执行S1010。

S1010:读取下一对进行点对点通信的收发CPU对信息,跳转到S1002。

上述实施例提供的一种大规模复杂无线通信系统的仿真方法和系统,客户端读取仿真配置参数并进行处理,确定并行工作的各个CPU的功能类型并创建对应的仿真任务,通过任务管理器向并行工作的各个CPU下发仿真任务,并行工作的CPU接收到任务管理器下发的仿真任务后,根据客户端配置的功能类型与其他CPU进行数据交互和同步操作,运行仿真代码。本发明实施例能够解决大规模复杂无线通信系统仿真过程中面临的内存压力、计算压力,并为仿真平台提供灵活和可扩展性很好的并行架构,以支持多种需求、想法和场景的仿真。

本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。

需要说明的是,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1