CN114116557A - 基于硬件加速器与数字信号处理器的信道估计装置及方法 - Google Patents
基于硬件加速器与数字信号处理器的信道估计装置及方法 Download PDFInfo
- Publication number
- CN114116557A CN114116557A CN202111346989.8A CN202111346989A CN114116557A CN 114116557 A CN114116557 A CN 114116557A CN 202111346989 A CN202111346989 A CN 202111346989A CN 114116557 A CN114116557 A CN 114116557A
- Authority
- CN
- China
- Prior art keywords
- data
- hardware accelerator
- channel estimation
- pilot
- signal processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000004364 calculation method Methods 0.000 claims abstract description 17
- 238000013500 data storage Methods 0.000 claims abstract description 4
- 239000011159 matrix material Substances 0.000 claims description 71
- 230000005540 biological transmission Effects 0.000 claims description 14
- 230000003993 interaction Effects 0.000 claims description 8
- 239000013598 vector Substances 0.000 claims description 5
- 238000007781 pre-processing Methods 0.000 claims description 4
- 238000011156 evaluation Methods 0.000 claims description 3
- 238000003780 insertion Methods 0.000 claims description 3
- 230000037431 insertion Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 description 9
- 238000013461 design Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 239000000969 carrier Substances 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005562 fading Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
- G06F13/30—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal with priority control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
- G06F13/287—Multiplexed DMA
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及一种基于硬件加速器与数字信号处理器的信道估计装置,该装置包括:数字信号处理器模块:包括数字信号处理器、内部存储器和指令存储区域;硬件加速器模块:包括两个硬件加速器,用以实现数据计算;DMA模块:包括四条DMA通道和DMA控制器;外部存储器模块:包括外部存储器,所述的外部存储器为挂载在总线上的一片存储空间;数据存储位置判断与存放模块:用以对数字信号处理器的运算结果进行判断,以实现硬件加速器模块与数字信号处理器相对并行,与现有技术相比,本发明具有提高信道估计装置的兼容性、提高运行效率和灵活性等优点。
Description
技术领域
本发明涉及集成电路和计算机技术领域,尤其是涉及一种基于硬件加速器与数字信号处理器的信道估计装置及方法。
背景技术
随着无线通讯技术的迅速发展,各种智能设备快速普及,出现了无人机、智能终端等新兴应用平台。各种新型视频传输应用相继出现,如视频监控,视频会议,网络视频等,基于数字信号处理器,能在保证视频传输质量的情况下,实现高效稳定的视频传输。在无线视频的接收端信道估计模块计算量较大的,使用专用的硬件加速器能大大提高运行效率,硬件加速器即使用硬件代码实现软件算法并且集成到硬件中,一般来说,硬件加速器比纯软件实现算法的效率要高。考虑将接收端的信道估计设计成软件与硬件协同完成的形式,软件即基于数字信号处理器的专用指令集的实现。硬件加速器和数字信号处理器软核并列连接在总线上,实现数据相关的硬件加速模块与软件模块的协同工作,提高系统效率。
由于数据在从发送端传输到接收端的过程中产生了失真,所以接收端的数据相较于原始数据有着一定的偏差。信道估计就是通过部分已知的发送端的数据和在接收端接收到的数据情况估计出传输的信道模型,即系统的衰弱情况以及信号的变化情况。本文介绍的信道估计实现算法主要包括最小二乘法信道估计与最小均方误差信道估计两种信道估计算法。其中最小二乘法信道估计主要对无线帧中的导频数据进行信道估计,最小均方误差信道估计主要对除去导频外的数据进行信道估计。
信道估计可以使用硬件实现,使用硬件流水,能够大大提高运行效率,但是硬件实现的方式不够灵活,不利于后续的修改与优化,尽管软件与硬件协同工作性能会降低,但是软件代码具有可修改行,能够随时修改,软件实现即基于数字信号处理器的专用指令集实现的代码集,并且这些代码可以随着系统一起初始化,软件与硬件模块有着一定的数据无关性,可以实现相对并行的方式,尽可能的提高运行效率。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于硬件加速器与数字信号处理器的信道估计装置及方法。
本发明的目的可以通过以下技术方案来实现:
一种基于硬件加速器与数字信号处理器的信道估计装置,该装置包括:
数字信号处理器模块:包括数字信号处理器、内部存储器和指令存储区域;
硬件加速器模块:包括两个硬件加速器,用以实现数据计算;
DMA模块:包括四条DMA通道和DMA控制器,用以实现数字信号处理器和硬件加速器的数据交互;
外部存储器:分别与数据处理器和硬件加速器连接,用以存储数据;
数据存储位置判断与存放模块:用以判断数字信号处理器的运算结果的存储空间,提前计算硬件加速器模块的运算周期,实现硬件加速器模块与数字信号处理器相对并行。
所述的数字信号处理器的IP软核和硬件加速器模块集成到载体为评估版Xilinx的系统芯片上,并与总线连接,以实现硬件加速器与数字信号处理器的IP软核进行通信,所述的数字信号处理器直接读写外部存储器的数据和内部存储器的数据以及对硬件加速器进行调用。
所述的数字信号处理器的指令存储区域用以存储汇编指令,即汇编指令通过汇编器汇编成相应的机器码存入数字信号处理器的指令存储区域,多个汇编指令形成数字信号指令集,所述的数字信号指令集为精简指令集,精简指令集包括标量指令、矢量指令和存储加载指令,所述的标量指令包括算术运算指令、比较指令、循环指令和标量存储加载指令。
所述的内部存储器的内存区域经过提前划分并存储待处理的无线帧数据,内部存储器的内存区域包括第一内存区域、第二内存区域和第三内存区域,待处理的无线帧数据全部存储在内部存储器中,所述的数字信号处理器通过load/store指令或通过DMA模块对内部存储器进行读写,从数据所在的内存区域获取数据。
所述的硬件加速器模块的两个硬件加速器分别为基于Verilog编写的HDL的2*2复数矩阵乘硬件加速器和36*36与36*1的复数矩阵乘硬件加速器,每个硬件加速器均与总线连接,所述的2*2复数矩阵乘硬件加速器的输入为从外部存储器读入的数据,所述的2*2复数矩阵乘硬件加速器的运算结果存储至外部存储器,所述的36*36与36*1复数矩阵乘法硬件加速器直接对外部存储器进行读写,且36*36与36*1复数矩阵乘法硬件加速器的运算结果存储在外部存储器中固定的地址空间,所述的硬件加速器中设有标志位,数字信号处理器根据当前硬件加速器的状态与运行时间选择相应的DMA通道,以提升数据交互的正确性。
所述的DMA控制器在进行传输数据时对DMA通道进行控制,并配置待传输数据的源地址、目标地址和传输的数据量,所述的DMA控制器占用总线但不占用数据信号处理器的运行周期;
所述的四条DMA通道分别为:
第一DMA通道:用以将进行最小二乘法信道估计的导频数据传输至外部存储器;
第二DMA通道:用以将最小二乘法信道估计的估计结果传输至内部存储器;
第三DMA通道:用以将拆分后的最小二乘法信道估计的估计结果传输至外部存储器;
第四DMA通道:用以将最小均方误差信道估计结果传输至外部存储器。
该信道估计装置采用双天线收发方式,具体为:
一个无线帧数据包含32个OFDM符号,所述的OFDM符号包括导频符号、同步符号和正常的数据符号,每个OFDM符号有2048个子载波,包括1296个有效子载波和多个零值子载波,即无效子载波,每个子载波为32位,能够装载一个复数数据,在含有导频数据的OFDM符号中,每6个有效子载波中存在1个导频数据,每4个OFDM符号中有2个存放导频数据的OFDM符号,在一组进行信道估计的符号中包括导频符号,导频符号包括导频一符号和导频二符号,导频一符号和导频二符号的插入位置不同,不同天线的无线帧数据的格式相同,但插入的导频数据与有效子载波的数据不同。
一种应用如所述的信道估计装置的方法,该方法基于信道估计算法进行信道估计运算,具体包括以下步骤:
步骤1:将无线帧数据存储在内部存储器中,采用数字信号处理器的汇编指令对无线帧数据进行预处理;
步骤2:提取无线帧数据中不同的OFDM符号的导频数据,并根据对应的导频位置将导频数据排成多个按行存储的2*2复数矩阵;
步骤3:对硬件标志位进行判断,当硬件标志位为1时表示硬件加速器当前正在工作,当该硬件标志位为0时表示硬件加速器当前不在工作;
步骤4:数字信号处理器采用第一DMA通道将导频数据传输至外部存储器,硬件加速器直接读取外部存储器的数据,将得到的2*2复数矩阵与接收到的导频数据构成的矩阵进行乘法运算,按每10个OFDM符号为一组进行运算,一组OFDM符号的导频数据量为216*3*2*2个复数数据,即一个OFDM符号中有216个导频数据,一组OFDM符号中共有3组由导频一符号和导频二符号构成的2*2复数矩阵,并得到最小二乘法信道估计的运算结果;
步骤5:数字信号处理器采用第二DMA通道将最小二乘法信道估计的运算结果存储在内部存储器中,作为下阶段信道估计的输入值,即用以最小均方误差信道估计;
步骤6:数字信号处理器将存储在内部存储器中的运算结果分拆成多个36*1的复数矩阵;
步骤7:数字信号处理器采用第三DMA通道将多个36*1的复数矩阵传输至外部存储器,硬件加速器模块将10个固定数值的36*36的复数矩阵与36*1复数矩阵进行乘法运算,得到最小均方差信道估计的结果;
步骤8:数字信号处理器将得到的最小均方差信道估计的结果采用第四DMA通道传输至外部存储器。
所述的步骤4中,将最小二乘法信道估计的运算结果按照算法要求拆分成待运算的复数矩阵具体为:
每组最小二乘法信道估计的运算结果为216*3*2*2的复数矩阵,表示有216行,3组导频,首先获取3组中每组的前6个导频数据,每个导频数据重复取2次值,共36个复数,组成36*1的复数矩阵,再取下一组的6个导频数据组成36*1的复数矩阵,共得到144个36*1第一复数矩阵。
所述的步骤7中,根据数据子载波和导频子载波的相关系数、导频子载波处的相关系数以及信噪比得到第二复数矩阵,第二复数矩阵的大小为360*36,在运行时将第二复数矩阵做成表格提前存入外部存储器,进行最小均方误差估计时,将第二复数矩阵拆分为10个36*36复数矩阵依次与第一复数矩阵进行乘法操作,每组OFDM符号进行1440次36*36与36*1的复数矩阵乘法,得到1440*36个复数结果,将最小二乘法信道估计的运算结果分配到一组10个OFDM符号中,得到1296*10*2*2个复数,将其作为最小均方误差信道估计的结果。
与现有技术相比,本发明具有以下优点:
1、本发明使用一种新型信道估计实现方式,使信道估计模块更加灵活,可以根据无线帧的数据格式灵活调整信道估计的数据量,同时可以挂载不同矩阵规格的硬件加速器,数字信号处理器与硬件加速器并行运算相较于纯软件的实现方式提高了系统的运行效率,如果使用汇编指令实现复数矩阵乘,不仅算法复杂度较大,对比于硬件加速,其性能也较差,无线系统的其他模块使用数字信号处理器处理,数据存储在内部存储器,可以实现与其他模块平缓对接,保证整体系统的连通性;
2、本发明可以正常完成信道估计的功能,完成整体系统的30帧720p的视频数据传输,相比纯硬件实现的方式,其效率有所下降,但是鉴于整体系统兼容性、实现难度与灵活性的考虑,采取硬件加速器与数据处理器结合的方式在满足上述要求的前提下仍然能够满足系统设计的性能指标,数据处理器模块与硬件加速器模块合理的分工,通过DMA实现两种模块的数据交互,对系统性能的提升有着重要意义。
3、基于硬件加速器与数字信号处理器实现的信道估计算法能在兼顾运行效率的同时提高整个系统的灵活性,数字信号处理器进行数据的搬运,涉及内存数据时一般采用数据处理器的load/store指令,涉及与总线上的外存数据交互时采用用DMA的通道,通过提前计算在算法运行初始化时提前在外存存入数据,实现数据传输与硬件加速器运算的时间相互掩盖。
附图说明
图1为无线视频帧的数据格式示意图。
图2为本发明的两个天线上的两个无线帧数据的前10个OFDM符号的结构图。
图3为本发明进行最小均方误差信道估计运算时OFDM符号的子载波分组情况示意图。
图4为最小二乘法信道估计实现的示意图。
图5为最小均方误差信道估计实现的示意图。
图6为基于硬件加速器与数字信号处理器实现信道估计的并行机制的原理图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
实施例
本发明提供了一种基于硬件加速器与数字信号处理器的信道估计装置,包括数字信号处理器模块、硬件加速器模块、直接内存存取(DMA)模块和外部存储器模块(外存),数字信号处理器模块包括数字信号处理器和内部存储器(内存),外部存储器模块包括外部存储器(外存),硬件加速器模块包括2*2硬件加速器模块和36*36与36*1的复数矩阵乘硬件加速器,汇编指令通过汇编器汇编成相应的机器码存入数字信号处理器的指令存储区域。
基于信道估计算法进行信道估计运算,信道估计算法包括最小二乘法信道估计和最小均方误差信道估计,基于信道估计算法进行信道估计运算的过程具体包括以下步骤:
步骤1:数字信号处理器将存储在内部存储器的无线帧数据中的导频数据单独取出,根据对应的导频位置将导频数据排成多个2*2的按行存储的复数矩阵;
步骤2:通过DMA将导频数据传输至外部存储器,硬件加速器模块将步骤1得到的2*2复数矩阵与接收到的导频数据构成的矩阵进行乘法运算,并得到最小二乘法信道估计的运算结果;
步骤3:数字信号处理器通过DMA将最小二乘法信道估计的运算结果存储在内部存储器中,用以最小均方误差信道估计;
步骤4:数字信号处理器将存储在内部存储器中的运算结果按照算法要求分拆成多个36*1的复数矩阵;
步骤5:通过DMA将多个36*1的复数矩阵传输至外部存储器,硬件加速器模块将10个固定数值的36*36的复数矩阵与36*1复数矩阵进行乘法运算,得到最小均方差信道估计值;
步骤6:数字信号处理器将得到的最小均方差信道估计结果传输至外部存储器,用以对数据进行信道估计。
在信道估计装置中,DMA模块共包含四条DMA通道,分别为:
第一DMA通道:用以将最小二乘法信道估计的导频数据传输至外部存储器;
第二DMA通道:用于将最小二乘法信道估计的估计结果传输至内部存储器;
第三DMA通道:用以将拆分后的最小二乘法信道估计的估计结果传输至外部存储器;
第四DMA通道:用以将最小均方误差信道估计结果传输至外部存储器。
在信道估计装置中采用了双天线收发的设计:
一个无线帧包含32个OFDM符号,每个OFDM符号有2048个子载波,包括1296个有效子载波,每个子载波为32位,能够装载一个复数数据;在含有导频数据的OFDM符号中,每6个有效子载波中存在1个导频数据;每4个OFDM符号中有2个存放导频数据的OFDM符号,导频一和导频二的符号导频的插入位置与导频数据均不一样;不同天线的无线帧格式相同,插入的导频数据与有效子载波的数据不同。
在信道估计装置中,提取无线帧中不同的OFDM符号的导频数据并顺序存储在指定的内部存储器的区域中,按每10个OFDM符号为一组进行运算,一组OFDM符号的导频数据量为216*3*2*2个复数数据,即一个OFDM符号中有216个导频数据,一组OFDM符号中共有3组由导频一和导频二构成的2*2复数矩阵。
信道估计装置还包括数据存储位置判断与存放模块,用以对数字信号处理器的运算结果进行判断,决定存回内部存储器还是外部存储器,提前计算硬件加速器模块的运算周期,实现硬件加速器模块与数字信号处理器相对并行。
在信道估计装置中,将最小二乘法信道估计的运算结果按照算法要求拆分成待运算的复数矩阵具体为:
每组小二乘法信道估计的运算结果为216*3个2*2的复数矩阵,表示有216行,3组导频,对应2收2发的信道模型,首先获取3个组中每组的前6个导频数据,每个导频数据重复取2次值,共36个复数,组成36*1的复数矩阵,再取下一组的6个导频数据组成36*1的复数矩阵,共得到144个36*1个第一复数矩阵。
在信道估计装置中,根据数据子载波和导频子载波的相关系数、导频子载波处的相关系数以及信噪比求出第二复数矩阵,第二复数矩阵的大小为360*36,在运行时将这部分数据做成表格提前存入外部存储器,进行最小均方误差估计时,将第二复数矩阵拆分为10个36*36复数矩阵依次与第一复数矩阵进行乘法操作。
在信道估计装置中,每组OFDM符号进行1440次36*36与36*1的复数矩阵乘法,得到1440*36个复数结果,将最小二乘法信道估计的运算结果分配到一组10个OFDM符号中,得到1296*10*2*2个复数作为最小均方误差信道估计的结果。
将硬件加速器模块和数字信号处理器的IP软核集成到系统芯片(SoC)上,与总线连接,以方便数字信号处理器的软核调用硬件加速器模块,由于数字信号处理器的IP软核包括总线,硬件加速器模块只要支持这种总线接口就可以与数字信号处理器核通信,采用Xilinx评估版作为系统芯片的载体,硬件加速器模块采用Verilog HDL设计2*2复数矩阵乘与36*36与36*1的复数矩阵乘,汇编指令通过汇编器汇编成相应的机器码存入数字信号处理器的指令存储区域。
最小二乘法信道估计采用2*2复数矩阵乘法硬件加速器、两条DMA通道与汇编指令进行信道估计,最小均方误差信道估计采用36*36与36*1的复数矩阵乘法硬件加速器、两条DMA通道与汇编指令进行信道估计,二者的DMA通道独立且汇编指令不同。
2*2复数矩阵乘硬件加速器采用Verilog HDL编写,挂载在总线上,能够直接访问外部存储器,2*2复数矩阵乘硬件加速器的输入是从外部存储器读入的数据,加速器的输出结果也存储到外部存储器中。
36*36与36*1复数矩阵乘法硬件加速器同样使用Verilog HDL编写,挂载在总线上,直接对外部存储器进行读写,且36*36与36*1复数矩阵乘法硬件加速器的运算结果存储在部存储器中固定的地址空间。
数字信号处理器的内部存储器通过数字信号处理器的load/store指令进行读写,或通过特定的DMA通道进行读写,在整个无线视频传输系统中,待处理的视频数据全部存储在内部存储器中,待处理的视频数据所在的内部存储器区域经过提前划分,运行时能方便地从提前划分好的区域获得视频数据。
外部存储器是挂载在总线上的一片存储空间,该存储空间区别于内部存储,因为挂载在总线的硬件设备能够直接访问该存储空间中的数据,而无法访问内部存储器的数据,数字信号处理器能够直接读写外部存储器的数据与内部存储器的数据,所以外部存储器的数据与内部存储器的数据交互机制是本发明的重点。
数字信号处理器为定点数字信号处理器,支持标量指令与矢量指令,数字信号处理器的位宽为32bit,在大规模计算上具有的优势大。
DMA通过相关寄存器配置DMA控制器,每次进行数据传输时控制一条通道,占用总线但是不占用数据信号处理器的运行周期,在传输数据前配置待传输数据的源地址、目标地址和传输的数据量等参数即可,使用较为简单,且传输效率高。
数字信号处理器的数字信号指令集是RISC(精简指令集),包括标量指令,矢量指令和存储加载指令,本发明主要使用标量指令,标量指令包括算术运算,比较指令,循环指令和标量存储加载指令。
软件与硬件并行机制是指在数字信号处理器在内部存储器处理数据的时间与利用DMA将数据从内部存储器的内存区域传输至外部存储器的时间之和与硬件加速器模块进行一次对应数据量的复数矩阵乘法的时间相等,在初始化系统时提前准备好第一次硬件加速器运算的数据,在第一次执行的过程中,数字信号处理器在处理第二次计算的数据时,硬件加速器模块进行第一次数据计算,数字信号处理器完成处理第二次计算的数据时,硬件加速器完成第一次数据计算,开始进行第二次数据计算,同时数字信号处理器处理第三次计算的数据,且在数字信号完成计算后判断硬件加速器是否空闲,以增加系统的稳定,判断硬件加速器是否空闲具体为:
在硬件加速器模块中增加标志位,通过标志位判断硬件加速器当前的工作状态。在判断硬件加速器为空闲状态后插入一段DMA,将运算结果传输回内部存储器或者外部存储器的某个指定区域。
本发明基于现场可编程门阵列(FPGA)采用硬件语言编写硬件加速器模块,基于数字信号处理器的数字信号指令集完成对视频数据的预处理,通过DMA通道完成数字信号处理器和硬件加速器的数据交互,数字信号处理器的软核与硬件加速器共同挂载在总线上,通过控制预处理与传输的数据量,使数字信号处理器和硬件加速器的运行时间相近,从而达到并行计算的要求,并在硬件加速器中增加标志位,数字信号处理器能够随时获得硬件加速器的运行状态,根据当前硬件加速器的状态与运行时间选择相应的DMA通道,以提升数据交互的正确性,数字信号处理器引导整个信道估计实现过程,它控制着一次缓存的无线视频帧的数据量,一组OFDM缓存的导频数据量与最小二乘信道估计的结果数据量,同时负责调用硬件加速器,将硬件加速器理解成带有缓存空间的汇编子程序,只是主体程序里不需要保存现场和恢复中断的操作。
如图1所示的无线帧的结构,其中编号为0、1、4、5、8、9、12、13、16、17、20、21、24、25、28和29的OFDM符号是导频符号,导频符号中包括导频一符号和导频二符号,其他OFDM符号为同步符号和正常的数据符号,每个OFDM符号包括2048个子载波,前0~647个子载波和后1400~2047个子载波为有效子载波,中间的子载波包括多个零值子载波,即无效子载波,因为无效子载波的存在导致同一个OFDM符号的有效子载波的数据存在于两个连续的内存区域,对后续进行读取数据造成影响。
如图2所示,在一组进行信道估计的前10个符号中,编号为0、1、4、5、8和9的符号为导频符号,其中编号为0、4和8的符号为导频一符号,其中编号为1,5,9的符号为导频二符号,导频一符号和导频二符号的导频位置不同,但导频数量一致,图中的ABab、CDcd和EFef等两个天线相邻的导频一符号导频二符号的各一个复数,共4个复数,构成一个2*2复数矩阵参与最小二乘法信道估计。
由于数字信号处理器的内部处理空间有限,所以会在内部存储器存储两个无线帧的数据,共64个OFDM符号,两个天线各存储一个无线帧,并将每个无线帧按符号编号的顺序进行存储,在进行最小二乘法信道估计时,按顺序将天线一的两个导频数据与天线二的两个导频数据从相应的位置提取出来组成2*2复数矩阵按行存储在另外的连续的内存的地址空间,并采用DMA通道将这4个导频数据传输至外存的某个地址空间,硬件加速器从该固定的地址空间读取相应的数据进行运算,这里存在升级的可能,比如在内存中一次存够216*2*2个导频数据传输至外存,硬件加速器一次就可以完成216个矩阵乘,这样一次DMA传输的数据量增大,但减少了使用DMA通道的次数,运输一组数据的总体运输时间减少了,同时硬件加速器优化后大规模多次进行2*2复数矩阵乘能大大提高运算效率,但会使整体实现的灵活度下降,2*2复数矩阵乘法的应用空间远远大于216组2*2复数矩阵乘,同时216组2*2复数矩阵乘的硬件结构也十分复杂,增大了系统的负载,尽管这种升级能提升性能,但是最终的硬件加速器仍设计成2*2的小规模运算。
如图3所示,将一个OFDM符号的1296个有效子载波分成36组,每组包括36个有效子载波;一组最小二乘法信道估计的运算结果为216*3*2*2个复数数据,其中一个符号对应216个导频结果,分成36组,每组6个导频数据,由于双天线的设计,因此每个天线对应的OFDM符号的导频数据都要参与到最小均方误差信道估计的计算中,即每组导频数据都要被重复使用两次。
一组符号经过最小二乘法信道估计的结果为216*3*2*2个复数数据,代表216行3列2*2的复数矩阵,每次运算时将每一列的前6个复数矩阵中4个元素取出1个元素,共计18(6*3*1)个复数数据,此时考虑双天线的设计,18个数据重复,共计36个复数数据参与运算,且这些数据计算出来就被传输回内存区域,因此能够直接采用汇编的标量读写指令,按照上述规律将这些数据在内存区域排列成顺序存储的行向量,再通过对应的DMA通道将这些数据传输至外存的某个地址,36*36与36*1复数矩阵乘法硬件加速器将进行计算,随后配置对应的DMA通道将计算后的数据传输回外存。
如图4所示的最小二乘信道估计的实现流程,具体为:
数据在内存进行整理,传输至外存,无线帧数据存储在内存区域1,通过汇编指令对无线帧数据进行处理,筛选出导频数据并顺序存储在内存区域2,经过固定的时间段后对硬件标志位进行判断,采用DMA将导频数据从内存区域2传输至外存区域1,硬件加速器直接读取外存存储的导频数据进行运算,再采用DMA将运算结果传输回内存区域2,这次信道估计的结果将作为下阶段信道估计的输入值。
无线视频帧的32个OFDM符号按顺序存储在指定的内存区域中,因此每个导频数据在内存区域是固定的,如图2所示,每6个子载波中含有一个导频,导频的位置可能是6个子载波中的第一个,或是6个子载波中的第4个,在计算一组10个OFDM符号的数据时,汇编代码设计外层三个大循环控制3组导频一导频二数据,内部嵌套两个108的小循环,因为一个符号1296个子载波存储在两个内存区域,为方便使用变址指令来连续读取导频数据,固将一个符号中的导频数据分成两段代码读取,在每一段小循环内部增加判断硬件标志位的代码与两段配置DMA通道代码,用以向外存运输数据以及将数据存回内存,由于两个天线的结构相同,首地址不同,因此取两个天线的导频数据的代码能够复用,即在小循环内部同时取两个天线的导频数据,一组符号总体经过3*108次循环即可完成216*3*2*2个复数数据的处理。
如图5所示的最小均方误差信道估计的实现过程,具体为:
数据在内存中进行整理,传输至外存,硬件加速器的运算结果传输至外存,它的前部分实现方式同图4类似,只是具体的汇编实现指令不同,最后硬件加速器运算的结果送至单独的外部存储区域,而不是送回内部存储器。
最小二乘信道估计的结果为216*3*2*2个数据,将其顺序存储在内存区域中,汇编实现时设计外层4次循环,代表依次遍历一个2*2复数矩阵的4个元素,4次循环内部嵌套36次循环,代表216行数据分成36组,每组6个数据,一次遍历一组;36次循环内部设计3次小循环,代表共3组数据,在这三层循环内部设判断硬件加速器的标志位模块和数据处理部分,即在第二层循环外部即可得到36个待运算的复数数据,在第二层的尾部增加判断硬件加速器的标志位模块以及两个配置DMA通道的汇编代码段,用以向外存传输数据以及将硬件加速器的结果传输至至指定的外部存储区域,一组符号经过4*36组大循环即可得到4*36*36个复数数据,每获得36个复数数据立即采用DMA通道传输至外存参与运算。
在采用DMA传输一组36个复数数据后,同时设置一个10次的循环体,一次向硬件加速器提供另外10个固定的36*36复数矩阵,最终得到10*36*1个复数结果。
如图6所示,两种硬件加速器在运算的初始化与结尾处可以增加和减少一些等待时间,使得两者的总运行时间相等,基于在具体实现过程中可能会出现的问题,在并行实现过程中,数字信号处理器处于主导地位,根据硬件加速器的运行状态进行相应的DMA通道配置,且对实现信道估计的流程进行控制。
硬件加速器在设计时单独设计了硬件标志位,能够随时获取硬件加速器的运行状态(运行中或者空闲),在出现数字信号处理器为空闲状态且硬件加速器运行的异常时(排除最后一次情况),数字信号处理器会出现空闲等待的操作;而在出现数字信号处理器工作且硬件加速器为空闲状态的异常时(排除初始化),那么硬件加速器会一直等待数字信号处理器,因为DMA通道必须由数字信号处理器配置,当两种运算的时间相差大时可能会出现上述异常,在采用DMA通道传输数据时,速度比较快,DMA的时间消耗基本忽略不计,且DMA不占用数字信号处理器的运行周期与寄存器空间,数字信号处理器配置完DMA通道后,立即进行下一组数据的计算,同时DMA通道搬运外存的数据的消耗时间也可以忽略不计,由于数字信号处理器的标量读写指令消耗的时间周期较大,占软件部分消耗的大部分周期数。
基于硬件加速器与数字信号处理器的信道估计实现方式提高了模块实现的可编程性与兼容性,尽管相较于硬件实现会降低整体性能,但是这种实现方式满足系统整体的性能要求,并能够提高模块的灵活性,节约了成本,方便后续开发与优化。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的工作人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种基于硬件加速器与数字信号处理器的信道估计装置,其特征在于,该装置包括:
数字信号处理器模块:包括数字信号处理器、内部存储器和指令存储区域;
硬件加速器模块:包括两个硬件加速器,用以实现数据计算;
DMA模块:包括四条DMA通道和DMA控制器,用以实现数字信号处理器和硬件加速器的数据交互;
外部存储器:分别与数据处理器和硬件加速器连接,用以存储数据;
数据存储位置判断与存放模块:用以判断数字信号处理器的运算结果的存储空间,提前计算硬件加速器模块的运算周期,实现硬件加速器模块与数字信号处理器相对并行。
2.根据权利要求1所述的一种基于硬件加速器与数字信号处理器的信道估计装置,其特征在于,所述的数字信号处理器的IP软核和硬件加速器模块集成到载体为评估版Xilinx的系统芯片上,并与总线连接,以实现硬件加速器与数字信号处理器的IP软核进行通信,所述的数字信号处理器直接读写外部存储器的数据和内部存储器的数据以及对硬件加速器进行调用。
3.根据权利要求2所述的一种基于硬件加速器与数字信号处理器的信道估计装置,其特征在于,所述的数字信号处理器的指令存储区域用以存储汇编指令,即汇编指令通过汇编器汇编成相应的机器码存入数字信号处理器的指令存储区域,多个汇编指令形成数字信号指令集,所述的数字信号指令集为精简指令集,精简指令集包括标量指令、矢量指令和存储加载指令,所述的标量指令包括算术运算指令、比较指令、循环指令和标量存储加载指令。
4.根据权利要求3所述的一种基于硬件加速器与数字信号处理器的信道估计装置,其特征在于,所述的内部存储器的内存区域经过提前划分并存储待处理的无线帧数据,内部存储器的内存区域包括第一内存区域、第二内存区域和第三内存区域,待处理的无线帧数据全部存储在内部存储器中,所述的数字信号处理器通过load/store指令或通过DMA模块对内部存储器进行读写,从数据所在的内存区域获取数据。
5.根据权利要求1所述的一种基于硬件加速器与数字信号处理器的信道估计装置,其特征在于,所述的硬件加速器模块的两个硬件加速器分别为基于Verilog编写的HDL的2*2复数矩阵乘硬件加速器和36*36与36*1的复数矩阵乘硬件加速器,每个硬件加速器均与总线连接,所述的2*2复数矩阵乘硬件加速器的输入为从外部存储器读入的数据,所述的2*2复数矩阵乘硬件加速器的运算结果存储至外部存储器,所述的36*36与36*1复数矩阵乘法硬件加速器直接对外部存储器进行读写,且36*36与36*1复数矩阵乘法硬件加速器的运算结果存储在外部存储器中固定的地址空间,所述的硬件加速器中设有标志位,数字信号处理器根据当前硬件加速器的状态与运行时间选择相应的DMA通道,以提升数据交互的正确性。
6.根据权利要求1所述的一种基于硬件加速器与数字信号处理器的信道估计装置,其特征在于,所述的DMA控制器在进行传输数据时对DMA通道进行控制,并配置待传输数据的源地址、目标地址和传输的数据量,所述的DMA控制器占用总线但不占用数据信号处理器的运行周期;
所述的四条DMA通道分别为:
第一DMA通道:用以将进行最小二乘法信道估计的导频数据传输至外部存储器;
第二DMA通道:用以将最小二乘法信道估计的估计结果传输至内部存储器;
第三DMA通道:用以将拆分后的最小二乘法信道估计的估计结果传输至外部存储器;
第四DMA通道:用以将最小均方误差信道估计结果传输至外部存储器。
7.根据权利要求1所述的一种基于硬件加速器与数字信号处理器的信道估计装置,其特征在于,该信道估计装置采用双天线收发方式,具体为:
一个无线帧数据包含32个OFDM符号,所述的OFDM符号包括导频符号、同步符号和正常的数据符号,每个OFDM符号有2048个子载波,包括1296个有效子载波和多个零值子载波,即无效子载波,每个子载波为32位,能够装载一个复数数据,在含有导频数据的OFDM符号中,每6个有效子载波中存在1个导频数据,每4个OFDM符号中有2个存放导频数据的OFDM符号,在一组进行信道估计的符号中包括导频符号,导频符号包括导频一符号和导频二符号,导频一符号和导频二符号的插入位置不同,不同天线的无线帧数据的格式相同,但插入的导频数据与有效子载波的数据不同。
8.一种应用如权利要求1~7任一项所述的信道估计装置的方法,其特征在于,该方法基于信道估计算法进行信道估计运算,具体包括以下步骤:
步骤1:将无线帧数据存储在内部存储器中,采用数字信号处理器的汇编指令对无线帧数据进行预处理;
步骤2:提取无线帧数据中不同的OFDM符号的导频数据,并根据对应的导频位置将导频数据排成多个按行存储的2*2复数矩阵;
步骤3:对硬件标志位进行判断,当硬件标志位为1时表示硬件加速器当前正在工作,当该硬件标志位为0时表示硬件加速器当前不在工作;
步骤4:数字信号处理器采用第一DMA通道将导频数据传输至外部存储器,硬件加速器直接读取外部存储器的数据,将得到的2*2复数矩阵与接收到的导频数据构成的矩阵进行乘法运算,按每10个OFDM符号为一组进行运算,一组OFDM符号的导频数据量为216*3*2*2个复数数据,即一个OFDM符号中有216个导频数据,一组OFDM符号中共有3组由导频一符号和导频二符号构成的2*2复数矩阵,并得到最小二乘法信道估计的运算结果;
步骤5:数字信号处理器采用第二DMA通道将最小二乘法信道估计的运算结果存储在内部存储器中,作为下阶段信道估计的输入值,即用以最小均方误差信道估计;
步骤6:数字信号处理器将存储在内部存储器中的运算结果分拆成多个36*1的复数矩阵;
步骤7:数字信号处理器采用第三DMA通道将多个36*1的复数矩阵传输至外部存储器,硬件加速器模块将10个固定数值的36*36的复数矩阵与36*1复数矩阵进行乘法运算,得到最小均方差信道估计的结果;
步骤8:数字信号处理器将得到的最小均方差信道估计的结果采用第四DMA通道传输至外部存储器。
9.根据权利要求8所述的一种方法,其特征在于,所述的步骤4中,将最小二乘法信道估计的运算结果按照算法要求拆分成待运算的复数矩阵具体为:
每组最小二乘法信道估计的运算结果为216*3*2*2的复数矩阵,表示有216行,3组导频,首先获取3组中每组的前6个导频数据,每个导频数据重复取2次值,共36个复数,组成36*1的复数矩阵,再取下一组的6个导频数据组成36*1的复数矩阵,共得到144个36*1第一复数矩阵。
10.根据权利要求8所述的一种方法,其特征在于,所述的步骤7中,根据数据子载波和导频子载波的相关系数、导频子载波处的相关系数以及信噪比得到第二复数矩阵,第二复数矩阵的大小为360*36,在运行时将第二复数矩阵做成表格提前存入外部存储器,进行最小均方误差估计时,将第二复数矩阵拆分为10个36*36复数矩阵依次与第一复数矩阵进行乘法操作,每组OFDM符号进行1440次36*36与36*1的复数矩阵乘法,得到1440*36个复数结果,将最小二乘法信道估计的运算结果分配到一组10个OFDM符号中,得到1296*10*2*2个复数,将其作为最小均方误差信道估计的结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111346989.8A CN114116557B (zh) | 2021-11-15 | 2021-11-15 | 基于硬件加速器与数字信号处理器的信道估计装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111346989.8A CN114116557B (zh) | 2021-11-15 | 2021-11-15 | 基于硬件加速器与数字信号处理器的信道估计装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114116557A true CN114116557A (zh) | 2022-03-01 |
CN114116557B CN114116557B (zh) | 2024-02-27 |
Family
ID=80395349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111346989.8A Active CN114116557B (zh) | 2021-11-15 | 2021-11-15 | 基于硬件加速器与数字信号处理器的信道估计装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114116557B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114285704A (zh) * | 2022-03-03 | 2022-04-05 | 广州慧睿思通科技股份有限公司 | 上行信道估计方法、芯片、系统及存储介质 |
CN114579083A (zh) * | 2022-05-09 | 2022-06-03 | 上海擎昆信息科技有限公司 | 一种基于矢量处理器的数据处理装置和方法 |
CN114996915A (zh) * | 2022-05-11 | 2022-09-02 | 电子科技大学 | 基于归一化算子库的专用处理器指令系统设计方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1925471A (zh) * | 2006-05-26 | 2007-03-07 | 上海大学 | 一种联合正交导频设计的mimo-ofdm信道估计方法 |
US20090165019A1 (en) * | 2007-12-21 | 2009-06-25 | Mediatek Inc. | Data Flow Control |
CN104184687A (zh) * | 2013-05-23 | 2014-12-03 | 北京信威通信技术股份有限公司 | 一种通信基带处理的流程控制方法和硬件加速器电路 |
CN104391820A (zh) * | 2014-11-25 | 2015-03-04 | 清华大学 | 基于fpga的通用浮点矩阵处理器硬件结构 |
CN110928605A (zh) * | 2019-11-14 | 2020-03-27 | 天津大学 | 一种基于Zynq FPGA的光束平差法硬件加速器 |
CN112825257A (zh) * | 2019-11-20 | 2021-05-21 | 美光科技公司 | 用于在存储器阵列内执行视频处理矩阵运算的方法和设备 |
-
2021
- 2021-11-15 CN CN202111346989.8A patent/CN114116557B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1925471A (zh) * | 2006-05-26 | 2007-03-07 | 上海大学 | 一种联合正交导频设计的mimo-ofdm信道估计方法 |
US20090165019A1 (en) * | 2007-12-21 | 2009-06-25 | Mediatek Inc. | Data Flow Control |
CN104184687A (zh) * | 2013-05-23 | 2014-12-03 | 北京信威通信技术股份有限公司 | 一种通信基带处理的流程控制方法和硬件加速器电路 |
CN104391820A (zh) * | 2014-11-25 | 2015-03-04 | 清华大学 | 基于fpga的通用浮点矩阵处理器硬件结构 |
CN110928605A (zh) * | 2019-11-14 | 2020-03-27 | 天津大学 | 一种基于Zynq FPGA的光束平差法硬件加速器 |
CN112825257A (zh) * | 2019-11-20 | 2021-05-21 | 美光科技公司 | 用于在存储器阵列内执行视频处理矩阵运算的方法和设备 |
Non-Patent Citations (3)
Title |
---|
RYOHEI KOBAYASHI: "GPU–FPGA Heterogeneous Computing with OpenCL-enabled Direct Memory Access", 《2019 IEEE INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM WORKSHOPS (IPDPSW)》 * |
姚宇: "系统级异构多核混合精度可编程模拟器实现", 《中国优秀硕士学位论文全文数据库》 * |
王睿: "光纤通信系统中的MLSE及MAP电均衡技术研究", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114285704A (zh) * | 2022-03-03 | 2022-04-05 | 广州慧睿思通科技股份有限公司 | 上行信道估计方法、芯片、系统及存储介质 |
CN114579083A (zh) * | 2022-05-09 | 2022-06-03 | 上海擎昆信息科技有限公司 | 一种基于矢量处理器的数据处理装置和方法 |
CN114579083B (zh) * | 2022-05-09 | 2022-08-05 | 上海擎昆信息科技有限公司 | 一种基于矢量处理器的数据处理装置和方法 |
CN114996915A (zh) * | 2022-05-11 | 2022-09-02 | 电子科技大学 | 基于归一化算子库的专用处理器指令系统设计方法 |
CN114996915B (zh) * | 2022-05-11 | 2024-05-28 | 电子科技大学 | 基于归一化算子库的专用处理器指令系统设计方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114116557B (zh) | 2024-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114116557A (zh) | 基于硬件加速器与数字信号处理器的信道估计装置及方法 | |
CN110597559B (zh) | 计算装置以及计算方法 | |
US6754805B1 (en) | Method and apparatus for configurable multi-cell digital signal processing employing global parallel configuration | |
CN111898733B (zh) | 一种深度可分离卷积神经网络加速器架构 | |
CN110222818B (zh) | 一种用于卷积神经网络数据存储的多bank行列交织读写方法 | |
US5960211A (en) | Data formatting method and apparatus for a data processing array | |
CN112905530B (zh) | 片上架构、池化计算加速器阵列、单元以及控制方法 | |
US4524428A (en) | Modular input-programmable logic circuits for use in a modular array processor | |
CN114781632A (zh) | 基于动态可重构脉动张量运算引擎的深度神经网络加速器 | |
GB2395580A (en) | Array-type processor | |
CN110059797B (zh) | 一种计算装置及相关产品 | |
US20230214338A1 (en) | Data moving method, direct memory access apparatus and computer system | |
CN110555512B (zh) | 一种二值卷积神经网络数据重用方法及装置 | |
CN110059809B (zh) | 一种计算装置及相关产品 | |
CN107368459B (zh) | 基于任意维数矩阵乘法的可重构计算结构的调度方法 | |
US11016822B1 (en) | Cascade streaming between data processing engines in an array | |
CN111078623B (zh) | 片上网络处理系统和片上网络数据处理方法 | |
CN111078624B (zh) | 片上网络处理系统和片上网络数据处理方法 | |
CN111078625B (zh) | 片上网络处理系统和片上网络数据处理方法 | |
CN112749368A (zh) | 通过选择加法器树中间结果支持不同的矩阵乘法 | |
CN113535637B (zh) | 一种运算加速单元及其运行方法 | |
CN115470176B (zh) | 计算装置、利用计算装置实施卷积运算的方法及相关产品 | |
CN113222831B (zh) | 一种图像条带噪声去除的特征记忆遗忘单元、网络及系统 | |
CN116980277B (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN112446474B (zh) | 芯片和多芯片系统及电子设备和数据传输方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |