CN107241070B - 一种确定dpd系数的方法、fpga及dpd处理系统 - Google Patents

一种确定dpd系数的方法、fpga及dpd处理系统 Download PDF

Info

Publication number
CN107241070B
CN107241070B CN201610189277.2A CN201610189277A CN107241070B CN 107241070 B CN107241070 B CN 107241070B CN 201610189277 A CN201610189277 A CN 201610189277A CN 107241070 B CN107241070 B CN 107241070B
Authority
CN
China
Prior art keywords
matrix
coefficient
fpga
row
autocorrelation
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.)
Active
Application number
CN201610189277.2A
Other languages
English (en)
Other versions
CN107241070A (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.)
Datang Mobile Communications Equipment Co Ltd
Original Assignee
Datang Mobile Communications Equipment 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 Datang Mobile Communications Equipment Co Ltd filed Critical Datang Mobile Communications Equipment Co Ltd
Priority to CN201610189277.2A priority Critical patent/CN107241070B/zh
Publication of CN107241070A publication Critical patent/CN107241070A/zh
Application granted granted Critical
Publication of CN107241070B publication Critical patent/CN107241070B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03FAMPLIFIERS
    • H03F1/00Details of amplifiers with only discharge tubes, only semiconductor devices or only unspecified devices as amplifying elements
    • H03F1/32Modifications of amplifiers to reduce non-linear distortion
    • H03F1/3241Modifications of amplifiers to reduce non-linear distortion using predistortion circuits
    • H03F1/3247Modifications of amplifiers to reduce non-linear distortion using predistortion circuits using feedback acting on predistortion circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03FAMPLIFIERS
    • H03F3/00Amplifiers with only discharge tubes or only semiconductor devices as amplifying elements
    • H03F3/189High-frequency amplifiers, e.g. radio frequency amplifiers
    • H03F3/19High-frequency amplifiers, e.g. radio frequency amplifiers with semiconductor devices only
    • H03F3/195High-frequency amplifiers, e.g. radio frequency amplifiers with semiconductor devices only in integrated circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03FAMPLIFIERS
    • H03F3/00Amplifiers with only discharge tubes or only semiconductor devices as amplifying elements
    • H03F3/20Power amplifiers, e.g. Class B amplifiers, Class C amplifiers
    • H03F3/21Power amplifiers, e.g. Class B amplifiers, Class C amplifiers with semiconductor devices only
    • H03F3/213Power amplifiers, e.g. Class B amplifiers, Class C amplifiers with semiconductor devices only in integrated circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • Nonlinear Science (AREA)
  • Amplifiers (AREA)

Abstract

本申请公开了一种确定DPD系数的方法及装置、DPD处理系统,用以提高DPD系数计算的速度,从而能够及时更新DPD系数以实现对功率放大器的非线性补偿,进而提高信号质量,本申请提供的一种确定DPD系数的方法包括:FPGA根据功率放大器的输入信号,确定前向矩阵,以及根据功率放大器的反馈信号,确定系数矩阵;所述FPGA计算所述系数矩阵的自相关矩阵的逆矩阵,并且计算所述系数矩阵和所述前向矩阵的互相关矩阵;所述FPGA根据所述系数矩阵的自相关矩阵的逆矩阵和所述互相关矩阵,确定DPD系数。

Description

