首页> 中国专利> 一种LTE接收系统中FPGA处理复数矩阵乘法的方法及系统

一种LTE接收系统中FPGA处理复数矩阵乘法的方法及系统

摘要

本发明提供了一种LTE接收系统中FPGA处理复数矩阵乘法的方法和系统,包括:接收MMSE滤波数据,所述MMSE滤波数据包括待进行乘法运算的第一复数矩阵和第二复数矩阵;根据所述第一复数矩阵和所述第二复数矩阵,获取第一参数COMM(m,n),第二参数REAL(m,n),第三参数IMAG(m,n);根据所述第一参数COMM(m,n),所述第二参数REAL(m,n)和所述第三参数IMAG(m,n),获取实部Cr(m,n),虚部Ci(m,n);根据所述实部Cr(m,n),虚部Ci(m,n),获取第三复数矩阵,并将所述第三复数矩阵输出。本发明采用串行流水线结构,既节省加法器,不浪费多余布局布线资源,而且统一简单,可以搭建任意级数的矩阵乘法。

著录项

  • 公开/公告号CN106980600A

    专利类型发明专利

  • 公开/公告日2017-07-25

    原文格式PDF

  • 申请/专利权人 普天信息技术有限公司;

    申请/专利号CN201610031810.2

  • 发明设计人 唐玉蓉;张慧欣;

    申请日2016-01-18

  • 分类号

  • 代理机构北京路浩知识产权代理有限公司;

  • 代理人李相雨

  • 地址 100080 北京市海淀区海淀北二街6号普天大厦

  • 入库时间 2023-06-19 02:53:54

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-12-27

    未缴年费专利权终止 IPC(主分类):G06F17/16 专利号:ZL2016100318102 申请日:20160118 授权公告日:20190906

    专利权的终止

  • 2019-09-06

    授权

    授权

  • 2017-08-18

    实质审查的生效 IPC(主分类):G06F17/16 申请日:20160118

    实质审查的生效

  • 2017-07-25

    公开

    公开

说明书

技术领域

本发明涉及LTE接收系统中复数矩阵乘法处理领域,尤其涉及一种LTE接收系统中FPGA处理复数矩阵乘法的方法及系统。

背景技术

现场可编程门阵列FPGA芯片在许多领域均有广泛的应用,FPGA内部不仅包含逻辑单元(查找表/触发器)、存储单元(BRAM)、乘加单元(MAC)等一系列常规资源,还包括DSP、乘法器等复杂计算单元。随着FPGA芯片的不断升级,FPGA的功能越来越强大,因此新型FPGA完全胜任复杂计算工作。

近年来无线通信技术取得了飞速的发展,从最早的1G网络到如今已经投入使用的LTE 4G网络,对信号的快速处理提出了越来越高的要求。另外,由于多输入多输出系统MIMO技术的广泛应用,使得通信系统中的计算越来越复杂,复数矩阵乘法越来越普遍,如LTE上行基带处理中的MMSE滤波、均衡处理等。在这种情况下,使用FPGA进行无线信号的处理,能同时兼顾实时性与准确性。

目前基于FPGA实现矩阵乘法一般有两种方式:一是使用浮点进行计算,这种方式计算效率跟复杂度都很高,效率低下;二是使用定点进行计算,这种方式由于将浮点转换为定点,因此能极大的提高计算的效率。

通过查阅文献发现,目前提出的关于定点矩阵的乘法,平台落后,控制复杂,方法不够灵活等,不能很好的利用FPGA器件自带器件达到节省资源的目的。如徐云雯等人的基于FPGA的通用矩阵定点乘法器及其计算方法,其核心计算模块定点乘法器中采用Xilinx Virtex-4芯片中得DSP48硬核搭建。

发明内容

针对现有技术中的缺陷,本发明提供一种LTE接收系统中FPGA处理复数矩阵乘法的方法及系统,通过采用串行流水线结构,既节省加法器,不浪费多余布局布线资源,而且统一简单,可以搭建任意级数的矩阵乘法。

