CN106980600B - 一种lte接收系统中fpga处理复数矩阵乘法的方法及系统 - Google Patents

一种lte接收系统中fpga处理复数矩阵乘法的方法及系统 Download PDF

Info

Publication number
CN106980600B
CN106980600B CN201610031810.2A CN201610031810A CN106980600B CN 106980600 B CN106980600 B CN 106980600B CN 201610031810 A CN201610031810 A CN 201610031810A CN 106980600 B CN106980600 B CN 106980600B
Authority
CN
China
Prior art keywords
complex matrix
parameter
real
matrix
complex
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.)
Expired - Fee Related
Application number
CN201610031810.2A
Other languages
English (en)
Other versions
CN106980600A (zh
Inventor
唐玉蓉
张慧欣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Putian Information Technology Co Ltd
Original Assignee
Putian Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Putian Information Technology Co Ltd filed Critical Putian Information Technology Co Ltd
Priority to CN201610031810.2A priority Critical patent/CN106980600B/zh
Publication of CN106980600A publication Critical patent/CN106980600A/zh
Application granted granted Critical
Publication of CN106980600B publication Critical patent/CN106980600B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Complex Calculations (AREA)

Abstract

本发明提供了一种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),获取第三复数矩阵,并将所述第三复数矩阵输出。本发明采用串行流水线结构,既节省加法器,不浪费多余布局布线资源,而且统一简单,可以搭建任意级数的矩阵乘法。

Description

一种LTE接收系统中FPGA处理复数矩阵乘法的方法及系统
技术领域
本发明涉及LTE接收系统中复数矩阵乘法处理领域,尤其涉及一种LTE接收系统中FPGA处理复数矩阵乘法的方法及系统。
背景技术
现场可编程门阵列FPGA芯片在许多领域均有广泛的应用,FPGA内部不仅包含逻辑单元(查找表/触发器)、存储单元(BRAM)、乘加单元(MAC)等一系列常规资源,还包括DSP、乘法器等复杂计算单元。随着FPGA芯片的不断升级,FPGA的功能越来越强大,因此新型FPGA完全胜任复杂计算工作。
近年来无线通信技术取得了飞速的发展,从最早的1G网络到如今已经投入使用的LTE 4G网络,对信号的快速处理提出了越来越高的要求。另外,由于多输入多输出系统MIMO技术的广泛应用,使得通信系统中的计算越来越复杂,复数矩阵乘法越来越普遍,如LTE上行基带处理中的MMSE滤波、均衡处理等。在这种情况下,使用FPGA进行无线信号的处理,能同时兼顾实时性与准确性。
目前基于FPGA实现矩阵乘法一般有两种方式:一是使用浮点进行计算,这种方式计算效率跟复杂度都很高,效率低下;二是使用定点进行计算,这种方式由于将浮点转换为定点,因此能极大的提高计算的效率。
通过查阅文献发现,目前提出的关于定点矩阵的乘法,平台落后,控制复杂,方法不够灵活等,不能很好的利用FPGA器件自带器件达到节省资源的目的。如徐云雯等人的基于FPGA的通用矩阵定点乘法器及其计算方法,其核心计算模块定点乘法器中采用XilinxVirtex-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列的数,最终求得第三复数矩阵。
本发明不仅节省加法器资源,而且流水线的方式使复杂计算变得简便可控。本发明还能节省布局布线资源,统一简单,可以搭建任意级数的矩阵乘法,在大工程编译时,会起到十分关键的作用。
本领域普通技术人员可以理解:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。

Claims (4)

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),所述第一计算单元包括K个输入端串联的第一加法器,所述第一加法器的另一输入端与第一模块相连,所述第一模块用于根据所述arm,k、brk,n、bik,n获取第一中间量MCOUT(k);
第二计算单元,用于根据所述第一复数矩阵和所述第二复数矩阵,获取第二参数REAL(m,n),所述第二计算单元包括K个输入端串联的第二加法器,所述第二加法器的另一输入端与第二模块相连,所述第二模块用于根据所述arm,k、aim,k、bik,n获取第二中间量LCOUT(k);
第三计算单元,用于根据所述第一复数矩阵和所述第二复数矩阵,获取第三参数IMAG(m,n),所述第三计算单元包括K个输入端串联的第三加法器,所述第三加法器的另一输入端与第三模块相连,所述第三模块用于根据所述arm,k、aim,k、brk,n获取第三中间量GCOUT(k)。
2.根据权利要求1所述的系统,其特征在于,所述第一计算单元,具体用于,
根据所述第一复数矩阵和所述第二复数矩阵,获取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)。
3.根据权利要求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)。
4.根据权利要求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)。
CN201610031810.2A 2016-01-18 2016-01-18 一种lte接收系统中fpga处理复数矩阵乘法的方法及系统 Expired - Fee Related CN106980600B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610031810.2A CN106980600B (zh) 2016-01-18 2016-01-18 一种lte接收系统中fpga处理复数矩阵乘法的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610031810.2A CN106980600B (zh) 2016-01-18 2016-01-18 一种lte接收系统中fpga处理复数矩阵乘法的方法及系统