一种确定DPD系数的方法、FPGA及DPD处理系统
技术领域
本申请涉及通信技术领域,尤其涉及一种确定DPD系数的方法、FPGA及DPD处理系统。
背景技术
射频功率放大器(Power Amplifier,PA)是无线通信系统中最主要的非线性器件,它具有幅度—幅度失真特性和幅度—相位失真特性,这种非线性会导致信号带外的频谱扩展,从而对相邻信道产生干扰,还会造成信号带内失真,导致系统的误码率提高。因此,为了满足频谱要求和降低误码率,提高功率放大器在无线通信过程中的效率,对其进行线性化处理是十分必要的。
对功率放大器进行线性化处理的一种常用技术为数字预失真(Digital Pre-Distortion,DPD)技术,该技术具有精度高、适用带宽范围大、实现成本低等优点。
数字预失真的基本原理:在功率放大器前侧设置一个与其特性(非线性)相反的模块,使得整个链路呈现线性放大。参见图1,图1为一种常用的DPD系统结构示意图,在功率放大器(PA)前侧设置一个预失真器,根据功率放大器输入信号和功率放大器输出信号,通过DPD系数估计模块估计DPD系数,然后将该DPD系数发送给数字预失真器,以达到对功率放大器进行非线性补偿的目的。
然而,在具体的应用系统中,计算DPD系数的计算量很大,而现有技术中使用通用处理器(例如:ARM处理器,DSP处理器)作为计算的载体,采用串行的方式进行运算,当计算DPD系数的算法比较复杂时,运算速度不能满足DPD系数更新的需求,导致了DPD系数更新过慢,不能在信号功率或者信号形态变化较大时及时调整DPD系数,使得对信号的功率放大出现非线性的情况,从而导致了信号质量的降低。
发明内容
本申请实施例提供了一种确定DPD系数的方法、FPGA及DPD处理系统,用以提高DPD系数计算的速度,从而能够及时更新DPD系数以实现对功率放大器的非线性补偿,进而提高信号质量。
本申请实施例提供的一种确定数字预失真DPD系数的方法包括:
现场可编程门阵列FPGA根据功率放大器的输入信号,确定前向矩阵,以及根据功率放大器的反馈信号,确定系数矩阵;
所述FPGA计算所述系数矩阵的自相关矩阵的逆矩阵,并且计算所述系数矩阵和所述前向矩阵的互相关矩阵;
所述FPGA根据所述系数矩阵的自相关矩阵的逆矩阵和所述互相关矩阵,确定DPD系数。
本申请实施例提供的方法,使用FPGA作为计算DPD系数的载体,具体地所述FPGA根据功率放大器的输入信号,确定前向矩阵,以及根据功率放大器的反馈信号,确定系数矩阵,所述FPGA计算所述系数矩阵的自相关矩阵的逆矩阵,并且计算所述系数矩阵和所述前向矩阵的互相关矩阵,所述FPGA根据所述系数矩阵的自相关矩阵的逆矩阵和所述互相关矩阵,确定DPD系数,因此,利用FPGA可以采用并行的方式进行计算DPD系数过程中的矩阵相乘运算,因此,可以提高DPD系数计算的速度,从而能够及时更新DPD系数以实现对功率放大器的非线性补偿,进而提高信号质量。
较佳地,所述FPGA计算所述系数矩阵的自相关矩阵的逆矩阵,具体包括:
所述FPGA内嵌的矩阵相乘模块采用并行的方式对所述系数矩阵进行自相关运算,得到所述系数矩阵的自相关矩阵;
所述FPGA内嵌的求逆模块计算所述系数矩阵的自相关矩阵的逆矩阵。
较佳地,在所述FPGA根据功率放大器的反馈信号,确定系数矩阵之后,在计算所述系数矩阵的自相关矩阵的逆矩阵之前,该方法还包括:
所述FPGA将所述系数矩阵中的每个元素存储到双倍速率同步动态随机存储器DDR;其中,所述DDR的行地址与所述系数矩阵的列地址一一对应,所述DDR的列地址与所述系数矩阵的行地址一一对应。
通过将DDR的行地址与系数矩阵的列地址一一对应,以及DDR的列地址与系数矩阵的行地址一一对应,这样可以通过直接寻址DDR,方便地从DDR中读取系数矩阵中相应位置的元素,从而可以提高DPD系数计算的速度。
较佳地,所述FPGA内嵌的矩阵相乘模块采用并行的方式对所述系数矩阵进行自相关运算,得到所述系数矩阵的自相关矩阵,具体包括:
所述FPGA内嵌的矩阵相乘模块针对需要得到的所述系数矩阵的自相关矩阵的任一元素位置:确定该位置的行地址和列地址,按照该行地址从所述DDR中读取一行数据,并缓存到所述FPGA内嵌的第一随机存储器ram中;并按照该列地址从所述DDR中读取一行数据,并缓存到所述FPGA内嵌的第二ram中;所述FPGA内嵌的矩阵相乘模块根据所述第一ram和所述第二ram中缓存的数据,采用并行的方式进行运算,确定该位置的元素。
较佳地,所述FPGA内嵌的矩阵相乘模块采用并行的方式对所述系数矩阵进行自相关运算,得到所述系数矩阵的自相关矩阵,具体包括:
所述FPGA内嵌的矩阵相乘模块针对需要得到的所述系数矩阵的自相关矩阵的任一行元素的位置,确定该行位置的行地址,以及该行元素中的奇数列的列地址和偶数列的列地址,按照该行地址从所述DDR中读取一行数据,并缓存到所述FPGA内嵌的第一随机存储器ram中;并依次按照一个奇数列的列地址从所述DDR中读取一行数据,并缓存到所述FPGA内嵌的第二ram中;以及,依次按照一个偶数列的列地址从所述DDR中读取一行数据,并缓存到所述FPGA内嵌的第三ram中;所述FPGA内嵌的矩阵相乘模块根据所述第一ram和所述第二ram中缓存的数据,采用并行的方式进行运算,依次确定该行的奇数列的元素;所述FPGA内嵌的矩阵相乘模块根据所述第一ram和所述第三ram中缓存的数据,采用并行的方式进行运算,依次确定该行的偶数列的元素。
在采用并行的方式进行矩阵相乘的运算中,通过使用第二ram和第三ram进行乒乓运算,当其中一个ram在进行并行运算时,另一个ram缓存数据,因此,可以提高DPD系数计算的速度。
较佳地,所述计算所述系数矩阵的自相关矩阵的逆矩阵,具体包括:
所述FPGA内嵌的求逆模块对所述系数矩阵的自相关矩阵进行乔叶斯分解,得到乔叶斯分解矩阵;
所述FPGA内嵌的求逆模块计算所述乔叶斯分解矩阵的逆矩阵;
所述FPGA内嵌的求逆模块采用并行的方式对所述乔叶斯分解矩阵的逆矩阵进行自相关运算,得到所述乔叶斯分解矩阵的逆矩阵的自相关矩阵,作为所述系数矩阵的自相关矩阵的逆矩阵。
通过将系数矩阵的自相关矩阵进行乔叶斯分解,得到的乔叶斯分解矩阵为下三角矩阵,故可以减少计算量,并且采用并行的方式对乔叶斯分解矩阵的逆矩阵进行自相关运算,因此,可以提高DPD系数计算的速度。
本申请实施例提供的一种现场可编程门阵列FPGA包括:
第一单元,用于根据功率放大器的输入信号,确定前向矩阵,以及根据功率放大器的反馈信号,确定系数矩阵;
第二单元,用于计算所述系数矩阵的自相关矩阵的逆矩阵,并且计算所述系数矩阵和所述前向矩阵的互相关矩阵;
第三单元,用于根据所述系数矩阵的自相关矩阵的逆矩阵和所述互相关矩阵,确定DPD系数。
本申请实施例提供的FPGA,第一单元根据功率放大器的输入信号,确定前向矩阵,以及根据功率放大器的反馈信号,确定系数矩阵,第二单元计算所述系数矩阵的自相关矩阵的逆矩阵,并且计算所述系数矩阵和所述前向矩阵的互相关矩阵,第三单元根据所述系数矩阵的自相关矩阵的逆矩阵和所述互相关矩阵,确定DPD系数,因此,在计算DPD系数过程中,该FPGA可以采用并行的方式进行矩阵相乘运算,因此,可以提高DPD系数计算的速度,从而能够及时更新DPD系数以实现对功率放大器的非线性补偿,进而提高信号质量。
较佳地,所述第二单元包括:
第一矩阵相乘模块,用于采用并行的方式对所述系数矩阵进行自相关运算,得到所述系数矩阵的自相关矩阵;
求逆模块,用于计算所述系数矩阵的自相关矩阵的逆矩阵;
第二矩阵相乘模块,用于计算所述系数矩阵和所述前向矩阵的互相关矩阵。
较佳地,所述第一单元还用于:
将所述系数矩阵中的每个元素存储到双倍速率同步动态随机存储器DDR;其中,所述DDR的行地址与所述系数矩阵的列地址一一对应,所述DDR的列地址与所述系数矩阵的行地址一一对应。
通过将DDR的行地址与系数矩阵的列地址一一对应,以及DDR的列地址与系数矩阵的行地址一一对应,这样可以通过直接寻址DDR,方便地从DDR中读取系数矩阵中相应位置的元素,从而可以提高DPD系数计算的速度。
较佳地,所述第一矩阵相乘模块具体用于:
针对需要得到的所述系数矩阵的自相关矩阵的任一元素位置:确定该位置的行地址和列地址,按照该行地址从所述DDR中读取一行数据,并缓存到所述第一ram中;并按照该列地址从所述DDR中读取一行数据,并缓存到所述第二ram中;根据所述第一ram和所述第二ram中缓存的数据,采用并行的方式进行运算,确定该位置的元素。
较佳地,所述第一矩阵相乘模块具体用于:
针对需要得到的所述系数矩阵的自相关矩阵的任一行元素的位置,确定该行位置的行地址,以及该行元素中的奇数列的列地址和偶数列的列地址,按照该行地址从所述DDR中读取一行数据,并缓存到所述第一ram中;并依次按照一个奇数列的列地址从所述DDR中读取一行数据,并缓存到所述第二ram中;以及,依次按照一个偶数列的列地址从所述DDR中读取一行数据,并缓存到所述第三ram中;根据所述第一ram和所述第二ram中缓存的数据,采用并行的方式进行运算,依次确定该行的奇数列的元素;根据所述第一ram和所述第三ram中缓存的数据,采用并行的方式进行运算,依次确定该行的偶数列的元素。
在采用并行的方式进行矩阵相乘的运算中,通过使用第二ram和第三ram进行乒乓运算,当其中一个ram在进行并行运算时,另一个ram缓存数据,因此,可以提高DPD系数计算的速度。
较佳地,所述求逆模块具体用于:
对所述系数矩阵的自相关矩阵进行乔叶斯分解,得到乔叶斯分解矩阵;
计算所述乔叶斯分解矩阵的逆矩阵;
采用并行的方式对所述乔叶斯分解矩阵的逆矩阵进行自相关运算,得到所述乔叶斯分解矩阵的逆矩阵的自相关矩阵,作为所述系数矩阵的自相关矩阵的逆矩阵。
通过求逆模块将系数矩阵的自相关矩阵进行乔叶斯分解,得到的乔叶斯分解矩阵为下三角矩阵,故可以减少计算量,并且采用并行的方式对乔叶斯分解矩阵的逆矩阵进行自相关运算,因此,可以提高DPD系数计算的速度。
本申请实施例提供的一种数字预失真DPD处理系统,该系统包括本申请实施例提供的上述现场可编程门阵列FPGA。
由于本申请实施例提供的DPD处理系统,采用本申请实施例提供的上述现场可编程门阵列FPGA,该FPGA的第一单元根据功率放大器的输入信号,确定前向矩阵,以及根据功率放大器的反馈信号,确定系数矩阵,第二单元计算所述系数矩阵的自相关矩阵的逆矩阵,并且计算所述系数矩阵和所述前向矩阵的互相关矩阵,第三单元根据所述系数矩阵的自相关矩阵的逆矩阵和所述互相关矩阵,确定DPD系数,因此,在计算DPD系数过程中,该FPGA可以采用并行的方式进行矩阵相乘运算,因此,可以提高DPD系数计算的速度,从而能够及时更新DPD系数以实现对功率放大器的非线性补偿,进而提高信号质量。
附图说明
图1为现有技术中一种常用的DPD系统结构示意图;
图2为本申请实施例提供的一种确定DPD系数的方法的流程示意图;
图3为本申请实施例提供的系数矩阵中的元素在DDR中的摆放顺序示意图;
图4为本申请实施例提供的一种FPGA的结构示意图;
图5为本申请实施例提供的FPGA中第二单元的结构示意图。
具体实施方式
本申请实施例提供了一种确定DPD系数的方法、FPGA及DPD处理系统,用以提高DPD系数计算的速度,从而能够及时更新DPD系数以实现对功率放大器的非线性补偿,进而提高信号质量。
下面对本申请实施例提供的技术方案进行详细描述。
本申请实施例在图1所示的DPD系统结构基础上,通过对DPD系数估计模块进行改进,来提高DPD系数计算的速度。图1中功率放大器的非线性失真特性可用多项式来表示,因此,可以用多项式对功率放大器进行建模。常用的功率放大器模型有Volterra模型、记忆多项式(Memory Polynomial,MP)模型、Wiener模型、Hammerstein模型等,并且由于数字预失真器是通过模拟功率放大器模型的逆,对发送信号先进行预失真,来抵消信号经过功率放大器时产生的失真,因此,用于对功率放大器进行建模的多项式都能用于对数字预失真器进行建模。下面以记忆多项式模型为例,对本申请实施例提供的技术方案进行描述。
参见图1,记忆多项式模型的数学表达式如公式(1)所示:
Figure BDA0000953310870000081
其中,x(n)表示发送信号,z(n)表示数字预失真器的输出信号,K表示多项式阶数,Q表示记忆深度,akq表示数字预失真系数。
为了利用上述公式(1)来进行预失真处理需要估计出DPD系数akq,而估计DPD系数akq有多种方法,目前一般采用最小二乘(Least Square,LS)算法估计DPD系数akq。下面结合图1简要说明利用LS算法估计DPD系数akq的过程。
采集功率放大器的输入信号z(n)(即数字预失真器的输出信号)和输出信号y0(n),输出信号y0(n)经过一个延时调整模块,转换为反馈信号y(n),y(n)与z(n)之间没有延时,当y(n)=x(n)时,可以认为功率放大器没有失真,此时根据上述公式(1)可得z(n)与y(n)的关系式(2)如下:
Figure BDA0000953310870000082
其中,n=0,1,2,3,…,N-1,N,N为采样点数。
令ukq(n)=y(n-q)|y(n-q)|k-1,则式(2)可转化为:
Z=UA (3)
其中,Z=[z(0),z(1)……z(N-1)]T,称为前向矩阵;
U=[U10,U20,…,UK0,U11,…,U1(Q-1),…,UK(Q-1)],称为系数矩阵;
Ukq=[ukq(0),ukq(1),…,ukq(N-1)]T
A=[a10,a20,…,aK0,a11,…,a1(Q-1),…,aK(Q-1)]T,称为DPD系数矩阵。
其中,T表示转置。
根据LS算法,Z=UA的最小二乘解如公式(4)所示:
A=(UHU)-1UHZ (4)
其中,H表示共轭转置。
定义R_uu=UHU为系数矩阵的自相关矩阵,R_uz=UHZ为互相关矩阵,那么,式(4)可以写成:
A=(R_uu)-1R_uz (5)
通过分析所述系数矩阵U可知,所述系数矩阵U为N行、KQ列的矩阵,且为共轭对称矩阵,其中KQ为预失真系数a的个数,如果定义L=KQ,则系数矩阵U的维数为N*L。
需要指出的是,采样点数N、KQ值可根据实际需要进行取值,本申请并不限制其取值,下面都已采样点数N=12000,KQ=121为例对本申请实施例提供的技术方案进行说明。
参见图2,本申请实施例提供的一种确定DPD系数的方法,可以用于确定上述的DPD系数,该方法包括步骤:
S101、现场可编程门阵列FPGA根据功率放大器的输入信号,确定前向矩阵,以及根据功率放大器的反馈信号,确定系数矩阵;
S102、所述FPGA计算所述系数矩阵的自相关矩阵的逆矩阵,并且计算所述系数矩阵和所述前向矩阵的互相关矩阵;
S103、所述FPGA根据所述系数矩阵的自相关矩阵的逆矩阵和所述互相关矩阵,确定DPD系数。
其中,步骤S101中根据功率放大器的反馈信号,确定系数矩阵,具体包括:
可由处理器(例如FPGA内嵌的ARM处理器)根据功率放大器的反馈信号,生成系数矩阵。
需要说明的是,本申请实施例通过FPGA进行矩阵相乘运算时,可以采用并行的方式进行运算,也可采用串行的方式进行运算,只需采用并行的方式进行至少一组矩阵相乘运算,就可提高DPD系数计算的速度,优选地,通过FPGA估计DPD系数时,所有的矩阵相乘运算都采用并行的方式进行运算。
在进行了步骤S101之后,可以将系数矩阵存储到FPGA外部的存储器(例如:双倍速率同步动态随机存储器DDR)中。
较佳地,参见图3,图3为系数矩阵中的元素在DDR中的摆放顺序示意图,图3中I表示实部,Q表示虚部,FPGA将系数矩阵中的每个元素(Element)存储到DDR,并且采取DDR的行地址与系数矩阵的列地址一一对应,DDR的列地址与系数矩阵的行地址一一对应的方式摆放系数矩阵中的元素,这样可以通过直接寻址DDR,方便地从DDR中读取系数矩阵中相应位置的元素,从而可以提高DPD系数计算的速度。
需要说明的是,由于DPD系统接收和处理的都是复数信号,因此将系数矩阵中的每个元素的实部和虚部分开存储;并且系数矩阵中的每个元素都由两个双精度浮点数组成。
接下来,FPGA内嵌的矩阵相乘模块可以针对需要得到的系数矩阵的自相关矩阵的任一元素位置:确定该位置的行地址和列地址,按照该行地址从所述DDR中读取一行数据,并缓存到FPGA内嵌的第一随机存储器ram中;并按照该列地址从DDR中读取一行数据,并缓存到FPGA内嵌的第二ram中;FPGA内嵌的矩阵相乘模块根据第一ram和第二ram中缓存的数据,采用并行的方式进行运算,确定该位置的元素。
当然,FPGA内嵌的矩阵相乘模块也可以针对需要得到的系数矩阵的自相关矩阵的任一行元素的位置,确定该行位置的行地址,以及该行元素中的奇数列的列地址和偶数列的列地址,按照该行地址从DDR中读取一行数据,并缓存到FPGA内嵌的第一随机存储器ram中;并依次按照一个奇数列的列地址从DDR中读取一行数据,并缓存到FPGA内嵌的第二ram中;以及,依次按照一个偶数列的列地址从DDR中读取一行数据,并缓存到FPGA内嵌的第三ram中;根据第一ram和第二ram中缓存的数据,采用并行的方式进行运算,依次确定该行的奇数列的元素;根据第一ram和第三ram中缓存的数据,采用并行的方式进行运算,依次确定该行的偶数列的元素。例如确定系数矩阵的自相关矩阵的第一行元素,FPGA内嵌的矩阵相乘模块读取DDR中第一行数据,并缓存到FPGA内嵌的第一ram中,并读取DDR中第一行数据,缓存到FPGA内嵌的第二ram中,根据第一ram和第二ram中缓存的数据,采用并行的方式进行运算,确定系数矩阵的自相关矩阵的第一行第一列的元素,同时读取DDR中第二行数据,缓存到FPGA内嵌的第三ram中,然后,根据第一ram和第三ram中缓存的数据,采用并行的方式进行运算,确定系数矩阵的自相关矩阵的第一行第二列的元素,同时,读取DDR中第三行数据,缓存到FPGA内嵌的第二ram中,以此类推,可以确定系数矩阵的自相关矩阵的第一行所有元素。
在采用并行的方式进行系数矩阵的自相关矩阵的运算中,通过使用第二ram和第三ram进行乒乓运算,即当其中一个ram在进行并行运算时,另一个ram缓存数据,因此,可以提高DPD系数计算的速度。
其中,FPGA内嵌的矩阵相乘模块从DDR中读取数据,可以通过该FPGA上的HP端口或者DDR MIG的AXI Slave接口进行读取。
另外,系数矩阵U的维度为12000*121,那么系数矩阵的共轭转置矩阵UH的维度为121*12000,因此,系数矩阵的共轭转置矩阵UH乘以系数矩阵U(即UHU,也称为系数矩阵的自相关矩阵)的结果是维度为121*121的矩阵,该系数矩阵的自相关矩阵可以存储在FPGA的UHU矩阵ram中。
需要指出的是,前面仅给出在采用并行的方式进行系数矩阵的自相关矩阵的运算中,使用第二ram和第三ram进行乒乓运算,基于相同的原理,在进行其它的矩阵相乘运算中,也可采用两个ram进行乒乓运算,本申请并不限制其使用的场景。
在步骤S102中,计算系数矩阵的自相关矩阵的逆矩阵,可以有多种方法,本申请实施例优选采用乔叶斯分解计算系数矩阵的自相关矩阵的逆矩阵,具体包括:
FPGA内嵌的求逆模块对系数矩阵的自相关矩阵进行乔叶斯分解,得到乔叶斯分解矩阵;
FPGA内嵌的求逆模块计算乔叶斯分解矩阵的逆矩阵;
FPGA内嵌的求逆模块采用并行的方式对乔叶斯分解矩阵的逆矩阵进行自相关运算,得到乔叶斯分解矩阵的逆矩阵的自相关矩阵,作为系数矩阵的自相关矩阵的逆矩阵。
通过将系数矩阵的自相关矩阵进行乔叶斯分解,得到的乔叶斯分解矩阵为下三角矩阵,故可以减少计算量,并且采用并行的方式对乔叶斯分解矩阵的逆矩阵进行自相关运算,因此,可以提高DPD系数计算的速度。
下面使用数学表达式对采用乔叶斯分解计算系数矩阵的自相关矩阵的逆矩阵进行进一步说明:
定义R_uu=GGH为R_uu的乔叶斯(Cholesky)分解形式。
其中G矩阵(即乔叶斯分解矩阵)是一个具有正的对角线元素的下三角矩阵,如式(6)所示:
Figure BDA0000953310870000121
其中,L=KQ,gij计算如公式(7)所示:
Figure BDA0000953310870000122
则式(6)可以写成:
Figure BDA0000953310870000123
定义B=G-1,称为乔叶斯分解矩阵的逆矩阵,如式(9)所示:
Figure BDA0000953310870000131
其中,bij计算如公式(10)所示:
Figure BDA0000953310870000132
则式(10)可以写成:
Figure BDA0000953310870000133
那么,R-1_uu=(GGH)-1=G-HG-1=BHB,即系数矩阵的自相关矩阵的逆矩阵为乔叶斯分解矩阵的逆矩阵的自相关矩阵。
参见图4,本申请实施例提供的一种现场可编程门阵列FPGA包括:
第一单元11,用于根据功率放大器的输入信号,确定前向矩阵,以及根据功率放大器的反馈信号,确定系数矩阵;
第二单元12,用于计算所述系数矩阵的自相关矩阵的逆矩阵,并且计算所述系数矩阵和所述前向矩阵的互相关矩阵;
第三单元13,用于根据所述系数矩阵的自相关矩阵的逆矩阵和所述互相关矩阵,确定DPD系数。
本申请实施例提供的FPGA,第一单元11根据功率放大器的输入信号,确定前向矩阵,以及根据功率放大器的反馈信号,确定系数矩阵,第二单元12计算所述系数矩阵的自相关矩阵的逆矩阵,并且计算所述系数矩阵和所述前向矩阵的互相关矩阵,第三单元13根据所述系数矩阵的自相关矩阵的逆矩阵和所述互相关矩阵,确定DPD系数,因此,在计算DPD系数过程中,该FPGA可以采用并行的方式进行矩阵相乘运算,因此,可以提高DPD系数计算的速度,从而能够及时更新DPD系数以实现对功率放大器的非线性补偿,进而提高信号质量。
较佳地,参见图5,所述第二单元12包括:
第一矩阵相乘模块21,用于采用并行的方式对所述系数矩阵进行自相关运算,得到所述系数矩阵的自相关矩阵;
求逆模块22,用于计算所述系数矩阵的自相关矩阵的逆矩阵;
第二矩阵相乘模块23,用于计算所述系数矩阵和所述前向矩阵的互相关矩阵。
较佳地,所述第一单元11还用于:
将所述系数矩阵中的每个元素存储到双倍速率同步动态随机存储器DDR;其中,所述DDR的行地址与所述系数矩阵的列地址一一对应,所述DDR的列地址与所述系数矩阵的行地址一一对应。
通过将DDR的行地址与系数矩阵的列地址一一对应,以及DDR的列地址与系数矩阵的行地址一一对应,这样可以通过直接寻址DDR,方便地从DDR中读取系数矩阵中相应位置的元素,从而可以提高DPD系数计算的速度。
较佳地,所述第一矩阵相乘模块21具体用于:
针对需要得到的所述系数矩阵的自相关矩阵的任一元素位置:确定该位置的行地址和列地址,按照该行地址从所述DDR中读取一行数据,并缓存到所述第一ram中;并按照该列地址从所述DDR中读取一行数据,并缓存到所述第二ram中;根据所述第一ram和所述第二ram中缓存的数据,采用并行的方式进行运算,确定该位置的元素。
较佳地,所述第一矩阵相乘模块21具体用于:
针对需要得到的所述系数矩阵的自相关矩阵的任一行元素的位置,确定该行位置的行地址,以及该行元素中的奇数列的列地址和偶数列的列地址,按照该行地址从所述DDR中读取一行数据,并缓存到所述第一ram中;并依次按照一个奇数列的列地址从所述DDR中读取一行数据,并缓存到所述第二ram中;以及,依次按照一个偶数列的列地址从所述DDR中读取一行数据,并缓存到所述第三ram中;根据所述第一ram和所述第二ram中缓存的数据,采用并行的方式进行运算,依次确定该行的奇数列的元素;根据所述第一ram和所述第三ram中缓存的数据,采用并行的方式进行运算,依次确定该行的偶数列的元素。
在采用并行的方式进行矩阵相乘的运算中,通过使用第二ram和第三ram进行乒乓运算,当其中一个ram在进行并行运算时,另一个ram缓存数据,因此,可以提高DPD系数计算的速度。
较佳地,所述求逆模块22具体用于:
对所述系数矩阵的自相关矩阵进行乔叶斯分解,得到乔叶斯分解矩阵;
计算所述乔叶斯分解矩阵的逆矩阵;
采用并行的方式对所述乔叶斯分解矩阵的逆矩阵进行自相关运算,得到所述乔叶斯分解矩阵的逆矩阵的自相关矩阵,作为所述系数矩阵的自相关矩阵的逆矩阵。
通过求逆模块将系数矩阵的自相关矩阵进行乔叶斯分解,得到的乔叶斯分解矩阵为下三角矩阵,故可以减少计算量,并且采用并行的方式对乔叶斯分解矩阵的逆矩阵进行自相关运算,因此,可以提高DPD系数计算的速度。
本申请实施例提供的一种数字预失真DPD处理系统,该系统包括本申请实施例提供的上述现场可编程门阵列FPGA、数字预失真器、PA和延时调整模块。
由于本申请实施例提供的DPD处理系统,采用本申请实施例提供的上述现场可编程门阵列FPGA,该FPGA的第一单元根据功率放大器的输入信号,确定前向矩阵,以及根据功率放大器的反馈信号,确定系数矩阵,第二单元计算所述系数矩阵的自相关矩阵的逆矩阵,并且计算所述系数矩阵和所述前向矩阵的互相关矩阵,第三单元根据所述系数矩阵的自相关矩阵的逆矩阵和所述互相关矩阵,确定DPD系数,因此,在计算DPD系数过程中,该FPGA可以采用并行的方式进行矩阵相乘运算,因此,可以提高DPD系数计算的速度,从而能够及时更新DPD系数以实现对功率放大器的非线性补偿,进而提高信号质量。
综上所述,本申请实施例提供的技术方案,使用FPGA作为计算DPD系数的载体,具体地所述FPGA根据功率放大器的输入信号,确定前向矩阵,以及根据功率放大器的反馈信号,确定系数矩阵,所述FPGA计算所述系数矩阵的自相关矩阵的逆矩阵,并且计算所述系数矩阵和所述前向矩阵的互相关矩阵,所述FPGA根据所述系数矩阵的自相关矩阵的逆矩阵和所述互相关矩阵,确定DPD系数,因此,利用FPGA可以采用并行的方式进行计算DPD系数过程中的矩阵相乘运算,因此,可以提高DPD系数计算的速度,从而能够及时更新DPD系数以实现对功率放大器的非线性补偿,进而提高信号质量。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (9)

