单输入Doherty 功率放大器的极限带宽分析(含Matlab分析代码)
参考论文:高效连续型射频功率放大器研究
DPA的基础理论参考:理想架构的Doherty功率放大器理论与仿真
1、单输入Doherty 功率放大器架构
假设 Doherty 功率放大器的中心频率为 f 0 f_{0} f0,那么 Doherty 功放的合成网络由两根电长度分别为 θ 1 和 θ 2 \theta_1\text{和}\theta_2 θ1和θ2的微带线组成。这两个微带线有什么作用呢?其中TL1是为了在中心频率出呈现四分之一波长阻抗变换(理论参考理想架构的Doherty功率放大器理论与仿真),TL2是为了使得峰值支路在回退时不影响合路点(利用二分之一波长重复性将峰值功放不工作的无穷阻抗再次变换到无穷)。当然,如果TL2的长度为0,那么峰值功放在回退时对于合路点也是相当于无穷阻抗。
所以,无论上图中的m,n取何整数,都能在中心频率实现DPA调制。
2、非中心频率处的Doherty架构
2.1 TL2的影响
从理论上来讲,TL2的电长度只要是180°的整数倍都是能在中心频率处实现调制。TL2的作用主要是“利用二分之一波长重复性将峰值功放不工作的无穷阻抗再次变换到无穷”,从而减少峰值支路对载波功放的影响。
因此,我们希望TL2在非中心频率也能尽可能实现这一目的,尽可以实现二分之一波长的变换特性。先简单回顾一下一个基础知识,在 f 0 f_{0} f0处电长度为180,那么在x f 0 f_{0} f0处其等效电长度为x180。例如,在在 f 0 f_{0} f0处电长度为180,那么在2 f 0 f_{0} f0处其等效电长度为2180=360。
那么,对于n=1、2、3的情况有:
可以看到,n=0时在较宽范围内,其等效的电长度是比较接近90范围的。如果选择其他数值,延时的变化会非常剧烈,使用ADS仿真也会得到同样的效果。Matlab代码如下:
Ropt=1;
% 相对带宽表达式
f0=1;
f_arrary=f0*linspace(0.6, 1.4, 99);
figure(1)
for m=0:1:2theta_1=90+m*180;theta_1_f=theta_1*f_arrary/f0;while max(theta_1_f)>180theta_1_f(theta_1_f>180)=theta_1_f(theta_1_f>180)-360;endplot(f_arrary,theta_1_f,'LineWidth',1)hold on
end
legend('m=0','m=1','m=2')
2.2 TL1的影响
要想在回退取得高效率,其根源在于载波功放的输出阻抗ZCB的实部要是2*Ropt。那么ZCB如何求解表示呢?和两个微带线电长度的关系如何?下面进行求解
对于如下的回退电路图,峰值功放相当于开路,因此TL2相当于开路微带线。
2.2.1 ZP_OPBO的阻抗计算
首先计算ZP_OPBO的阻抗,我们使用如下的式子,其中ZL是无穷,Z0是Ropt, β l \beta l βl就是电长度 θ 2 \theta_2 θ2:
Z i n = Z 0 ⋅ Z L + j Z 0 tan β l Z 0 + j Z L tan β l Z_{in}=Z_0\cdot\frac{Z_L+jZ_0\text{tan}\beta l}{Z_0+jZ_L\text{tan}\beta l} Zin=Z0⋅Z0+jZLtanβlZL+jZ0tanβl
那么新的计算式子就是:
Z P O P B O = R o p t ⋅ 1 j tan θ 2 ZP_{OPBO}=Ropt\cdot\frac{1}{j\text{tan}\theta_2} ZPOPBO=Ropt⋅jtanθ21
对应代码:
ZP_OPBO=Ropt./(1j*tand(theta_2_f));% 峰值负载为无穷
2.2.2 ZC_OPBO的阻抗计算
ZC_OPBO的阻抗等效于负载和ZP_OPBO并联,使用电阻并联的计算公式即可:
对应代码:
ZC_OPBO=1./(1/RL+1./ZP_OPBO);% 并联关系
2.2.3 ZCB的阻抗计算
使用公式:
Z i n = Z 0 ⋅ Z L + j Z 0 tan β l Z 0 + j Z L tan β l Z_{in}=Z_0\cdot\frac{Z_L+jZ_0\text{tan}\beta l}{Z_0+jZ_L\text{tan}\beta l} Zin=Z0⋅Z0+jZLtanβlZL+jZ0tanβl
其中Zin就是ZCB,Z0就是TL1微带线的特性阻抗Ropt, β l \beta l βl就是电长度 θ 1 \theta_1 θ1,ZL就是上面计算出来的ZC_OPBO,因此对应代码为:
ZCB=Ropt*(ZC_OPBO+1j*Ropt*tand(theta_1_f))./(Ropt+1j*ZC_OPBO.*tand(theta_1_f));% Zin计算
2.3 效率的计算
之前说过,要想在回退取得高效率,其根源在于载波功放的输出阻抗ZCB的实部要是2*Ropt。对于回退要求6dB的DPA来说,确实是这样的。
如果载波功放的输出阻抗小于2*Ropt,那么在6dB回退点没有饱和,效率低。
如果载波功放的输出阻抗大于2*Ropt,那么其会提前饱和,从而实现更大的回退,其在6dB处的效率也会低于理论效率78.54%的,因为中间会掉下来一块:
但是!在“高效连续型射频功率放大器研究”文中做出了如下定义,把载波功放的输出阻抗大于2*Ropt的效率当成78.54%,这也是为了方便比较。
对应代码如下:
effi=78.54*real(ZCB)/(2*Ropt);% 计算效率,阻抗大于2Ropt被认为是饱和,效率为78.54effi(effi>78.54)=78.54;effi(isnan(effi))=78.54;
2.4 整体结果
可以看到,当选取m=0,n=1时候,带宽最高能够达到70%,这实际上也对应着连续B/J类的阻抗空间:
代码:
clc
clear
closeRopt=1;
% 相对带宽表达式
f0=1;
f_arrary=f0*linspace(0.6, 1.4, 99);
figure(1)
for m=0:1:2theta_1=90+m*180;theta_1_f=theta_1*f_arrary/f0;while max(theta_1_f)>180theta_1_f(theta_1_f>180)=theta_1_f(theta_1_f>180)-360;endplot(f_arrary,theta_1_f,'LineWidth',1)hold on
end
legend('m=0','m=1','m=2')% m=0,n=0\1\2
m=0;
theta_1=90+m*180+1e-10;
theta_1_f=theta_1*f_arrary/f0;
for n=0:1:2theta_2=n*180;theta_2_f=theta_2*f_arrary/f0+1e-10;ZP_OPBO=Ropt./(1j*tand(theta_2_f));% 峰值负载为无穷RL=Ropt/2;ZC_OPBO=1./(1/RL+1./ZP_OPBO);% 并联关系ZCB=Ropt*(ZC_OPBO+1j*Ropt*tand(theta_1_f))./(Ropt+1j*ZC_OPBO.*tand(theta_1_f));% Zin计算S_ZCB=(ZCB-1)./(ZCB+1);% Z参数转换S参数effi=78.54*real(ZCB)/(2*Ropt);% 计算效率,阻抗大于2Ropt被认为是饱和,效率为78.54effi(effi>78.54)=78.54;effi(isnan(effi))=78.54;figure(2)subplot(2,2,1)s = smithplot(S_ZCB,'Color','b','LineStyle','-.','LineWidth',2);hold onsubplot(2,2,2)plot(f_arrary,effi,'LineWidth',1)hold on
end
subplot(2,2,1)
legend('m=0, n=0','m=0, n=1','m=0, n=2')
subplot(2,2,2)
legend('m=0, n=0','m=0, n=1','m=0, n=2')% m=1,n=0\1\2
m=1;
theta_1=90+m*180+1e-10;
theta_1_f=theta_1*f_arrary/f0;
for n=0:1:2theta_2=n*180;theta_2_f=theta_2*f_arrary/f0+1e-10;ZP_OPBO=Ropt./(1j*tand(theta_2_f));% 峰值负载为无穷RL=Ropt/2;ZC_OPBO=1./(1/RL+1./ZP_OPBO);% 并联关系ZCB=Ropt*(ZC_OPBO+1j*Ropt*tand(theta_1_f))./(Ropt+1j*ZC_OPBO.*tand(theta_1_f));% Zin计算S_ZCB=(ZCB-1)./(ZCB+1);effi=78.54*real(ZCB)/(2*Ropt);effi(effi>78.54)=78.54;effi(isnan(effi))=78.54;figure(2)subplot(2,2,3)s = smithplot(S_ZCB,'Color','b','LineStyle','-.','LineWidth',2);hold onsubplot(2,2,4)plot(f_arrary,effi,'LineWidth',1)hold on
end
subplot(2,2,3)
legend('m=1, n=0','m=1, n=1','m=1, n=2')
subplot(2,2,4)
legend('m=1, n=0','m=1, n=1','m=1, n=2')
3 扫描角度结果
基于如上的把载波功放的输出阻抗大于2*Ropt的效率当成78.54 %的假设。
扫描两个微带线的电长度theta1和theta2,可以得到次优化 Doherty 工作模式的效率关系,也就是微带线的电长度不再需要遵循m、n是整数。
代码:
DPA_Effi_Cal.m:
function [effi] = DPA_Effi_Cal(theta_1,theta_2)Ropt=1;
RL=Ropt/2;
ZP_OPBO=Ropt./(1j*tand(theta_2));% 峰值负载为无穷
ZC_OPBO=1./(1/RL+1./ZP_OPBO);% 并联关系
ZCB=Ropt*(ZC_OPBO+1j*Ropt*tand(theta_1))./(Ropt+1j*ZC_OPBO.*tand(theta_1));% Zin计算
effi=78.54*real(ZCB)/(2*Ropt);% 计算效率,阻抗大于2Ropt被认为是饱和,效率为78.54
effi(effi>78.54)=78.54;
effi(isnan(effi))=78.54;
end
主函数:
clc
clear
close allRopt=1;
% 相对带宽表达式
f0=1;
f_arrary=f0*linspace(0.6, 1.4, 99);
figure(1)
for m=0:1:2theta_1=90+m*180;theta_1_f=theta_1*f_arrary/f0;while max(theta_1_f)>180theta_1_f(theta_1_f>180)=theta_1_f(theta_1_f>180)-360;endplot(f_arrary,theta_1_f,'LineWidth',1)hold on
end
legend('m=0','m=1','m=2')% m=0,n=0\1\2
m=0;
theta_1=90+m*180+1e-10;
theta_1_f=theta_1*f_arrary/f0;
for n=0:1:2theta_2=n*180;theta_2_f=theta_2*f_arrary/f0+1e-10;ZP_OPBO=Ropt./(1j*tand(theta_2_f));% 峰值负载为无穷RL=Ropt/2;ZC_OPBO=1./(1/RL+1./ZP_OPBO);% 并联关系ZCB=Ropt*(ZC_OPBO+1j*Ropt*tand(theta_1_f))./(Ropt+1j*ZC_OPBO.*tand(theta_1_f));% Zin计算S_ZCB=(ZCB-1)./(ZCB+1);% Z参数转换S参数effi=78.54*real(ZCB)/(2*Ropt);% 计算效率,阻抗大于2Ropt被认为是饱和,效率为78.54effi(effi>78.54)=78.54;effi(isnan(effi))=78.54;figure(2)subplot(2,2,1)s = smithplot(S_ZCB,'Color','b','LineStyle','-.','LineWidth',2);hold onsubplot(2,2,2)plot(f_arrary,effi,'LineWidth',1)hold on
end
subplot(2,2,1)
legend('m=0, n=0','m=0, n=1','m=0, n=2')
subplot(2,2,2)
legend('m=0, n=0','m=0, n=1','m=0, n=2')% m=1,n=0\1\2
m=1;
theta_1=90+m*180+1e-10;
theta_1_f=theta_1*f_arrary/f0;
for n=0:1:2theta_2=n*180;theta_2_f=theta_2*f_arrary/f0+1e-10;ZP_OPBO=Ropt./(1j*tand(theta_2_f));% 峰值负载为无穷RL=Ropt/2;ZC_OPBO=1./(1/RL+1./ZP_OPBO);% 并联关系ZCB=Ropt*(ZC_OPBO+1j*Ropt*tand(theta_1_f))./(Ropt+1j*ZC_OPBO.*tand(theta_1_f));% Zin计算S_ZCB=(ZCB-1)./(ZCB+1);effi=78.54*real(ZCB)/(2*Ropt);effi(effi>78.54)=78.54;effi(isnan(effi))=78.54;figure(2)subplot(2,2,3)s = smithplot(S_ZCB,'Color','b','LineStyle','-.','LineWidth',2);hold onsubplot(2,2,4)plot(f_arrary,effi,'LineWidth',1)hold on
end
subplot(2,2,3)
legend('m=1, n=0','m=1, n=1','m=1, n=2')
subplot(2,2,4)
legend('m=1, n=0','m=1, n=1','m=1, n=2')% 绘制角度和效率的等高图
figure(3)
x=55:1:125;y=110:2:250;
[X,Y] = meshgrid(x,y);for i=1:1:length(X)for j=1:1:length(X)Z(i,j)=DPA_Effi_Cal(X(i,j),Y(i,j));end
end
surf(X,Y,Z);
title('Doherty 功率放大器的回退效率随 TL1 和 TL2 相位延迟的变化')
colormap jet%summer是一种配色方案,还有其他方案如winter,summer····见help colormap
colorbar
xlabel('\theta_1');
ylabel('\theta_2');
zlabel('Efficiency(%)');
% axis([-0.5 0.5 -1 1 -1.5 1.5]);