CN106980600B - 一种lte接收系统中fpga处理复数矩阵乘法的方法及系统 - Google Patents
一种lte接收系统中fpga处理复数矩阵乘法的方法及系统 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix 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接收系统中复数矩阵乘法处理领域,尤其涉及一种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)。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108121688B (zh) * | 2017-12-15 | 2020-06-23 | 中科寒武纪科技股份有限公司 | 一种计算方法及相关产品 |
Citations (5)
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 | 南京大学 | 一种矩阵求逆运算方法 |
-
2016
- 2016-01-18 CN CN201610031810.2A patent/CN106980600B/zh not_active Expired - Fee Related
Patent Citations (5)
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)
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 |