1.一种确定数字预失真DPD系数的方法,其特征在于,该方法包括:
现场可编程门阵列FPGA根据功率放大器的输入信号,确定前向矩阵,以及根据功率放大器的反馈信号,确定系数矩阵;
所述FPGA计算所述系数矩阵的自相关矩阵的逆矩阵,并且计算所述系数矩阵和所述前向矩阵的互相关矩阵;
所述FPGA根据所述系数矩阵的自相关矩阵的逆矩阵和所述互相关矩阵,确定DPD系数;所述FPGA计算所述系数矩阵的自相关矩阵的逆矩阵,具体包括:
所述FPGA内嵌的矩阵相乘模块采用并行的方式对所述系数矩阵进行自相关运算,得到所述系数矩阵的自相关矩阵;
所述FPGA内嵌的求逆模块计算所述系数矩阵的自相关矩阵的逆矩阵;在所述FPGA根据功率放大器的反馈信号,确定系数矩阵之后,在计算所述系数矩阵的自相关矩阵的逆矩阵之前,该方法还包括:
所述FPGA将所述系数矩阵中的每个元素存储到双倍速率同步动态随机存储器DDR;其中,所述DDR的行地址与所述系数矩阵的列地址一一对应,所述DDR的列地址与所述系数矩阵的行地址一一对应。
2.根据权利要求1所述的方法,其特征在于,所述FPGA内嵌的矩阵相乘模块采用并行的方式对所述系数矩阵进行自相关运算,得到所述系数矩阵的自相关矩阵,具体包括:
所述FPGA内嵌的矩阵相乘模块针对需要得到的所述系数矩阵的自相关矩阵的任一元素位置:确定该位置的行地址和列地址,按照该行地址从所述DDR中读取一行数据,并缓存到所述FPGA内嵌的第一随机存储器ram中;并按照该列地址从所述DDR中读取一行数据,并缓存到所述FPGA内嵌的第二ram中;所述FPGA内嵌的矩阵相乘模块根据所述第一ram和所述第二ram中缓存的数据,采用并行的方式进行运算,确定该位置的元素。
3.根据权利要求1所述的方法,其特征在于,所述FPGA内嵌的矩阵相乘模块采用并行的方式对所述系数矩阵进行自相关运算,得到所述系数矩阵的自相关矩阵,具体包括:
所述FPGA内嵌的矩阵相乘模块针对需要得到的所述系数矩阵的自相关矩阵的任一行元素的位置,确定该行位置的行地址,以及该行元素中的奇数列的列地址和偶数列的列地址,按照该行地址从所述DDR中读取一行数据,并缓存到所述FPGA内嵌的第一随机存储器ram中;并依次按照一个奇数列的列地址从所述DDR中读取一行数据,并缓存到所述FPGA内嵌的第二ram中;以及,依次按照一个偶数列的列地址从所述DDR中读取一行数据,并缓存到所述FPGA内嵌的第三ram中;所述FPGA内嵌的矩阵相乘模块根据所述第一ram和所述第二ram中缓存的数据,采用并行的方式进行运算,依次确定该行的奇数列的元素;所述FPGA内嵌的矩阵相乘模块根据所述第一ram和所述第三ram中缓存的数据,采用并行的方式进行运算,依次确定该行的偶数列的元素。
4.根据权利要求1~3任一权项所述的方法,其特征在于,所述计算所述系数矩阵的自相关矩阵的逆矩阵,具体包括:
所述FPGA内嵌的求逆模块对所述系数矩阵的自相关矩阵进行乔叶斯分解,得到乔叶斯分解矩阵;
所述FPGA内嵌的求逆模块计算所述乔叶斯分解矩阵的逆矩阵;
所述FPGA内嵌的求逆模块采用并行的方式对所述乔叶斯分解矩阵的逆矩阵进行自相关运算,得到所述乔叶斯分解矩阵的逆矩阵的自相关矩阵,作为所述系数矩阵的自相关矩阵的逆矩阵。
5.一种现场可编程门阵列FPGA,其特征在于,包括:
第一单元,用于根据功率放大器的输入信号,确定前向矩阵,以及根据功率放大器的反馈信号,确定系数矩阵;
第二单元,用于计算所述系数矩阵的自相关矩阵的逆矩阵,并且计算所述系数矩阵和所述前向矩阵的互相关矩阵;
第三单元,用于根据所述系数矩阵的自相关矩阵的逆矩阵和所述互相关矩阵,确定DPD系数;所述第二单元包括:
第一矩阵相乘模块,用于采用并行的方式对所述系数矩阵进行自相关运算,得到所述系数矩阵的自相关矩阵;
求逆模块,用于计算所述系数矩阵的自相关矩阵的逆矩阵;
第二矩阵相乘模块,用于计算所述系数矩阵和所述前向矩阵的互相关矩阵;所述第一单元还用于:
将所述系数矩阵中的每个元素存储到双倍速率同步动态随机存储器DDR;其中,所述DDR的行地址与所述系数矩阵的列地址一一对应,所述DDR的列地址与所述系数矩阵的行地址一一对应。
6.根据权利要求5所述的FPGA,其特征在于,所述第一矩阵相乘模块具体用于:
对需要得到的所述系数矩阵的自相关矩阵的任一元素位置:确定该位置的行地址和列地址,按照该行地址从所述DDR中读取一行数据,并缓存到所述FPGA内嵌的第一随机存储器ram中;并按照该列地址从所述DDR中读取一行数据,并缓存到所述FPGA内嵌的第二ram中;所述FPGA内嵌的矩阵相乘模块根据所述第一ram和所述第二ram中缓存的数据,采用并行的方式进行运算,确定该位置的元素。
7.根据权利要求5所述的FPGA,其特征在于,所述第一矩阵相乘模块具体用于:
针对需要得到的所述系数矩阵的自相关矩阵的任一行元素的位置,确定该行位置的行地址,以及该行元素中的奇数列的列地址和偶数列的列地址,按照该行地址从所述DDR中读取一行数据,并缓存到所述FPGA内嵌的第一随机存储器ram中;并依次按照一个奇数列的列地址从所述DDR中读取一行数据,并缓存到所述FPGA内嵌的第二ram中;以及,依次按照一个偶数列的列地址从所述DDR中读取一行数据,并缓存到所述FPGA内嵌的第三ram中;所述FPGA内嵌的矩阵相乘模块根据所述第一ram和所述第二ram中缓存的数据,采用并行的方式进行运算,依次确定该行的奇数列的元素;所述FPGA内嵌的矩阵相乘模块根据所述第一ram和所述第三ram中缓存的数据,采用并行的方式进行运算,依次确定该行的偶数列的元素。
8.根据权利要求5~7任一权项所述的FPGA,其特征在于,所述求逆模块,具体用于:
对所述系数矩阵的自相关矩阵进行乔叶斯分解,得到乔叶斯分解矩阵;
计算所述乔叶斯分解矩阵的逆矩阵;
采用并行的方式对所述乔叶斯分解矩阵的逆矩阵进行自相关运算,得到所述乔叶斯分解矩阵的逆矩阵的自相关矩阵,作为所述系数矩阵的自相关矩阵的逆矩阵。
9.一种数字预失真DPD处理系统,其特征在于,该系统包括权利要求5~8任一权项所述的现场可编程门阵列FPGA。
CN201610189277.2A 2016-03-29 2016-03-29 一种确定dpd系数的方法、fpga及dpd处理系统 Active CN107241070B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610189277.2A CN107241070B (zh) 2016-03-29 2016-03-29 一种确定dpd系数的方法、fpga及dpd处理系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610189277.2A CN107241070B (zh) 2016-03-29 2016-03-29 一种确定dpd系数的方法、fpga及dpd处理系统