第一方面,本发明提供一种LTE接收系统中FPGA处理复数矩阵乘法的方法,所述方法包括:

接收MMSE滤波数据,所述MMSE滤波数据包括待进行乘法运算的第一复数矩阵和第二复数矩阵,所述第一复数矩阵为M×K阶,所述第二复数矩阵为K×N阶;

根据所述第一复数矩阵和所述第二复数矩阵,获取第一参数COMM(m,n),第二参数REAL(m,n),第三参数IMAG(m,n),相应地:

其中,m表示第m+1行,其取值范围为m=0至M-1,n表示第n+1列,其取值范围为n=0至N-1,k表示所述第一复数矩阵中的第k+1列,还表示所述第二复数矩阵中的第k+1行,其取值范围为k=0至K-1;arm,k为am,k的实部,aim,k为am,k的虚部,所述am,k为第一复数矩阵中第m+1行,第k+1列的数;brk,n为bk,n的实部,bik,n为bk,n的虚部,所述bk,n为第二复数矩阵中第k+1行,第n+1列的数;

根据所述第一参数COMM(m,n),所述第二参数REAL(m,n)和所述第三参数IMAG(m,n),获取实部Cr(m,n),虚部Ci(m,n),相应地:

其中,Cr(m,n)为C(m,n)的实部,Ci(m,n)为C(m,n)的虚部,所述C(m,n)为第三复数矩阵中第m+1行,第n+1列的数,所述第三复数矩阵为所述第一复数矩阵和所述第二复数矩阵的乘积,所述第三复数矩阵为M×N阶;

根据所述实部Cr(m,n),虚部Ci(m,n),获取第三复数矩阵,并将所述第三复数矩阵输出。

优选地,所述根据所述第一复数矩阵和所述第二复数矩阵,获取第一参数COMM(m,n),包括:

根据所述第一复数矩阵和所述第二复数矩阵,获取arm,k、brk,n、bik,n

根据所述arm,k、brk,n、bik,n,获取MCOUT(k),相应地:

MCOUT(k)=arm,k×(brk,n+bik,n)+MCOUT(k-1),

当k=K-1时,获取第一参数COMM(m,n),相应地:

COMM(m,n)=MCOUT(K-1)。

优选地,所述根据所述第一复数矩阵和所述第二复数矩阵,获取第二参数REAL(m,n),包括:

根据所述第一复数矩阵和所述第二复数矩阵,获取arm,k、aim,k、bik,n

根据所述arm,k、aim,k、bik,n,获取LCOUT(k),相应地:

LCOUT(k)=(arm,k+aim,k)×bik,n+LCOUT(k-1),

当k=K-1时,获取第二参数REAL(m,n),相应地:

REAL(m,n)=LCOUT(K-1)。

优选地,所述根据所述第一复数矩阵和所述第二复数矩阵,获取第三参数IMAG(i,j),包括:

根据所述第一复数矩阵和所述第二复数矩阵,获取arm,k、aim,k、brk,n

根据所述arm,k、aim,k、brk,n,获取GCOUT(k),相应地:

GCOUT(k)=(arm,k-aim,k)×brk,n+GCOUT(k-1);

当k=K-1时,获取第二参数REAL(m,n),相应地:

REAL(m,n)=GCOUT(K-1)。

第二方面,本发明提供一种LTE接收系统中FPGA处理复数矩阵乘法的系统,其特征在于,所述系统包括:

接收单元,用于接收MMSE滤波数据,所述MMSE滤波数据包括待进行乘法运算的第一复数矩阵和第二复数矩阵,所述第一复数矩阵为M×K阶,所述第二复数矩阵为K×N阶;

第一处理单元,用于根据所述第一复数矩阵和所述第二复数矩阵,获取第一参数COMM(m,n),第二参数REAL(m,n),第三参数IMAG(m,n),相应地:

