一种大规模信道仿真的FPGA实现方法及实现架构与流程

文档序号:25536027发布日期:2021-06-18 20:29阅读:223来源:国知局
一种大规模信道仿真的FPGA实现方法及实现架构与流程
本发明属于无线信道仿真领域,特别是涉及到一种大规模信道仿真的fpga实现方法及实现架构。
背景技术
:无线信道模拟器广泛应用于无线网络的测试。它们提供了一种在实验室中可重复模拟传播信道的方法。随着无线网络规模和带宽的不断增大,出现了利用软件无线电(sdr)、开放式现场可编程门阵列(fpga)和软件库来设计和实现高带宽实时信道模拟器的体系结构和工作流程,虚拟平台“斗兽场”(colosseum)作为一个案例,展示了这种架构的灵活性,允许设计师根据其特定的射频带宽、天线数量、信道容量和硬件要求构建定制信道模拟器。但是由于计算量和带宽的复杂性,实现大规模信道仿真变得越来越困难。技术实现要素:本发明提出一种大规模信道仿真的fpga实现方法及实现架构,使用结构化的方法将工作负载分布到多个处理节点,具有巨大的市场潜力和良好的应用前景。为达到上述目的,本发明的技术方案是这样实现的:一种大规模信道仿真的fpga实现方法,包括:设置a/2个fpga,每个fpga设置a路接收仿真信道,并将a路的接收仿真信道合成一个信道,加入高斯白噪声影响;每个fpga连接2路软件无线电,每个软件无线电连接一个被测设备,被测设备的发送端用电缆连接接收仿真信道的接收端;构成a×a的阵列仿真;其中每个所述接收仿真信道包括依次连接的多普勒频移模块、传播时延模块、多径时延模块、大尺度衰落模块;其中a不小于64。进一步的,还设置有a/2个fpga,用于通过数据搬移,分担资源消耗。进一步的,所述多普勒频移模块使用dds核产生100khz频移量来模拟多普勒频移,另外还使用复数乘法器将频移量与原信号相乘。进一步的,所述多径时延模块采用fir滤波器,fir滤波器采用8抽头,关键运算为一系列乘法累加运算cmac,一个cmac通过用3个实乘法累加来实现。进一步的,所述大尺度衰落模块,使用复数乘法器,将多径时延模块之后的信号固定乘以一个衰减系数,实现幅度和相位的调整。本发明的另一方面,还提出了一种大规模信道仿真的fpga实现架构,包括16个atca-3671加速器,每个atca-3671有4个virtex-7fpga,共64个fpga,分成32组,每组包含2个fpga;其中1个fpga连接两路sdr,该fpga设置64路接收仿真信道,并将64路的接收仿真信道合成一个信道,加入高斯白噪声影响;所述接收仿真信道包括依次连接的多普勒频移模块、传播时延模块、多径时延模块、大尺度衰落模块;另1个fpga用于通过数据搬移,分担资源消耗。进一步的,每个atca-3671加速器的4个fpga,以2×2的网格结构连接。一个象限内的4个加速器使用qsfp+电缆连接在同1个2×2网格拓扑中。进一步的,所述多普勒频移模块设有dds核和复数乘法器,使用dds核产生100khz频移量来模拟多普勒频移,使用复数乘法器将频移量与原信号相乘。进一步的,所述多径时延模块采用fir滤波器,fir滤波器采用8抽头,关键运算为一系列乘法累加运算cmac,一个cmac通过用3个实乘法累加来实现。进一步的,所述大尺度衰落模块设有复数乘法器,用于使用复数乘法器将多径时延模块之后的信号固定乘以一个衰减系数,实现幅度和相位的调整。与现有技术相比,本发明具有如下的有益效果:本发明提出了一种以fpga为中心的无线信道仿真的实现方法及架构,使用结构化的方法将工作负载分布到多个处理节点;此外,还提出了一些可扩展的框架构建模块,可用于设计这种无线信道模拟器;还提出了使用公开可用组件实现这些模块的具体方法;通过本发明能够解决计算量和带宽带来的复杂性问题,实现大规模信道仿真,此大规模信道仿真具有巨大的市场潜力和良好的应用前景。附图说明图1是本发明实施例的64x64规模仿真框图;图2是本发明实施例的四对设备各发射机的贡献示意图;图3是本发明实施例的稀疏fir滤波器(n个延迟单元/8个稀疏抽头/8个乘法器/7个累加器/8个系数的存储)示意图;图4是本发明实施例的核心dsp阵列示意图;图5是本发明实施例的多普勒频移示意图;图6是本发明实施例的同象限中fpga加速器的连接示意图。具体实施方式需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以通过具体情况理解上述术语在本发明中的具体含义。大规模信道仿真器具有以下几个特点:1)空间尺寸:在拥挤的频谱环境中,每个无线电潜在地损害另一个无线电通信的可能性较高,尽可能模仿一个合理的,但不是太大的空间尺寸,范围不小于300km;2)带宽80mhz,选用采样率250mhz;3)多径分辨率:小于5ns;4)多普勒频移:最大100khz;5)射频通道规模:不小于64×64;6)采样数据流拓扑设计。本发明提出的设计方案中,每个接收仿真信道都包括多普勒频移模块、传播时延模块、多径时延模块、大尺度衰落模块,然后64路接收信道合成一个信道,加入高斯白噪声影响,经过软件无线电发送给被测设备,被测设备的发送端用电缆连接仿真信道的接收端。信道仿真器使用16个atca-3671加速器来实现,每个atca-3671有4个virtex-7fpga,共64个fpga。其中32个fpga连接64个sdr,剩余32个fpga通过数据搬移,分担资源消耗。这样,大规模信道仿真器具就是一个64×64的阵列仿真,fpga内部的信号处理流程如图1所示。详细说明如下:1、模拟场景传播距离:无线电波以光速c传播,为了产生精确的延迟来计算信号从区域一端到另一端的传播时间,需要存储器来缓冲信号。已知模拟场景空间范围不小于300km,那么需要缓存时间t=l/c=1ms。数据采样频率250mhz,位宽16bit,存储1ms数据需要存储空间:250m×16×2×10-3×64×64=4gb。因此需要有至少4gb的存储空间,可以选用4gb~8gb的ddr3进行数据缓存。2、多径时延模块:无线信道的一个最独特的特点是电磁波在几个不同的方向上传播,这种现象称为多径。每条射线经历不同的延迟和衰减(衰落),从而在射频信道中产生频率选择性。如图2所示显示了四个发射机和四个接收机同时工作的图形,表示它们之间的无线信道控制各种发射机和接收机之间的交互。信道可以数学建模,每个发射机为每个接收机提供与点积相同的唯一贡献。当考虑多个发射机时,形成一个矩阵乘积,其中每个项表示射频多径,或无线回波产生的衰减和延迟。当采用250msps的系统采样率时,fir滤波器可以实现的最小延迟为4ns,满足要求的5ns多径分辨率。从全网格的角度来说,每一个发射机需要与其他所有接收机交互。必须确定所有发射机-接收机配对之间的射频路径,这样就获得64*64=4096个收发对。延迟路径利用有限脉冲响应(finiteimpulseresponse,fir)滤波器在数字域实现。一个关键参数是每个fir滤波器需采用多少个抽头。抽头越多实现的仿真越真实,也能仿真更多的收发路径;但是抽头越多,计算复杂度越高。本发明中选用colosseum中每个fir滤波器有8个抽头,如图3所示为稀疏fir滤波器(n个延迟单元/8个稀疏抽头/8个乘法器/7个累加器/8个系数的存储)示意图。fir滤波器的关键运算是一系列乘法累加运算(cmac),很好地映射到fpga中的dsp片。一个cmac可以用3个实乘法累加(mac)来实现。因此,每个8抽头的fir滤波器需要执行24个dsp。使用稀疏fir滤波器作为核心dsp组件,总体设计可以看作是一个巨大的平铺稀疏fir滤波器和加法器阵列,如图4所示,64个输入和输出总共需要4096个滤波器,相当于每个样本需要98304个实乘法累加9.8304tmac/s。每个atca-3671加速器由四个virtex-7fpga组成,共有14400个dsp模块。3、大尺度衰落模块:对于传统模型的研究,基本集中于给定范围内平均接收场强的预算和特定位置附近场强的变化。对于预测平均接收场强并且用于估计无线覆盖范围的传播模型来说,由于发送端和接收端之间长距离上的场强变化,所以称之为大尺度衰落。对于卫星通信系统和微波视距天线链路通信系统,接收端和发送端之间可能出现完全无遮挡的直射的自由空间传播模型,其预测接收功率的衰减为幂函数。在自由空间中,若发送端和接收端的距离为d,则接收信号的功率可以表示为:其中,pr表示接收信号的功率,pt表示接收信号的功率,gt表示发射天线的损耗,gr表示接收天线的增益,d表示发送端和接收端之间的距离,l表示与传播无关的系统损耗,λ表示波长。在本发明的大尺度衰落模块中,将多径时延模块之后的信号(yi)固定乘以一个衰减系数,需要使用复数乘法器,实现幅度和相位的调整,每个乘法器需要3个dsp。即共需要64*64*3=12288个dsp。4、多普勒频移模块:当信号的发送端与接收端之间存在相对径向运动时,接收端所接收到信号的频率将与发送端所发射信号的频率不同。这种现象称为多普勒效应。存在相对运动中的物体进行通信时会产生多普勒效应,由多普勒效应所引起的附加频移称为多普勒频移(dopplershift),如图5所示为多普勒频移的示意图。由于发送端与接收端之间的相对运动,导致多普勒效应,此时无线信道是随时间变化的,当相对运动的速度恒定时,信道的时变特性将会引起信号的时间选择性衰落,时间选择性衰落将会导致接收端接收信号的失真,这是由于在信号传输的过程中,信道的特性发生了变化。在移动通信中,基站和接收端的相互移动,会造成接收信号发生多普勒频移效应。s为基站,接收机以恒定的速率v从x运动到y,运动时间为δt,运动距离为d,接收信号的抵达角为θ,接收信号的路径差为δx。由于基站s距离接收机较远,所以δx可以近似为dcosθ,当信号波长为λ,x点与y点的接收信号的路径差为δl=dcosθ=vδtcosθ,其中δt表示接收端从x点运动到y点所需要的时间,θ表示运动方向与入射波的夹角。如果发送端和接收端的距离较远,可近似认为x点、y点处的夹角相同,所以由路程差所导致接收信号的相位差变化可以表示为:由此,可以得到频率变化值,即多普勒频移fd,如下式fd为多普勒频移,θ表示运动方向与入射波的夹角,v是移动速度,c是电磁波传播速度,f为载波频率。由上式可得出,多普勒频移与发送端和接收端相对运动速度及运动方向,与无线电波入射方向和运动方向之间的夹角有关。若接收端朝向发送端方向运动,则多普勒频移为正,即接收频率上升。若发送端背向接收端方向运动,则多普勒频移为负,即接收频率下降。按照要求多普勒频移最大100khz,在仿真器中使用dds核产生100khz频移量来模拟多普勒频移,1个dds核消耗2片bram、2片dsp,另外还需复数乘法器将频移量与原信号相乘。所以多普勒频移需要消耗的资源见表1。表1多普勒频移资源消耗ramdspdds22复数乘法器03合计64×64信道819220480在多普勒频移运算中和大尺度衰落模块的计算中,不能用一个复数乘法器实现。5、数据搬移:本发明使用16个atca-3671加速刀片来实现大规模信道仿真,每个atca-3671有4个virtex-7fpga,共64个fpga。若信道包含的64个fpga能够处理无线信道模型的计算需求,则必须解决在64个fpga之间移动所有数据的问题。使用最直接的方法来计算1个发射机对64个接收机中每个接收机的贡献。需要在处理数据之前对所有信道共同定位(即复制)。针对一个通道,这意味着在一个位置获得64gb/s(64*250m*16*2/8)的时间对齐的样本数据进行处理。为了有效地将计算划分到64个fpga中,必须分而治之,将所需的i/o带宽降低到一个可维持的水平。本发明中,每个fpga负责4个输入和4个输出。每个加速器都有4个fpga,它们通过印刷电路板轨迹以2×2的网格结构连接。一个象限内的4个加速器使用qsfp+电缆连接在同1个2×2网格拓扑中,如图6所示。要满足数据移动需求,需考虑单个fpga的数据需求。每个fpga接收4个输入通道,但在计算其输出之前需要获得来自所有64个发射通道的数据。为了访问其余通道,需要在加速器之间建立连接。atca-3671中的4个fpga组成一个2×2的互联网格。加速器之间使用qsfp+和minisasaurora连接。将64个fpga组织成一个4×4×4的拓扑,允许在64个fpga中共享天线的信道数据,使每个fpga能够访问来自64个天线的数据。通过计算64个通道的部分和来降低带宽需求,并在fpga之间进行交换并将结果相加。每个fpga在3个相邻的fpga和1个usrpsdr之间交换数据。每个fpga拥有10个aurorax4,理论传输速率可以支持200gb/s,项目应用中传输速率可达到120gb/s,满足每个fpga自身与其相邻的3个fpga和1个usrpsdr之间的数据交换。6、芯片资源消耗分析:将多普勒频移模块、传播时延模块、多径延时模块、大尺度衰落模块以及求和加噪模块进行芯片资源消耗统计。首先将64个fpga分成32组,每组包含2个fpga,其中1个fpga连接两路sdr,此芯片计算普勒频移、传播时延、1/4多径时延、大尺度衰落以及求和加噪;另一个fpga计算剩余的3/4多径时延,两个fpga芯片的资源消耗见表2和表3。表2芯片1资源消耗表3芯片2资源消耗由上表可以看出芯片2的bram和dsp的资源占用率均在50%以下,因此本发明芯片资源压力不大,易于实现。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1