Publications (2)

Publication Number Publication Date
CN107241070A CN107241070A (zh) 2017-10-10
CN107241070B true CN107241070B (zh) 2020-07-10

Family

ID=59983692

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610189277.2A Active CN107241070B (zh) 2016-03-29 2016-03-29 一种确定dpd系数的方法、fpga及dpd处理系统

Country Status (1)

Country Link
CN (1) CN107241070B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107994923B (zh) * 2017-11-03 2019-11-12 京信通信系统(中国)有限公司 超宽带数字预失真方法、装置和系统
CN110598271B (zh) * 2019-08-22 2023-06-20 中国电子科技集团公司第二十九研究所 一种基于fpga实现4辅助天线slc功能的系统及方法
CN111935746B (zh) * 2020-08-14 2024-01-09 Oppo广东移动通信有限公司 获取通信参数的方法、装置、终端及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1832035A (zh) * 2005-12-27 2006-09-13 中国科学院计算技术研究所 适合矩阵转置的ddr存储控制器及矩阵行列访问方法
CN101902258A (zh) * 2009-05-31 2010-12-01 大唐移动通信设备有限公司 一种数字预失真处理参数求取的方法及装置
CN102780665A (zh) * 2012-07-25 2012-11-14 华南理工大学 一种数字预失真处理方法
CN102970261A (zh) * 2012-10-31 2013-03-13 华南理工大学 一种提高数字预失真处理速度的方法
CN102970262A (zh) * 2012-11-16 2013-03-13 华南理工大学 一种提高数字预失真稳定性的方法
CN103618684A (zh) * 2013-11-25 2014-03-05 京信通信系统(中国)有限公司 一种估计dpd系数的方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1832035A (zh) * 2005-12-27 2006-09-13 中国科学院计算技术研究所 适合矩阵转置的ddr存储控制器及矩阵行列访问方法
CN101902258A (zh) * 2009-05-31 2010-12-01 大唐移动通信设备有限公司 一种数字预失真处理参数求取的方法及装置
CN102780665A (zh) * 2012-07-25 2012-11-14 华南理工大学 一种数字预失真处理方法
CN102970261A (zh) * 2012-10-31 2013-03-13 华南理工大学 一种提高数字预失真处理速度的方法
CN102970262A (zh) * 2012-11-16 2013-03-13 华南理工大学 一种提高数字预失真稳定性的方法
CN103618684A (zh) * 2013-11-25 2014-03-05 京信通信系统(中国)有限公司 一种估计dpd系数的方法及装置