其中,m表示第m+1行,其取值范围为m=0至M-1,n表示第n+1列,其取值范围为n=0至N-1,k表示所述第一复数矩阵中的第k+1列,还表示所述第二复数矩阵中的第k+1行,其取值范围为k=0至K-1;arm,k为am,k的实部,aim,k为am,k的虚部,所述am,k为第一复数矩阵中第m+1行,第k+1列的数;brk,n为bk,n的实部,bik,n为bk,n的虚部,所述bk,n为第二复数矩阵中第k+1行,第n+1列的数;

第二处理单元,用于根据所述第一参数COMM(m,n),所述第二参数REAL(m,n)和所述第三参数IMAG(m,n),获取实部Cr(m,n),虚部Ci(m,n),相应地:

其中,Cr(m,n)为C(m,n)的实部,Ci(m,n)为C(m,n)的虚部,所述C(m,n)为第三复数矩阵中第m+1行,第n+1列的数,所述第三复数矩阵为所述第一复数矩阵和所述第二复数矩阵的乘积,所述第三复数矩阵为M×N阶;

输出单元,用于根据所述实部Cr(m,n),虚部Ci(m,n),获取第三复数矩阵,并将所述第三复数矩阵输出。

优选地,所述第一处理单元包括:

第一计算单元,用于根据所述第一复数矩阵和所述第二复数矩阵,获取第一参数COMM(m,n);

第二计算单元,用于根据所述第一复数矩阵和所述第二复数矩阵,获取第二参数REAL(m,n);

第三计算单元,用于根据所述第一复数矩阵和所述第二复数矩阵,获取第三参数IMAG(m,n)。

优选地,所述第一计算单元,具体用于,

根据所述第一复数矩阵和所述第二复数矩阵,获取arm,k、brk,n、bik,n

根据所述arm,k、brk,n、bik,n,获取MCOUT(k),相应地:

MCOUT(k)=arm,k×(brk,n+bik,n)+MCOUT(k-1),

当k=K-1时,获取第一参数COMM(m,n),相应地:

COMM(m,n)=MCOUT(K-1)。

优选地,所述第二计算单元,具体用于,

根据所述第一复数矩阵和所述第二复数矩阵,获取arm,k、aim,k、bik,n

根据所述arm,k、aim,k、bik,n,获取LCOUT(k),相应地:

LCOUT(k)=(arm,k+aim,k)×bik,n+LCOUT(k-1),

当k=K-1时,获取第二参数REAL(m,n),相应地:

REAL(m,n)=LCOUT(K-1)。

优选地,所述第三计算单元,具体用于,

根据所述第一复数矩阵和所述第二复数矩阵,获取arm,k、aim,k、brk,n

根据所述arm,k、aim,k、brk,n,获取GCOUT(k),相应地:

GCOUT(k)=(arm,k-aim,k)×brk,n+GCOUT(k-1);

当k=K-1时,获取第二参数REAL(m,n),相应地:

REAL(m,n)=GCOUT(K-1)。

由上述技术方案可知,本发明提供一种LTE接收系统中FPGA处理复数矩阵乘法的方法及系统,接收包括待进行复数矩阵乘法运算的MMSE滤波数据,将所述复数矩阵进行拆分后,通过加法器级联的方式计算。本发明不仅节省加法器资源,而且流水线的方式使复杂计算变得简便可控。本发明还能节省布局布线资源,统一简单,可以搭建任意级数的矩阵乘法,在大工程编译时,会起到十分关键的作用。

附图说明

为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。

图1为本发明一实施例提供的一种LTE接收系统中FPGA处理复数矩阵乘法的方法的流程示意图;

图2为本发明一实施例提供的一种LTE接收系统中FPGA处理复数矩阵乘法的系统的结构示意图;

图3为本发明一实施例提供的获取第一参数COMM(m,n)的示意图;

图4为本发明一实施例提供的获取第二参数REAL(m,n)的示意图;

图5为本发明一实施例提供的获取第三参数IMAG(m,n)的示意图。

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

图1示出了本发明一实施例提供的一种LTE接收系统中FPGA处理复数矩阵乘法的方法的流程示意图,如图1所示,本实施例的一种LTE接收系统中FPGA处理复数矩阵乘法的方法,包括:

