前言
在博客数字预失真DPD详解+MATLAB仿真中讨论了基于记忆多项式非线性模型的DPD仿真,但是最后发现临带泄露没有得到很好解决,只有带内得到了改善。后续又进行了大量变更参数和设置,得到了较为理想的结果:带内和带外都得到了改善。根据仿真经验,这里对预失真器的训练进行一个讨论。
一、功放模型
功放的非线性模型采用Wiener-Hammerstein 模型,无记忆非线性模块前后的LTI模块分别用
H
(
z
)
H(z)
H(z)和
G
(
z
)
G(z)
G(z)表示。模型参数如下:
H
(
z
)
=
1
+
0.5
z
−
2
1
−
0.2
z
−
1
G
(
z
)
=
1
−
0.1
z
−
2
1
−
0.4
z
−
1
(1)
\begin{array}{l} H\left( z \right) = \frac{{1 + 0.5{z^{ - 2}}}}{{1 - 0.2{z^{ - 1}}}}\\ G\left( z \right) = \frac{{1 - 0.1{z^{ - 2}}}}{{1 - 0.4{z^{ - 1}}}} \end{array}\tag{1}
H(z)=1−0.2z−11+0.5z−2G(z)=1−0.4z−11−0.1z−2(1)
无记忆非线性模块的模型为:
v ( n ) = ∑ k = 1 , o d d K b k u ( n ) ∣ u ( n ) ∣ k − 1 (2) v\left( n \right) = \sum\limits_{k = 1,{\rm{odd}}}^K {{b_k}u\left( n \right){{\left| {u\left( n \right)} \right|}^{k - 1}}} \tag{2} v(n)=k=1,odd∑Kbku(n)∣u(n)∣k−1(2)
式中,
u
(
n
)
u\left( n \right)
u(n)和
v
(
n
)
v\left( n \right)
v(n)分别是无记忆非线性模块的输入和输出,且参数
b
k
{b_k}
bk从一个实际的AB类功率放大器中提取:
b
1
=
1.0108
+
j
0.0858
,
b
3
=
0.0879
−
j
0.1583
,
b
5
=
−
1.0992
−
j
0.8891
(3)
{b_1} = 1.0108 + j0.0858,{b_{\rm{3}}} = 0.0879 - j0.1583,{b_{\rm{5}}} = - 1.0992 - j0.8891\tag{3}
b1=1.0108+j0.0858,b3=0.0879−j0.1583,b5=−1.0992−j0.8891(3)
从
H
(
z
)
H(z)
H(z)和
G
(
z
)
G(z)
G(z)的模型中可以看出,联级后IIR的模型最高阶数为4阶。对于记忆多项式预失真器模型是基于FIR滤波器设计的,因此在设置时延抽头阶数时,应高于IIR的模型阶数。
根据模型,可得到LTI模块
H
(
z
)
H(z)
H(z)和
G
(
z
)
G(z)
G(z)的频谱图:
从图1和图2可以看出,LTI模型 H ( z ) H(z) H(z)和 G ( z ) G(z) G(z)占满了整个带宽,为了训练出足够精度的非线性记忆模型,训练信号带宽应覆盖此带宽。
对于无记忆非线性模型参数
b
k
{b_k}
bk,可以得到其AM/AM和AM/PM响应图:
从图3中可以看出,当输入信号幅度大于0.8左右时,功放模型得到的AM/AM幅度响应迅速增大,这是不符合实际功放饱和特性的。因此,此时的模型参数
b
k
{b_k}
bk只能模拟在输入信号幅度0.8以下的功放非线性模型。
根据上述的讨论,对于该参数表示的功放模型,在设计训练输入信号时,应该尽量满足:
1)记忆多项式的时延抽头阶数应大于功放模型的阶数;
2)使训练输入信号的带宽尽量占满整个带宽;
3)训练输入信号的幅度不大于0.8;
注:上述的注意点均是对于仿真情况,实际的功放模型参数往往未知,因此需要多次尝试调整参数,以满足设计要求。
二、训练信号设计和仿真结果
DPD预失真器的训练信号采用QPSK调制的OFDM信号,频域共8192个子载波,占满整个带宽;且转换到时域之后,以0.8作为最大幅度归一化。预失真器的记忆多项式模型中包含9个时延抽头,非线性阶数为5阶,即
Q
=
9
,
K
=
5
Q = {\rm{9}},K = 5
Q=9,K=5。训练完成后,用1/4满带宽的QPSK调制的OFDM信号作为输入,检验最终的DPD效果。
仿真结果如下图所示:
图中蓝色线表示信号经过理想线性功放的输出;红色线表示信号只经过非线性功放后的输出;青色线表示信号经过训练后的数字预失真器,然后经过非线性功放后的输出。从图中可以看出,相邻信道干扰和带内失真均得到了明显的改善。
总结
本博客给出了数字预失真的MATLAB仿真结果,并详细讨论了预失真训练信号参数和预失真器模型参数的设计方法,根据适当的参数配置,非线性功放的临带干扰和带内失真都能够得到较好改善。
**注:**如果对MATLAB仿真代码感兴趣的可以在评论区留言,看到后会第一时间转发代码。也欢迎有任何疑问和建议的留言,继续探讨共同进步。
参考文献
【1】Ding L .Digital Predistortion of Power Amplifiers for Wireless Applications[D]. 2004.DOI:10.1109/EUCAP.2006.4584692.
【2】https://blog.csdn.net/weixin_40319158/article/details/148636596?spm=1011.2124.3001.6209
本文作者: 渺小的颗星
本文链接:https://blog.csdn.net/weixin_40319158/article/details/148867223?spm=1011.2124.3001.6209
版权声明: 转载请注明出处!