Also Published As

Publication number Publication date
CN107241070A (zh) 2017-10-10

Similar Documents

Publication Publication Date Title
US9225501B2 (en) Non-linear modeling of a physical system using look-up table with polynomial interpolation
EP2858321B1 (en) Pre-distortion correction method, pre-distortion correction device, transmitter and base station
CN107241070B (zh) 一种确定dpd系数的方法、fpga及dpd处理系统
US20080129379A1 (en) System and method for digitally correcting a non-linear element
US20080130787A1 (en) System and method for digitally correcting a non-linear element using a multiply partitioned architecture for predistortion
EP2641327A1 (en) Non-linear model with tap output normalization
JP2014533017A (ja) デジタル・プリディストーション(dpd)および他の非線形アプリケーションのためのユーザ定義の非線形関数を含む命令セットを有するプロセッサ
WO2016203294A1 (en) Least mean squares adaptation of a concurrent multi-band pre-distorter using overlapping spines
CN103765766A (zh) 使用预失真的放大器线性化
CN103618684B (zh) 一种估计dpd系数的方法及装置
CN104796364A (zh) 一种预失真参数求取方法及预失真处理系统
CN100530944C (zh) 功率放大器预失真器的训练方法及其基站
CN110765720A (zh) 一种复值流水线递归神经网络模型的功放预失真方法
CN103685110A (zh) 一种预失真处理的方法、系统及预失真系数运算器
JP2003347944A (ja) 歪補償送信装置
JP5323950B2 (ja) 非線形電力増幅器の線形化用方法及び装置
CN102611661A (zh) 基于精确反解记忆多项式模型方程的预失真装置及方法
CN110086438B (zh) 一种针对无源多波束发射机的数字预失真系统及方法
CN107612856B (zh) 一种数字预失真处理方法及装置
JP5160344B2 (ja) プリディストータ
CN102403965A (zh) 一种基于Volterra模型的功率放大器模拟方法
CN107547053B (zh) 信号数字预失真处理方法和装置
CN102855417B (zh) 一种宽带射频功率放大器记忆非线性模型及建模方法
Bipin et al. A novel predistorter based on MPSO for power amplifier linearization
US20240184846A1 (en) Methods and apparatus to estimate pre-distortion coefficients

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