S11、接收MMSE滤波数据,所述MMSE滤波数据包括待进行乘法运算的第一复数矩阵和第二复数矩阵。

可以理解的是,由于MIMO技术的广泛应用,使得通信系统中的计算越来越复杂,复数矩阵乘法越来越普遍,如LTE上行基带处理中的MMSE滤波、均衡处理等。

其中,所述第一复数矩阵为M×K阶,所述第二复数矩阵为K×N阶。

S12、根据所述第一复数矩阵和所述第二复数矩阵,获取第一参数COMM(m,n),第二参数REAL(m,n),第三参数IMAG(m,n)。

在本实施例中,第一参数COMM(m,n),第二参数REAL(m,n),第三参数IMAG(m,n)对应的公式如下:

其中,m表示第m+1行,其取值范围为m=0至M-1,n表示第n+1列,其取值范围为n=0至N-1,k表示所述第一复数矩阵中的第k+1列,还表示所述第二复数矩阵中的第k+1行,其取值范围为k=0至K-1;arm,k为am,k的实部,aim,k为am,k的虚部,所述am,k为第一复数矩阵中第m+1行,第k+1列的数;brk,n为bk,n的实部,bik,n为bk,n的虚部,所述bk,n为第二复数矩阵中第k+1行,第n+1列的数。

S13、根据所述第一参数COMM(m,n),所述第二参数REAL(m,n)和所述第三参数IMAG(m,n),获取实部Cr(m,n),虚部Ci(m,n)。

在本实施例中,实部Cr(m,n),虚部Ci(m,n)对应的公式如下:

其中,Cr(m,n)为C(m,n)的实部,Ci(m,n)为C(m,n)的虚部,所述C(m,n)为第三复数矩阵中第m+1行,第n+1列的数,所述第三复数矩阵为所述第一复数矩阵和所述第二复数矩阵的乘积,所述第三复数矩阵为M×N阶。

S14、根据所述实部Cr(m,n),虚部Ci(m,n),获取第三复数矩阵,并将所述第三复数矩阵输出。

本发明不仅节省加法器资源,而且流水线的方式使复杂计算变得简便可控。本发明还能节省布局布线资源,统一简单,可以搭建任意级数的矩阵乘法,在大工程编译时,会起到十分关键的作用。

在本发明另一实施例提供的一种LTE接收系统中FPGA处理复数矩阵乘法的方法中,上述的步骤S12还包括图1中未示出的步骤S121-S123:

S12、根据所述第一复数矩阵和所述第二复数矩阵,获取第一参数COMM(m,n),第二参数REAL(m,n),第三参数IMAG(m,n)。

S121、根据所述第一复数矩阵和所述第二复数矩阵,获取第一参数COMM(m,n)。

根据所述第一复数矩阵和所述第二复数矩阵,获取arm,k、brk,n、bik,n

根据所述arm,k、brk,n、bik,n,获取MCOUT(k),相应地:

MCOUT(k)=arm,k×(brk,n+bik,n)+MCOUT(k-1),

当k=K-1时,获取第一参数COMM(m,n),相应地:

COMM(m,n)=MCOUT(K-1)。

S122、根据所述第一复数矩阵和所述第二复数矩阵,获取第二参数REAL(m,n)。

根据所述第一复数矩阵和所述第二复数矩阵,获取arm,k、aim,k、bik,n

根据所述arm,k、aim,k、bik,n,获取LCOUT(k),相应地:

LCOUT(k)=(arm,k+aim,k)×bik,n+LCOUT(k-1),

当k=K-1时,获取第二参数REAL(m,n),相应地:

REAL(m,n)=LCOUT(K-1)。

S123、根据所述第一复数矩阵和所述第二复数矩阵,获取第三参数IMAG(i,j)。

根据所述第一复数矩阵和所述第二复数矩阵,获取arm,k、aim,k、brk,n

根据所述arm,k、aim,k、brk,n,获取GCOUT(k),相应地:

GCOUT(k)=(arm,k-aim,k)×brk,n+GCOUT(k-1);

当k=K-1时,获取第二参数REAL(m,n),相应地:

REAL(m,n)=GCOUT(K-1)。

本发明不仅节省加法器资源,而且流水线的方式使复杂计算变得简便可控。本发明还能节省布局布线资源,统一简单,可以搭建任意级数的矩阵乘法,在大工程编译时,会起到十分关键的作用。

图2示出了本发明一实施例提供的一种LTE接收系统中FPGA处理复数矩阵乘法的系统的结构示意图,如图1所示,本实施例的一种LTE接收系统中FPGA处理复数矩阵乘法的系统20,包括:

接收单元21,用于接收MMSE滤波数据,所述MMSE滤波数据包括待进行乘法运算的第一复数矩阵和第二复数矩阵。

其中,所述第一复数矩阵为M×K阶,所述第二复数矩阵为K×N阶。

第一处理单元22,用于根据所述第一复数矩阵和所述第二复数矩阵,获取第一参数COMM(m,n),第二参数REAL(m,n),第三参数IMAG(m,n)。

在本实施例中,第一参数COMM(m,n),第二参数REAL(m,n),第三参数IMAG(m,n)对应的公式如下:

其中,m表示第m+1行,其取值范围为m=0至M-1,n表示第n+1列,其取值范围为n=0至N-1,k表示所述第一复数矩阵中的第k+1列,还表示所述第二复数矩阵中的第k+1行,其取值范围为k=0至K-1;arm,k为am,k的实部,aim,k为am,k的虚部,所述am,k为第一复数矩阵中第m+1行,第k+1列的数;brk,n为bk,n的实部,bik,n为bk,n的虚部,所述bk,n为第二复数矩阵中第k+1行,第n+1列的数。

第二处理单元23,用于根据所述第一参数COMM(m,n),所述第二参数REAL(m,n)和所述第三参数IMAG(m,n),获取实部Cr(m,n),虚部Ci(m,n)。

在本实施例中,实部Cr(m,n),虚部Ci(m,n)对应的公式如下:

其中,Cr(m,n)为C(m,n)的实部,Ci(m,n)为C(m,n)的虚部,所述C(m,n)为第三复数矩阵中第m+1行,第n+1列的数,所述第三复数矩阵为所述第一复数矩阵和所述第二复数矩阵的乘积,所述第三复数矩阵为M×N阶。

输出单元24,用于根据所述实部Cr(m,n),虚部Ci(m,n),获取第三复数矩阵,并将所述第三复数矩阵输出。

本发明不仅节省加法器资源,而且流水线的方式使复杂计算变得简便可控。本发明还能节省布局布线资源,统一简单,可以搭建任意级数的矩阵乘法,在大工程编译时,会起到十分关键的作用。

在本发明另一实施例提供的一种LTE接收系统中FPGA处理复数矩阵乘法的系统中,上述的第一处理单元22还包括图2中未示出的结构:

第一计算单元,用于根据所述第一复数矩阵和所述第二复数矩阵,获取第一参数COMM(m,n)。

其中,第一计算单元通过FPGA由加法器、乘法器和寄存器构成。具体来说,包括K个输入端串联的第一加法器,所述第一加法器的另一输入端与第一模块相连,所述第一模块用于根据所述arm,k、brk,n、bik,n,获取第一中间量MCOUT(k)=arm,k×(brk,n+bik,n),所述第一计算单元输出第一参数COMM(m,n),其中,

第二计算单元,用于根据所述第一复数矩阵和所述第二复数矩阵,获取第二参数REAL(m,n)。

其中,第二计算单元通过FPGA由加法器、乘法器和寄存器构成。具体来说,包括K个输入端串联的第二加法器,所述第二加法器的另一输入端与第二模块相连,所述第二模块用于根据所述arm,k、aim,k、bik,n,获取第二中间量LCOUT(k)=(arm,k+aim,k)×bik,n,所述第二计算单元输出第二参数REAL(m,n),其中,

第三计算单元,用于根据所述第一复数矩阵和所述第二复数矩阵,获取第三参数IMAG(m,n)。

