本发明涉及卫星通信技术领域,尤其是涉及一种卫星通信链路延时模拟方法、装置及系统。
背景技术:
在卫星通信的研究中,使用半实物仿真系统将运行各种卫星通信用协议的pc机模拟为卫星或地面站,并将连接它们的有线网络加入卫星信道特性后模拟卫星信道,对卫星通信的研究具有重要的价值。卫星通信链路延时模拟用于在地面模拟真实卫星通信中的链路延时,用于卫星通信系统设计中功能和性能的验证分析。
传统的卫星通信链路延时模拟过程中,都是基于计算机系统,将数据进行存储,由操作系统进行调度回放,系统设计在网络的高层对数据加入延时,系统实时性差,实现复杂。
针对现有卫星通信链路延时模拟实时性差,实现过程复杂的问题,目前尚未提出有效的解决方案。
技术实现要素:
有鉴于此,本发明的目的在于提供一种卫星通信链路延时模拟方法、装置及系统,能够准确模拟卫星链路延时,系统实时性好,实现简单。
第一方面,本发明实施例提供了一种卫星通信链路延时模拟方法,包括:将终端发送给模拟卫星的返向数据写入缓存;当返向数据的缓存时长达到单向延时时长时,读取返向数据并发送至模拟卫星;其中,单向延时时长是基于终端与模拟卫星间的距离和终端的采样频率设置的采样点数;将模拟卫星返回的经过缓存延时补偿后的前向数据写入缓存;缓存延时为对返向数据和前向数据进行缓存的固有延时;当前向数据的缓存时长达到单向延时时长时,读取前向数据并发送至终端。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,缓存的写入和读取操作由可编程逻辑器件执行。
结合第一方面第一种可能的实施方式,本发明实施例提供了第一方面的第二种可能的实施方式,其中,可编程逻辑器件为fpga,缓存为ddr。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,还包括:在返向数据或前向数据写入缓存后进行采样点计数,当计数达到采样点数时,确定缓存时长达到单向延时时长。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,还包括:为模拟卫星设置提前补偿参数,以使模拟卫星根据提前补偿参数对前向数据进行提前补偿。
第二方面,本发明实施例还提供一种卫星通信链路延时模拟装置,包括:返向数据写入模块,用于将终端发送给模拟卫星的返向数据写入缓存;返向数据读取模块,用于当返向数据的缓存时长达到单向延时时长时,读取返向数据并发送至模拟卫星;其中,单向延时时长是基于终端与模拟卫星间的距离和终端的采样频率设置的采样点数;前向数据写入模块,用于将模拟卫星返回的经过缓存延时补偿后的前向数据写入缓存;缓存延时为对返向数据和前向数据进行缓存的固有延时;前向数据读取模块,用于当前向数据的缓存时长达到单向延时时长时,读取前向数据并发送至终端。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,缓存的写入和读取操作由可编程逻辑器件执行;可编程逻辑器件为fpga,缓存为ddr。
结合第二方面,本发明实施例提供了第二方面的第二种可能的实施方式,还包括:缓存时长确定模块,用于在返向数据或前向数据写入缓存后进行采样点计数,当计数达到采样点数时,确定缓存时长达到单向延时时长。
结合第二方面,本发明实施例提供了第二方面的第三种可能的实施方式,还包括:参数设置模块,用于为模拟卫星设置提前补偿参数,以使模拟卫星根据提前补偿参数对前向数据进行提前补偿。
第三方面,本发明实施例还提供一种卫星通信链路延时模拟系统,至少包括:计算机、射频装置、可编程逻辑器件和缓存;计算机与射频装置间的数据通过可编程逻辑器件和缓存进行中转延时;可编程逻辑器件执行第一方面及其各可能的实施方式之一提供的方法。
本发明实施例带来了以下有益效果:
本发明实施例提供的卫星通信链路延时模拟方法、装置及系统,通过对终端与模拟卫星之间的返向数据和前向数据均写入缓存进行中转,当缓存时长达到单向延时时长时,读取返向数据并发送至模拟卫星;其中,单向延时时长是基于终端与模拟卫星间的距离和终端的采样频率设置的采样点数;并可以对缓存处理的固有延时进行缓存延时补偿;通过在网络的物理层数据加入延时,能够准确模拟卫星链路延时,系统实时性好,实现简单。
本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种卫星通信链路延时模拟方法的流程示意图;
图2为本发明实施例提供的另一种卫星通信链路延时模拟方法的流程示意图;
图3为本发明实施例提供的一种fpga进行ddr延时模拟的状态机示意图;
图4为本发明实施例提供的一种卫星通信链路延时模拟装置的结构示意图;
图5为本发明实施例提供的另一种卫星通信链路延时模拟装置的结构示意图;
图6为本发明实施例提供的另一种卫星通信链路延时模拟装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
传统的卫星通信链路延时模拟方式系统实时性差,实现复杂,基于此,本发明实施例提供的一种卫星通信链路延时模拟方法、装置及系统,能够准确模拟卫星链路延时,系统实时性好,实现简单。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种卫星通信链路延时模拟方法进行详细介绍。
实施例1
本发明实施例1提供了一种卫星通信链路延时模拟方法,应用于可编程逻辑器件,该可编程逻辑器件可以对缓存进行读取数据。图1是本发明一种卫星通信链路延时模拟方法的流程示意图,包括如下步骤:
步骤s102,将终端发送给模拟卫星的返向数据写入缓存。
其中,模拟卫星由计算机模拟,该计算机内运行各种卫星通信协议。当终端向模拟卫星发送返向数据时,需要先将该返向数据写入缓存进行中转产生延时。对前向链路接收数据与返向链路发送数据,前向链路与返向链路交替使用存储器接口进行采样点数据写入,前向链路与返向链路各使用一块存储空间循环写入,系统启动时从0地址开始,系统复位后回到0地址。
步骤s104,当返向数据的缓存时长达到单向延时时长时,读取返向数据并发送至模拟卫星。
其中,单向延时时长是基于终端与模拟卫星间的距离和终端的采样频率设置的采样点数。在进行缓存中转时需要进行延时设定,根据需要模拟的卫星与终端间距离,计算延时对应的采样点数n。设模拟卫星与终端间的距离为d,电磁波的速度为c,卫星与终端间的单向链路延时为δt,三者之间的关系为:
在返向数据或前向数据写入缓存后进行采样点计数,当计数达到采样点数时,确定缓存时长达到单向延时时长。在采样点计数等于上述设定值n时,停止计数,系统复位后重新开始计数。当前向链路或返向链路采样点计数值等于上述设定值n时,交替使用缓存器接口进行采样点数据读出,首次启动数据读出时,从0地址开始,之后循环读出,系统复位后回到0地址。
步骤s106,将模拟卫星返回的经过缓存延时补偿后的前向数据写入缓存。
其中,缓存延时为对返向数据和前向数据进行缓存的固有延时。由于可编程逻辑器件控制数据在缓存中进行写入和读取的数字处理均会导致时延,需要对数据进行数字处理时延补偿,即将反向数据适当提前,以期当链路延时模拟值设定为0时,前前向数据实现时间上的对齐。
步骤s108,当前向数据的缓存时长达到单向延时时长时,读取前向数据并发送至终端。
本发明实施例提供的上述卫星通信链路延时模拟方法,通过对终端与模拟卫星之间的返向数据和前向数据均写入缓存进行中转,当缓存时长达到单向延时时长时,读取返向数据并发送至模拟卫星;其中,单向延时时长是基于终端与模拟卫星间的距离和终端的采样频率设置的采样点数;并可以对缓存处理的固有延时进行缓存延时补偿;通过在网络的物理层数据加入延时,能够准确模拟卫星链路延时,系统实时性好,实现简单。
具体地,上述缓存的写入和读取操作由可编程逻辑器件执行。该可编程逻辑器件可以选择fpga(field-programmablegatearray,现场可编程门阵列)或者其他逻辑器件,缓存可以选择ddr(doubledatarate,双倍速率同步动态随机存储器)或者其他缓存器。其中,fpga包括但不限于xilinx公司设计开发的一系列fpga,ddr包括但不限于镁光公司所设计开发的一系列存储器。
由于不同的fpga和ddr导致不同的数字处理固有延时,可以为模拟卫星设置提前补偿参数,以使模拟卫星根据提前补偿参数对前向数据进行提前补偿。
本发明实施例提供的上述卫星通信链路延时模拟方法,通过延时设定,根据模拟距离与基带采样率计算延时量对应的采样点数;进行双向链路采样点数据循环缓存,并进行采样点计数;在采样点计数等于延时设定值时,循环读出数据,并停止计数;在上报环节,进行数字电路处理延时补偿,能够准确模拟卫星链路延时,系统实时性好,实现简单。
实施例2
本发明实施例2提供了一种卫星通信链路延时模拟方法,以可编程逻辑器件为fpga,缓存为ddr进行说明。参见图2所示的卫星通信链路延时模拟方法的流程示意图,其中示出了用于模拟卫星的计算机系统、fpga、ddr和终端。
在图2中终端向fpga发送返向信号;fpga向ddr中写入返向信号并进行采样点计数,待采样点计数等于延时设定值时,读出该返向信号以及停止计数,并将读出的该返向信号发送至计算机系统;计算机系统进行延时控制后将前向信号发送至fpga,由fpga与ddr缓存中转后发送给终端。
上述延时模拟的过程可通过一个四状态的状态机实现,参见图3所示的fpga进行ddr延时模拟的状态机示意图,示出了延时模拟的四个状态:
a)状态0:将前向数据写入ddr,当数据写入完毕或无数据需要写入时转入状态1;
b)状态1:当延时计数达到n时,将前向数据读回fpga,读出完毕或未到延时计数值时转入状态2;
c)状态2:将返向数据写入ddr,当数据写入完毕或无数据需要写入时转入状态3;
d)状态3:当延时计数达到n时,将返向数据读回fpga,读出完毕或未到延时计数值时转入状态0。
实施例3
本发明实施例3提供了一种卫星通信链路延时模拟装置,参见图4所示的卫星通信链路延时模拟装置的结构示意图,包括返向数据写入模块41、返向数据读取模块42、前向数据写入模块43和前向数据读取模块44,上述各模块的功能如下:
返向数据写入模块41,用于将终端发送给模拟卫星的返向数据写入缓存;
返向数据读取模块42,用于当返向数据的缓存时长达到单向延时时长时,读取返向数据并发送至模拟卫星;其中,单向延时时长是基于终端与模拟卫星间的距离和终端的采样频率设置的采样点数;
前向数据写入模块43,用于将模拟卫星返回的经过缓存延时补偿后的前向数据写入缓存;缓存延时为对返向数据和前向数据进行缓存的固有延时;
前向数据读取模块44,用于当前向数据的缓存时长达到单向延时时长时,读取前向数据并发送至终端。
进一步,缓存的写入和读取操作由可编程逻辑器件执行;可编程逻辑器件为fpga,缓存为ddr。
进一步,参见图5所示的卫星通信链路延时模拟装置的结构示意图,上述装置还包括:缓存时长确定模块51,用于在返向数据或前向数据写入缓存后进行采样点计数,当计数达到采样点数时,确定缓存时长达到单向延时时长。
进一步,参见图6所示的卫星通信链路延时模拟装置的结构示意图,上述装置还包括:参数设置模块61,用于为模拟卫星设置提前补偿参数,以使模拟卫星根据提前补偿参数对前向数据进行提前补偿。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的卫星通信链路延时模拟装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
实施例4
本发明实施例4提供了一种卫星通信链路延时模拟系统,至少包括:计算机、射频装置、可编程逻辑器件和缓存;计算机与射频装置间的数据通过可编程逻辑器件和缓存进行中转延时;可编程逻辑器件执行上述实施例提供的方法。
本发明实施例提供的卫星通信链路延时模拟系统,与上述实施例提供的卫星通信链路延时模拟方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本发明的范围。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
本发明实施例所提供的进行卫星通信链路延时模拟方法的计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。