Publications (2)

Publication Number Publication Date
CN106980600A CN106980600A (zh) 2017-07-25
CN106980600B true CN106980600B (zh) 2019-09-06

Family

ID=59340582

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610031810.2A Expired - Fee Related CN106980600B (zh) 2016-01-18 2016-01-18 一种lte接收系统中fpga处理复数矩阵乘法的方法及系统

Country Status (1)

Country Link
CN (1) CN106980600B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108121688B (zh) * 2017-12-15 2020-06-23 中科寒武纪科技股份有限公司 一种计算方法及相关产品

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101089840A (zh) * 2007-07-12 2007-12-19 浙江大学 基于多fpga的矩阵乘法并行计算系统
CN102053817A (zh) * 2009-10-30 2011-05-11 Arm有限公司 用于执行乘法累加运算的设备和方法
CN102722472A (zh) * 2012-05-28 2012-10-10 中国科学技术大学 一种复数矩阵的优化方法
CN102760117A (zh) * 2011-04-28 2012-10-31 中兴通讯股份有限公司 一种实现矢量运算的方法和系统
CN105426345A (zh) * 2015-12-25 2016-03-23 南京大学 一种矩阵求逆运算方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101089840A (zh) * 2007-07-12 2007-12-19 浙江大学 基于多fpga的矩阵乘法并行计算系统
CN102053817A (zh) * 2009-10-30 2011-05-11 Arm有限公司 用于执行乘法累加运算的设备和方法
CN102760117A (zh) * 2011-04-28 2012-10-31 中兴通讯股份有限公司 一种实现矢量运算的方法和系统
CN102722472A (zh) * 2012-05-28 2012-10-10 中国科学技术大学 一种复数矩阵的优化方法
CN105426345A (zh) * 2015-12-25 2016-03-23 南京大学 一种矩阵求逆运算方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"LTE系统中同步和信道估计的FPGA设计与实现";刘凯;《中国优秀硕士学位论文全文数据库 信息科技辑》;20130415(第4期);I136-573页

Also Published As

Publication number Publication date
CN106980600A (zh) 2017-07-25

Similar Documents

Publication Publication Date Title
Mohanty et al. A high-performance FIR filter architecture for fixed and reconfigurable applications
Kurzo et al. Design and implementation of a neural network aided self-interference cancellation scheme for full-duplex radios
CN106803750B (zh) 一种多通道流水fir滤波器
WO2017016507A1 (en) Reducing crest factors
Liu et al. Design and FPGA implementation of a reconfigurable digital down converter for wideband applications
CN107544942A (zh) 一种快速傅里叶变换的vlsi设计方法
CN113556101B (zh) Iir滤波器及其数据处理方法
CN113219434A (zh) 一种基于Zynq芯片的自适应宽带数字调零系统和方法
CN106980600B (zh) 一种lte接收系统中fpga处理复数矩阵乘法的方法及系统
CN114186183B (zh) 一种轻量化的fft运算方法及其实现装置
Bhagyalakshmi et al. Design and implementation of DA-based reconfigurable FIR digital filter on FPGA
CN107092462B (zh) 一种基于fpga的64位异步乘法器
CN110677138B (zh) 基于无误差概率计算的fir滤波器
CN111966327A (zh) 基于nas搜索的混合精度时空复用乘法器及其控制方法
CN104360986B (zh) 一种并行化矩阵求逆硬件装置的实现方法
US20160342393A1 (en) Multiply-and-accumulate unit in carry-save adder format and application in a feedback loop equalizer
CN101192910A (zh) 一种时分双工数字滤波器
CN109787585A (zh) 一种基于嵌套式余数系统的fir滤波系统
CN102457251B (zh) 一种实现通用数字滤波器的方法及装置
CN107479855A (zh) 一种fpga中dsp乘法器的复用算法
CN102685055A (zh) 一种多数据流插值与抽取复用装置及方法
CN210724714U (zh) 一种基于fpga的可变符号抽样率升余弦滤波器
Shilparani et al. FPGA implementation of FIR filter architecture using MCM technology with pipelining
CN111930671B (zh) 异构智能处理器、处理方法及电子设备
CN112346703B (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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190906

Termination date: 20220118