CN102394847A - 一种采用复数qr-rls算法完成dpd功能的***及方法 - Google Patents
一种采用复数qr-rls算法完成dpd功能的***及方法 Download PDFInfo
- Publication number
- CN102394847A CN102394847A CN2011103644083A CN201110364408A CN102394847A CN 102394847 A CN102394847 A CN 102394847A CN 2011103644083 A CN2011103644083 A CN 2011103644083A CN 201110364408 A CN201110364408 A CN 201110364408A CN 102394847 A CN102394847 A CN 102394847A
- Authority
- CN
- China
- Prior art keywords
- function
- dpd
- power amplifier
- predistortion
- algorithm
- 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.)
- Pending
Links
Images
Landscapes
- Amplifiers (AREA)
Abstract
本发明涉及一种采用复数QR-RLS算法完成DPD功能的***及方法,在功放前设置有预失真器,预失真器用于接收复数I/Q信号,同时接收DPD反馈链路处理得到的预失真系数,完成预失真处理后的结果作为功放的输入。预失真训练器在FPGA中的软核内实现,对预失真系数求解的过程中使用QR-RLS算法。本发明有益的效果是:相对于传统的预失真技术,QR-RLS算法提高了数值的稳定性,降低了运算的复杂度,提高了运算速度,能够稳定有效地实现预失真功能。
Description
技术领域
本发明涉及无线通信领域中对功放非线性特性线性化处理的方法,主要是一种采用复数QR-RLS算法完成DPD功能的***及方法。
背景技术
PA(PowerAmplifier,功放)具有内在的本质的非线性。由PA特性曲线,我们可知,PA的效率与其非线性成反比。追求功放的高效率,则其非线性是不可避免的。非线性会导致频谱扩展从而引起邻道信号干扰,同样也会造成信号带内失真。对于CDMA、WCDMA及OFDM等宽带信号,由于它们具有较高的PAPR(Peak to Average Power Ratio,峰均功率比),更加易受PA非线性的影响,造成较大的带内失真。
所以,为了满足频谱要求和降低误码率,功放的线性化是十分必要的。
采用简单的输入信号功率回退的方法可以达到较好的功放线性度,但这样功放的效率非常低。一种有效的方法是采用DPD(Digital Pre-distortion,数字预失真)技术将功放的非线性曲线线性化。它通过在功放前构造功放非线性失真的逆特性来实现(图1)。逆特性与原非线性失真特性相叠加即可达到线性化的目的。
DPD***的实现通常有两种方式:一种是先识别出功放本身的特性函数,然后再取其反函数得到预失真的系数,但对记忆非线性***函数取反函数的工作量很大,而且导致***的精确性降低;第二种方式为通过间接训练结构直接识别出预失真器的系数,这样就省略了直接对功放模型参数识别的过程。我们将采用间接训练结构(图2)。在间接训练结构中,DPD***可分为两部分:前向链路和反馈链路。前向链路为预失真器+功放,反馈链路为功放+预失真训练器。反馈链路中,预失真训练器捕获功放之前和之后的数据,处理得到预失真系数。前向链路中,预失真器接收反馈链路得到的预失真系数完成DPD功能。
由于预失真***的特性函数只是功放函数的反函数,所以能够很好的模拟功放特性的函数都能够用于预失真器的建模。对于CDMA、WCDMA及OFDM等宽带信号的***而言,功放除了具有非线性特性之外,还具有明显的记忆效应。MP(Memory Polynomial,记忆多项式)包含非线性因子和记忆效应因子,能够较准确的模拟功放特性,有效地实现DPD功能,且项数较少,便于硬件实现。所以我们采用它作为预失真器的模型。
常用的自适应算法有LS(Least square,最小二乘法)、LMS(Least Mean Square,最小均方算法)及RLS(Recursive Least Square,递归最小二乘法)等。RLS算法在LS算法的基础上采用递归的方法来实现矩阵的求逆,克服了LS算法运算量大、不易于硬件实现的缺点。RLS算法对信号协方差矩阵的特征值分布不敏感,相比较,LMS算法却易受特征值分布范围的影响,导致其收敛速度较慢。它的缺点是不能稳定收敛,具有数值的不稳定性,计算复杂度高,计算量较大。这些缺点可以通过QR分解的RLS算法来改善。由于DPD***接收和处理的都是复数信号,所以需采用复数QR-RLS算法。
发明内容
本发明的目的正是要克服上述技术的不足,而提供一种采用复数QR-RLS算法完成DPD功能的***及方法。
本发明解决其技术问题采用的技术方案:这种采用复数QR-RLS算法完成DPD功能的***,在功放前设置有预失真器,预失真器用于接收复数I/Q信号,同时接收DPD反馈链路处理得到的预失真系数,完成预失真处理后的结果作为功放的输入。在FPGA中按照记忆多项式搭建预失真器。预失真训练器则是在FPGA中的软核(Xilinx FPGA中为MicroBlaze,AlteraFPGA中为NOIS II)实现,主要作用是计算DPD系数。
本发明所述的这种采用复数QR-RLS算法完成DPD功能的方法,具体步骤如下:
(1)、预失真器在***中置于功放(PA)之前,接收复数I/Q信号(通常是CFR模块的输出信号作为DPD模块的输入),同时接收DPD反馈链路处理得到的预失真系数,其内部结构按照MP记忆多项式搭建(MP记忆多项式具有非线性因子和记忆效应因子,能够较准确的模拟功放特性曲线,用其作为预失真模块的模型可以达到很好的预失真效果。),作用是将预失真系数作用于接收到的I/Q信号从而完成预失真的功能,处理结果作为功放的输入。
(2)、预失真训练器在FPGA中的软核内实现,软核处理的优点是可实现浮点数运算,保证运算精度,缺点是处理速度较慢。在我们的实现中,对于运算精度有较高的要求,而软核的运算速度也可满足DPD系数更新速度的要求,故采用软核来完成预失真训练器的功能。
间接结构中的预失真训练器的完成的功能就是直接识别出功放特性函数的反函数,得到预失真系数。假设功放的特性函数是y0(n)=F[z(n)],则预失真训练器的函数就是z(n)=F-1[y(n)](其中z(n)、y0(n)分别是功放的输入信号、输出信号,y(n)=y0(n)/G)。由上述关系可得:预失真训练器有两个输入信号,一个是y(n),另一个是z(n)。两个输入信号还需经过一个延时调整模块,旨在使得两路输入信号之间没有延时。时延调整之后,对两路信号采样,采样点数为N(本发明中,N=4000)。两路信号的采样样本分别保存在RAM中。按照记忆多项式,将这N个采样点展开为线性方程组,预失真系数是该方程组的未知数。QR-RLS算法处理的就是该线性方程组。
对预失真系数求解的过程中使用QR-RLS算法,QR-RLS算法,可以克服传统的RLS算法不能稳定收敛、具有数值的不稳定性、计算复杂度高和计算量较大等缺点,可以达到较高的运算精度,能够稳定有效地实现DPD功能。
DPD模块采用间接训练结构,不需要先识别出功放的特性函数,再求其反函数,这样可以减少运算量并且获得较高的***精度。
本发明有益的效果是:相对于传统的预失真技术,QR-RLS算法提高了数值的稳定性,降低了运算的复杂度,提高了运算速度,能够稳定有效地实现预失真功能。
附图说明
图1是功放特性和预失真器特性的关系图;
图2是本发明的间接结构的DPD框图;
图3是本发明的QR-RLS算法的边界单元功能框图;
图4是本发明的QR-RLS算法的内部单元功能框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图及举例,对本发明进行进一步详细说明。应当理解,此处所描述的举例仅仅用以解释本发明,并不用于限定本发明。
图2是间接结构的DPD框图,图中预失真器是对预失真训练器的复制。
下面主要对预失真训练器所完成的QR-RLS算法做详细说明。
记忆多项式表达式如下:
其中K是非线性因子,Q是记忆效应因子,记M=K×Q。
按照记忆多项式,将预失真训练器A的输入输出写成式(2)的形式,如下:
其中,n=0,1,2,3,...,N-1,N=4000。
令ukq(n)=y(n-q)|y(n-q)|k-1,则上式可转化为
Z=UA (3)
其中:Z=[z(0),z(1),…,z(N-1)],(4)
U=[u(0),u(1),…,u(N-1)],(5)
A=[a10,…,aK0,a11,…aK1,a1,Q-1,…,aK,Q-1]T,(6)
u(n)=[u10(n),…,uK0(n),u11(n),…,uK1(n),…,uK,Q-1(n)]。(7)
复数QR-RLS算法要处理的就是式(3)这样的一个复数矩阵方程,结果就是将矩阵U转化为一个上三角阵R,即将式(3)转化为Z′=RA,由此经反向递推即可方便的得到未知数向量A的解。
RLS算法是一种递归式的算法,第n次处理时,只需第(n-1)次分解得到的上三角阵R(n-1)和第n次需要处理的行向量u(n)。在FPGA的RAM中,设置两块空间RAM1和RAM2分别保存上三角阵R(n-1)和要处理的向量u(n)。第n次运算完成后,RAM1更新为R(n)的值,RAM2的内容则全为0。当第(n+1)处理开始时,RAM1保持R(n)的值,而RAM2的内容更新为向量u(n+1)。RAM1和RAM2都初始化为0。
QR分解有两种方式:Householder旋转和Givens旋转。后者能够有效的消除矩阵某个特定位置上的元素,并且有较高的运算精度。我们采用Givens旋转方式。
在复数Givens旋转方式中,若想消去矩阵中的第(j,i)个元素uji(j,i分别为行坐标和列坐标),则给矩阵左乘如下一个复数Givens旋转矩阵G(i,j)即可:
其中,
由式(8)可知,复数Givens旋转可分解为两次实数旋转,先将uji旋转-φi角度变为实数,然后再旋转θi消去uji。每次旋转,矩阵中uji所在行的其他元素也通过旋转更新为新的元素值。
具体的更新过程为:
假设第(n-1)次更新后,将U(n-1)化为了上三角阵R(n-1),如式(9)所示。第n次更新需要消去的一行元素为u(n)=[u1(n) u2(n) … uM(n)]。
我们要做的就是通过QR-RLS分解将(u1(n),u2(n),...,uM(n))全部消去。由Givens旋转知,若要消去u1(n),需给式(9)所示的矩阵左乘一个Givens旋转阵G(1,M+1),如下式所示。
先处理后两个矩阵相乘,即上文中提到的第一次旋转。
上式中,
由式(12)结果可知,第一次旋转只改变矩阵中的第(M+1)行的元素值,上三角阵中的元素值不发生变化。
继续解矩阵方程。
第二次旋转的目的是将u1(n)″消去为0,即
-sinθ1r11+cosθ1u1(n)′=0 (14)
可得,
其他元素的更新公式如式(16)所示
ui(n)″=-sinθ1r1,i+cosθ1ui(n)′,i=2,...,M。(16)
由式(10)~式(15)可知,若要消去u1(n),则上三角阵第一行的所有元素根据φ1更新一遍,u(n)的全部元素根据θ1更新一遍。此时,将ui(n)″再记为ui(n)(i=2,3,...,M)。
若要再消去u2(n),步骤如下:首先根据u2(n)的实部和虚部计算出φ2,ui(n)根据φ2更新为ui(n)′(i=2,3,...,M)。然后,由u2(n)′和上三角阵中的r22计算出θ2,将u2(n)′消去为0,其他元素ui(n)′(i=3,...,M)根据θ1更新为ui(n)″(i=3,...,M)。此时,再将ui(n)″记为ui(n)(i=3,...,M),方便下文表述。
依次类推,要消去u(n)中的某个元素ui(n)(i=1,2,...,M),则首先根据ui(n)的实部和虚部计算得到φi,ui(n)根据φi更新为ui(n)′。然后,根据ui(n)′和rii计算得到θi,ui(n)′根据θi更新为ui(n)″。
由上述更新过程发现,在QR-RLS分解中,所有边界单元所完成的处理一样,所有内部单元所完成的处理一样,所以可将QR-RLS分解的过程简化为两个功能单元的调用:边界单元和内部单元。
2、边界单元
边界单元完成两次旋转,图3是边界单元的功能框图。第一次旋转由φ-CPE完成:首先根据要消去的数据ui,计算出该数据的相角φi,然后ui旋转φi角度,消除虚部,转化为实数。
更新公式如式(17)所示。
第二次旋转由θ-CPE1完成。由于此时Im(ui)out=0,θ-CPE2不用作任何处理。θ-CPE1旨在将|ui|消去为0,且将rii更新为r′ii。
3、内部单元
内部单元也完成两次旋转,分别由φ-CPE和θ-CPE1/θ-CPE2完成,图4是内部单元的功能框图。内部单元的两次旋转是分别跟随边界单元完成的,即边界单元完成第一次旋转之后,每个内部单元都根据边界单元得到的φk角作第一次旋转。各个单元在第一次旋转完成之后做第二次旋转。内部单元根据边界单元处理得到的θk作第二次旋转。
第一次旋转更新公式如下式所示
第二次旋转更新公式如下式所示
4、反向递推求解DPD系数
当矩阵U的N行元素全部完成QR分解后,我们将得到一个上三角阵
则方程Z=UA的解即DPD系数为
按照式(16)~式(20)编写C代码,在MicroBlaze中运行代码,将得到预失真系数。将此预失真系数导入预失真器中,即可完成DPD功能。
该方法通过采用QR-RLS算法,可以克服传统的RLS算法不能稳定收敛、具有数值的不稳定性、计算复杂度高和计算量较大等缺点,可以达到较高的运算精度,能够稳定有效地实现DPD功能。预失真训练器主要完成数据采集和QR-RLS算法,得到DPD系数。将该DPD系数导入预失真器,即可完成对前向链路的DPD功能,预失真器和预失真训练器都在FPGA中实现。
可以理解的是,对本领域技术人员来说,对本发明的技术方案及发明构思加以等同替换或改变都应属于本发明所附的权利要求的保护范围。
Claims (3)
1.一种采用复数QR-RLS算法完成DPD功能的***,其特征在于:在功放前设置有预失真器,预失真器用于接收复数I/Q信号,同时接收DPD反馈链路处理得到的预失真系数,完成预失真处理后的结果作为功放的输入。
2.一种采用复数QR-RLS算法完成DPD功能的方法,其特征在于:具体步骤如下:
(1)、预失真器在***中置于功放之前,接收复数I/Q信号,同时接收DPD反馈链路处理得到的预失真系数,其内部结构按照MP记忆多项式搭建,处理结果作为功放的输入;
(2)、预失真训练器在FPGA中的软核内实现,间接结构中的预失真训练器的完成的功能就是直接识别出功放特性函数的反函数,得到预失真系数。
3.根据权利要求2所述的采用复数QR-RLS算法完成DPD功能的方法,其特征在于:对预失真系数求解的过程中使用QR-RLS算法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011103644083A CN102394847A (zh) | 2011-11-17 | 2011-11-17 | 一种采用复数qr-rls算法完成dpd功能的***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011103644083A CN102394847A (zh) | 2011-11-17 | 2011-11-17 | 一种采用复数qr-rls算法完成dpd功能的***及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102394847A true CN102394847A (zh) | 2012-03-28 |
Family
ID=45862056
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011103644083A Pending CN102394847A (zh) | 2011-11-17 | 2011-11-17 | 一种采用复数qr-rls算法完成dpd功能的***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102394847A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103685110A (zh) * | 2013-12-17 | 2014-03-26 | 京信通信***(中国)有限公司 | 一种预失真处理的方法、***及预失真系数运算器 |
CN105391665A (zh) * | 2014-09-02 | 2016-03-09 | 德州仪器公司 | 用于数字预失真调适的方法及装置 |
CN108154885A (zh) * | 2017-12-15 | 2018-06-12 | 重庆邮电大学 | 一种使用qr-rls算法对多通道语音信号去混响方法 |
JP2020017883A (ja) * | 2018-07-26 | 2020-01-30 | 日本無線株式会社 | 信号処理装置及び信号処理方法 |
CN115278746A (zh) * | 2022-07-28 | 2022-11-01 | 北京邮电大学 | 面向5g宽带功放的自适应快速误差修正数字预失真方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101175061A (zh) * | 2007-11-30 | 2008-05-07 | 北京北方烽火科技有限公司 | 一种ofdm发射机的自适应数字预失真方法和装置 |
CN101771639A (zh) * | 2008-12-31 | 2010-07-07 | 大唐移动通信设备有限公司 | 一种预失真参数的处理方法和装置 |
CN101771383A (zh) * | 2008-12-31 | 2010-07-07 | 大唐移动通信设备有限公司 | 一种实现信号预失真处理的方法和装置 |
CN202513949U (zh) * | 2011-11-17 | 2012-10-31 | 浙江三维无线科技有限公司 | 一种采用复数qr-rls算法完成dpd功能的*** |
-
2011
- 2011-11-17 CN CN2011103644083A patent/CN102394847A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101175061A (zh) * | 2007-11-30 | 2008-05-07 | 北京北方烽火科技有限公司 | 一种ofdm发射机的自适应数字预失真方法和装置 |
CN101771639A (zh) * | 2008-12-31 | 2010-07-07 | 大唐移动通信设备有限公司 | 一种预失真参数的处理方法和装置 |
CN101771383A (zh) * | 2008-12-31 | 2010-07-07 | 大唐移动通信设备有限公司 | 一种实现信号预失真处理的方法和装置 |
CN202513949U (zh) * | 2011-11-17 | 2012-10-31 | 浙江三维无线科技有限公司 | 一种采用复数qr-rls算法完成dpd功能的*** |
Non-Patent Citations (1)
Title |
---|
韩国玺等: "一种基于QR-RLS算法的多项式预失真方法", 《电子信息对抗技术》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103685110A (zh) * | 2013-12-17 | 2014-03-26 | 京信通信***(中国)有限公司 | 一种预失真处理的方法、***及预失真系数运算器 |
CN103685110B (zh) * | 2013-12-17 | 2017-03-22 | 京信通信***(中国)有限公司 | 一种预失真处理的方法、***及预失真系数运算器 |
CN105391665A (zh) * | 2014-09-02 | 2016-03-09 | 德州仪器公司 | 用于数字预失真调适的方法及装置 |
CN108154885A (zh) * | 2017-12-15 | 2018-06-12 | 重庆邮电大学 | 一种使用qr-rls算法对多通道语音信号去混响方法 |
JP2020017883A (ja) * | 2018-07-26 | 2020-01-30 | 日本無線株式会社 | 信号処理装置及び信号処理方法 |
JP7300814B2 (ja) | 2018-07-26 | 2023-06-30 | 日本無線株式会社 | 信号処理装置及び信号処理方法 |
CN115278746A (zh) * | 2022-07-28 | 2022-11-01 | 北京邮电大学 | 面向5g宽带功放的自适应快速误差修正数字预失真方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2641325B1 (en) | Orthogonal basis function set for ditigal predistorter | |
CN103201949B (zh) | 具有抽头输出归一化的非线性模型 | |
CN103947106B (zh) | 一种用于使非线性的***元件线性化的方法、***及设备 | |
CN101061633B (zh) | 功率放大器的基于模型的失真降低方法和*** | |
CN104796091B (zh) | 基于分段记忆多项式的功率放大器建模及数字预失真方法 | |
EP3089414B1 (en) | Digital pre-distortion parameter obtaining method and pre-distortion system | |
CN102394847A (zh) | 一种采用复数qr-rls算法完成dpd功能的***及方法 | |
CN103715992B (zh) | 基于简化Volterra级数的功放预失真装置及方法 | |
US20130329833A1 (en) | Modeling Digital Predistorter | |
CN103023842A (zh) | 一种多频段预失真系数查找表更新方法和*** | |
CN102893399A (zh) | 预失真校正方法、预失真校正装置、发射机及基站 | |
CN102427438A (zh) | 一种自适应数字预失真参数训练方法 | |
CN104796364B (zh) | 一种预失真参数求取方法及预失真处理*** | |
CN113037226A (zh) | 基于自适应步长裁剪方法的数字预失真设计方法及装置 | |
Pan et al. | A predistortion algorithm based on accurately solving the reverse function of memory polynomial model | |
CN100511979C (zh) | 一种功放***及其产生预失真信号的方法 | |
Sappal et al. | Fast complex memory polynomial-based adaptive digital predistorter | |
CN109347495B (zh) | 低位宽ad条件下提高数字信号传输精度的***及方法 | |
Bethuel et al. | On the Korteweg–de Vries long-wave approximation of the Gross–Pitaevskii equation II | |
CN202513949U (zh) | 一种采用复数qr-rls算法完成dpd功能的*** | |
Rönnow | pth‐order inverse of the Volterra series for multiple‐input multiple‐output non‐linear dynamic systems | |
CN102522957A (zh) | 一种改善射频功率放大器预失真性能的方法 | |
CN101414804B (zh) | 功率放大器非线性校正方法、装置和功率放大器 | |
Khawam et al. | Accurate and low complexity polynomial and neural network models for PA digital pre-distortion | |
Rahmanian et al. | Efficient fpga implementation of a digital predistorter for power amplifier linearization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C53 | Correction of patent of invention or patent application | ||
CB03 | Change of inventor or designer information |
Inventor after: Wei Yuan Inventor after: Wang Liqiang Inventor after: Wang Wenyuan Inventor after: Jin Huaidong Inventor before: Wei Yuan Inventor before: Wang Liqiang Inventor before: Wang Wenyuan Inventor before: Jin Huaidong |
|
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120328 |