其中,第三计算单元通过FPGA由加法器、乘法器和寄存器构成。具体来说,包括K个输入端串联的第三加法器,所述第三加法器的另一输入端与第三模块相连,所述第三模块用于根据所述arm,k、aim,k、brk,n,获取第三中间量GCOUT(k)=(arm,k-aim,k)×brk,n,所述第三计算单元输出第三参数MAG(m,n),其中,

优选地,所述第一计算单元,具体用于,

根据所述第一复数矩阵和所述第二复数矩阵,获取arm,k、brk,n、bik,n

根据所述arm,k、brk,n、bik,n,获取MCOUT(k),相应地:

MCOUT(k)=arm,k×(brk,n+bik,n)+MCOUT(k-1),

当k=K-1时,获取第一参数COMM(m,n),相应地:

COMM(m,n)=MCOUT(K-1)。

优选地,所述第二计算单元,具体用于,

根据所述第一复数矩阵和所述第二复数矩阵,获取arm,k、aim,k、bik,n

根据所述arm,k、aim,k、bik,n,获取LCOUT(k),相应地:

LCOUT(k)=(arm,k+aim,k)×bik,n+LCOUT(k-1),

当k=K-1时,获取第二参数REAL(m,n),相应地:

REAL(m,n)=LCOUT(K-1)。

优选地,所述第三计算单元,具体用于,

根据所述第一复数矩阵和所述第二复数矩阵,获取arm,k、aim,k、brk,n

根据所述arm,k、aim,k、brk,n,获取GCOUT(k),相应地:

GCOUT(k)=(arm,k-aim,k)×brk,n+GCOUT(k-1);

当k=K-1时,获取第二参数REAL(m,n),相应地:

REAL(m,n)=GCOUT(K-1)

本发明不仅节省加法器资源,而且流水线的方式使复杂计算变得简便可控。本发明还能节省布局布线资源,统一简单,可以搭建任意级数的矩阵乘法,在大工程编译时,会起到十分关键的作用。

在本发明的一个具体实施例中,假设第一复数矩阵为2×8阶,采用FPGA中的DSP48E1级联方式,计算COMM(0,0),REAL(0,0),IMAG(0,0)。

可以理解的是,若第一复数矩阵为2×8阶,则M=2,K=8。计算COMM(0,0),则m=0,n=0。由上述可知:

具体来说,MCOUT(k)=arm,k×(brk,n+bik,n)+MCOUT(k-1),其中,k的取值范围为0-7。由上述可知:

MCOUT(0)=ar0,0×(br0,0+bi0,0)

MCOUT(1)=ar0,1×(br1,0+bi1,0)+MCOUT(0)

MCOUT(2)=ar0,2×(br2,0+bi2,0)+MCOUT(1)

……

MCOUT(7)=ar0,7×(br7,0+bi7,0)+MCOUT(6)

如图3所示,将brk,0、bik,0通过加法器进行加法运算后的输出结果与ar0,k进行乘法运算,获取每一层级的MCOUT(k),其中,k的取值范围为0-7。将每一层级的MCOUT(k)通过加法器级联进行加法运算,获取当k=7时的MCOUT(7)。此时,MOMM(0,0)=MCOUT(7)。

进一步的,为了保障复数矩阵乘法计算的时序性,每一层级的MCOUT(k)在计算前应当经历一定的延时,等待MCOUT(k-1)的计算完成。优选地,在ar0,k、brk,0、bik,0的输入端设定k个寄存器进行延时。

如图4、图5所示,REAL(0,0),IMAG(0,0)的计算步骤与COMM(0,0)相同,此处不再赘述。

由上述可知:

故可求得:

C(0,0)=Cr(0,0)+j×Ci(0,0),

由此,求得第三复数矩阵的第1行,第1列的数,最终求得第三复数矩阵。

本发明不仅节省加法器资源,而且流水线的方式使复杂计算变得简便可控。本发明还能节省布局布线资源,统一简单,可以搭建任意级数的矩阵乘法,在大工程编译时,会起到十分关键的作用。

本领域普通技术人员可以理解:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号