基于数字双输入的超宽带(0.7-3.1GHz)Doherty功率放大器设计-从理论到ADS版图

本文主要是介绍基于数字双输入的超宽带(0.7-3.1GHz)Doherty功率放大器设计-从理论到ADS版图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

基于数字双输入的超宽带(0.7-3.1GHz)Doherty功率放大器设计-从理论到ADS版图

参考论文: 高效连续型射频功率放大器研究

假期就要倒计时啦,估计是寒假假期的最后一个博客,希望各位龙年工作顺利,学业有成。

全部工程下载:基于数字双输入的超宽带Doherty功率放大器设计-从理论到ADS版图-ADS工程
不着急的穷学生和穷工程师可以私信我,打6-8折哦!

如果硕士毕业设计用到双输入,也算是比较深入的了,一般都是作为压轴的那一章。

作者我复现了七天,数字双输入的超宽带Doherty实际实现是有一定门槛的,需要对每个输入支路的功率、相位进行扫描,在此进行复现并给出模板、画图代码(虽然我现在不清楚实际测量的时候怎么搞,估计要写个脚本查表吧)。


使用几个频点的数据来近似说明整体的数据:
在0.7-3.1GHz的范围内,饱和输出功率为43.31-44.78dBm,饱和输出增益为10.37-12.24dB,饱和输出效率为60.5-74.07%,回退6dB效率为45.43%-61.5%。


前置文章:单输入Doherty 功率放大器的极限带宽分析(含Matlab分析代码),数字双输入的就是为解决此问题的,。

类似的双输入架构:双输入宽带混合 Doherty-Outphasing功率放大器设计(2021.02 MTT)-从理论到ADS版图

目录

    • 基于数字双输入的超宽带(0.7-3.1GHz)Doherty功率放大器设计-从理论到ADS版图
    • 0、实现效果展示
      • 0.1、版图展示
      • 0.2、扫描的结果
      • 0.3、实现的效果
    • 1、双输入的核心理论
      • 1.1、提要
      • 1.2、理论推导
      • 1.3、所需的约束
    • 2、基于ADS与CGH40010F的验证
    • 3、系统仿真和扫描
      • 3.1、系统仿真和扫描原理图
      • 3.2、使用Matlab提取数据
      • 3.3、画图分析的Matlab代码
    • 4、运行环境

0、实现效果展示

基于CGH40010F

这个博客几乎就是对“高效连续型射频功率放大器研究”论文中数字双输入部分的复现,是在原来的基础上进行了一的OPTIM,主要是原来论文里面的微带线参数都是保留一位小数,精度可能不太够

0.1、版图展示

整体的版图如下,由于是双输入的,有两个输入的端口
在这里插入图片描述

0.2、扫描的结果

数字双输入的超宽带Doherty实际实现是有一定门槛的,需要对每个输入支路的功率、相位进行扫描,此处Pin1 的扫描范围为6-30dBm,Pin2 的扫描范围为6-30dBm,相位差的扫描范围为0-180,最后扫描模板得到的结果如下(例如2700MHz),一般都会对其取包络(使用Matlab脚本提取,后面介绍):
在这里插入图片描述

0.3、实现的效果

因为需要对每个频率下的参数进行扫描,所以取几个频率点的数据进行参考,使用几个频点的数据来近似说明整体的数据:
在0.7-3.1GHz的范围内,饱和输出功率为43.31-44.78dBm,饱和输出增益为10.37-12.24dB,饱和输出效率为60.5-74.07%,回退6dB效率为45.43%-61.5%。

使用Matlab脚本提取包络,700MHz效率与增益结果如下所示,在700MHz,实现了44.78dBm的饱和输出功率,12.24dB的饱和增益,饱和效率为72.2%,回退6dB效率为50.13%
在这里插入图片描述

使用Matlab脚本提取包络,1500MHz效率与增益结果如下所示,在1500MHz,实现了43.38dBm的饱和输出功率,10.37dB的饱和增益,饱和效率为60.5%,回退6dB效率为61.5%
在这里插入图片描述
使用Matlab脚本提取包络,2300MHz效率与增益结果如下所示,在2300MHz,实现了44.31dBm的饱和输出功率,11.3dB的饱和增益,饱和效率为70.48%,回退6dB效率为45.43%
在这里插入图片描述
使用Matlab脚本提取包络,3100MHz效率与增益结果如下所示,在3100MHz,实现了43.3dBm的饱和输出功率,11.68dB的饱和增益,饱和效率为74.07%,回退6dB效率为49.91%
在这里插入图片描述

1、双输入的核心理论

1.1、提要

单输入Doherty 功率放大器的极限带宽分析(含Matlab分析代码)中分析了单输入DPA的极限带宽。在传统单输入DPA中,存在固定的载波功放和固定的峰值功放,因此在回退点的等效电路是固定的(峰值功放视为开路),如:
在这里插入图片描述
但是,如果我们能够自定义输入功率,从而自定义哪个功放充当峰值功放和载波功放,就可以在回退时获得两种工作模式(相当于有两种电路了,自然带宽可以拓展):
在这里插入图片描述

1.2、理论推导

上图中, θ 1 \theta_1 θ1 θ 2 \theta_2 θ2都和频率相关,所提及的角度是在f0出的电长度。(先简单回顾一下一个基础知识,在 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。

为了简便起见,首先假设在某一工作频点处 θ 1 = 90 \theta_1=90 θ1=90,观察 θ 2 \theta_2 θ2的取值和带宽的关系(下面都使用Matlab脚本分析画图得到,分别对两种模式进行分析):
在这里插入图片描述
直观一些,可以看到无论 θ 2 \theta_2 θ2取何值,双输入 Doherty 功放在归一化频率f = 2处效率恶化严重。此时,工作在模式 I 下的双输入 Doherty 功放只有在f为 1 或者 3 附近具有良好的回退效率(红色鲜艳)。

可以看出,在工作模式 II 下,当 θ 2 \theta_2 θ2约为45°时,双输入 Doherty 功放在归一化频率1.3-2.6 之间可以获得良好的回退效率;而当 θ 2 \theta_2 θ2为其他值时,双输入 Doherty 功放只能在某一小频率区间获得良好的回退效率。

在这里插入图片描述
分析代码:

clc
clear
close allRopt=1;
% 相对带宽表达式
f0=1;
f_arrary=f0*linspace(0.6, 3.3, 99);
theta_1=90;
theta_2=0:5:180;figure(1)
subplot(2,1,1)
[X,Y] = meshgrid(f_arrary,theta_2);
for i=1:1:length(theta_2)for j=1:1:length(X)Z(i,j)=DPA_Effi_Cal_v2(X(i,j),90,Y(i,j));end
end
surf(Y,X,Z);
title('双输入 Doherty 功放工作在模式 I')
colormap jet%jet是一种配色方案,还有其他方案如winter,summer····见help colormap
colorbar
xlabel('\theta_2');
ylabel('归一化频率');
zlabel('Efficiency(%)');subplot(2,1,2)
[X,Y] = meshgrid(f_arrary,theta_2);
for i=1:1:length(theta_2)for j=1:1:length(X)Z(i,j)=DPA_Effi_Cal_v2(X(i,j),Y(i,j),90);end
end
surf(Y,X,Z);
title('双输入 Doherty 功放工作在模式 II')
colormap jet%jet是一种配色方案,还有其他方案如winter,summer····见help colormap
colorbar
xlabel('\theta_2');
ylabel('归一化频率');
zlabel('Efficiency(%)');

1.3、所需的约束

θ 1 \theta_1 θ1在f1处电长度为90°, θ 2 \theta_2 θ2在f1处电长度为45°,延时的变化符合微带线基本特性 θ 1 \theta_1 θ1在f2处电长度为2 * 90°, θ 2 \theta_2 θ2在f2处电长度为2 * 45°,以此类推)。

此外,TL1和TL2的阻抗要是Ropt,B类最佳阻抗。

负载RL的阻抗为Ropt/2,需要使用后匹配网络匹配到50欧姆。

2、基于ADS与CGH40010F的验证

作者论文中参数都是有效的,我是在原来的基础上进行了一的OPTIM,主要是原来论文里面的微带线参数都是保留一位小数,精度可能不太够

作者Ropt选的是30欧姆,漏极电压28V,栅极电压-3.3V。

2.1 θ 1 \theta_1 θ1电长度和阻抗的约束实现

Output/OutputSub_TL2原理图
微带线TL2的在f1处电长度为90°,阻抗为Ropt,延时的变化符合微带线基本特性 θ 1 \theta_1 θ1在f2处电长度为2 * 90°,以此类推)。构建优化:
在这里插入图片描述
查看阻抗和延时的实现效果,比较好:
在这里插入图片描述

2.2 θ 2 \theta_2 θ2电长度和阻抗的约束实现

Output/OutputSub_TL1原理图
微带线TL1的在f1处电长度为45°,阻抗为Ropt,延时的变化符合微带线基本特性 θ 2 \theta_2 θ2在f2处电长度为2 * 45°,以此类推)。构建优化:
在这里插入图片描述
查看结果,差的不多:
在这里插入图片描述

2.3 后匹配网络阻抗匹配约束

Output/OutputSub_PMN
理论负载是Ropt/2,需要把Ropt/2变换到50欧姆,也就是要把15欧姆变换到50欧姆,构建优化:
在这里插入图片描述
匹配良好:
在这里插入图片描述

2.4 输入匹配设计

Input/InputMatch_Sub

输入匹配要求不高,我直接用作者提供的电路,需要自己设计的可以使用源牵引方法,参考:番外5:ADS功放设计之负载牵引与源牵引、ADS使用记录之AB类功放设计。

电路图如下:
在这里插入图片描述
匹配效果还可以:
在这里插入图片描述

3、系统仿真和扫描

3.1、系统仿真和扫描原理图

Test/HB1ToneGComp2swp_v1
双输入架构使用俩个输入端口,扫描的相位差为变量My_Delay:
在这里插入图片描述
Param1就是Pin1的输入功率,Param2就是Pin2的输入功率,My_Delay为扫描的相位差,RFfreq为当前的频率,需要自己设置:
在这里插入图片描述
运行得到结果,:
在这里插入图片描述

3.2、使用Matlab提取数据

把上面表格的数据导出为csv:
在这里插入图片描述
打开我提供的Matlab代码,修改名字为你的csv文件名,此外需要手动修改Mydelay为你ADS中所设的的延迟扫描参数,例如:
在这里插入图片描述

% 输入csv的名字
csv_name='3100.csv';
% 手动设定扫描延时
Mydelay=-180:5:0;

运行Matlab即可。
全部代码:
在这里插入图片描述
运行代码,可以得到效率、增益和所需的输入功率、延迟等信息(2700MHz):
在这里插入图片描述
作者也提供了输入功率、相位差数据,可以对比一下,其中两路的输入功率数据是高度一致的:
在这里插入图片描述

3.3、画图分析的Matlab代码

DPA_Effi_Cal_v2.m

function [effi] = DPA_Effi_Cal_v2(freq,theta_1,theta_2)
% theta是对于f0而言的,此处来计算在freq处的角度
theta_1=theta_1*freq/1;
theta_2=theta_2*freq/1;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

draw_data.m

clc
clear
close
% 输入csv的名字
csv_name='3100.csv';
data=readmatrix(csv_name);%csvread只能读取纯数据
% 手动设定扫描延时
Mydelay=-180:5:0;%添加延时数据到data数组
repeat_times=length(data)/length(Mydelay);
Mydelay_data=[];
for ind=1:1:repeat_timesMydelay_data=[Mydelay_data Mydelay];
end
data(:,5)=Mydelay_data;Pout_dbm=data(:,3);%提取输出功率数据
Pout_dbm_Draw_step=0.4;
Pout_dbm_Draw=min(Pout_dbm):Pout_dbm_Draw_step:max(Pout_dbm);for ind=1:1:length(Pout_dbm_Draw)eval(['Pout_dbm_DataAll.data', num2str(ind), '= [];']);
end% 获取每个输出功率为Pout_dbm_Draw附近的点数据
for ind=1:1:length(data)for j=1:1:length(Pout_dbm_Draw)if abs(data(ind,3)-Pout_dbm_Draw(j))<=Pout_dbm_Draw_step/2eval(['Pout_dbm_DataAll.data', num2str(j), '=[Pout_dbm_DataAll.data', num2str(j),';data(ind,:)];']);endend
end
% 对每个数据提取最佳的效率点,并记录输入功率、延时等等
for ind=1:1:length(Pout_dbm_Draw)% 判断是否是空数组if eval(['isempty(Pout_dbm_DataAll.data',num2str(ind), ')'])eval('DrawData.Pin_1(ind)=NaN;');eval('DrawData.Pin_2(ind)=NaN;');eval('DrawData.Pout_dbm_Real(ind)=NaN;');eval('DrawData.Efficiency(ind)=NaN;');eval('DrawData.Delay(ind)=NaN;');elseeval(['[max_val,max_ind]=max(Pout_dbm_DataAll.data', num2str(ind), '(:,4));']);eval(['DrawData.Pin_1(ind)=Pout_dbm_DataAll.data', num2str(ind), '(max_ind,1);']);eval(['DrawData.Pin_2(ind)=Pout_dbm_DataAll.data', num2str(ind), '(max_ind,2);']);eval(['DrawData.Pout_dbm_Real(ind)=Pout_dbm_DataAll.data', num2str(ind), '(max_ind,3);']);eval(['DrawData.Efficiency(ind)=Pout_dbm_DataAll.data', num2str(ind), '(max_ind,4);']);eval(['DrawData.Delay(ind)=Pout_dbm_DataAll.data', num2str(ind), '(max_ind,5);']);end
end% 空数组插值
DrawData.Pin_1 = fillmissing(DrawData.Pin_1,'movmean',5);
DrawData.Pin_2 = fillmissing(DrawData.Pin_2,'movmean',5);
DrawData.Pout_dbm_Real = fillmissing(DrawData.Pout_dbm_Real,'movmean',5);
DrawData.Efficiency = fillmissing(DrawData.Efficiency,'movmean',5);
DrawData.Delay = fillmissing(DrawData.Delay,'movmean',5);
% 计算总的输入功率
DrawData.PinAll=10*log10((10.^(0.1*(DrawData.Pin_1-30)))+(10.^(0.1*(DrawData.Pin_2-30))))+30;
% 计算增益
DrawData.Gain=DrawData.Pout_dbm_Real-DrawData.PinAll;% 画图
figure(1)plot(DrawData.Pout_dbm_Real,DrawData.Efficiency,'-o','Color','r','LineWidth',1);hold on
ylabel('Drain Efficiency(%),Gain(dB)');xlabel('Pout(dBm)');plot(DrawData.Pout_dbm_Real,DrawData.Gain,'-square','Color','magenta','LineWidth',1);hold on
legend('Efficiency', 'Gain')
title(csv_name)figure(2)
plot(DrawData.Pout_dbm_Real,DrawData.Pin_1,'-v','Color','b','LineWidth',1);hold on
plot(DrawData.Pout_dbm_Real,DrawData.Pin_2,'-v','Color','b','LineWidth',1);hold on
ylabel('Pin(dBm)');xlabel('Pout(dBm)');
yyaxis right
plot(DrawData.Pout_dbm_Real,abs(DrawData.Delay),'-o','Color','black','LineWidth',1);
ylabel('Delay(°)');
legend('Pin_1', 'Pin_2','Delay')
title(csv_name)

4、运行环境

ADS版本:ADS2023

依赖的ADS库文件:Cree公司的GAN库,CGH40010F管子、(文件中包含,但可能要调整路径)

这篇关于基于数字双输入的超宽带(0.7-3.1GHz)Doherty功率放大器设计-从理论到ADS版图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/730113

相关文章

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

从去中心化到智能化:Web3如何与AI共同塑造数字生态

在数字时代的演进中,Web3和人工智能(AI)正成为塑造未来互联网的两大核心力量。Web3的去中心化理念与AI的智能化技术,正相互交织,共同推动数字生态的变革。本文将探讨Web3与AI的融合如何改变数字世界,并展望这一新兴组合如何重塑我们的在线体验。 Web3的去中心化愿景 Web3代表了互联网的第三代发展,它基于去中心化的区块链技术,旨在创建一个开放、透明且用户主导的数字生态。不同于传统

2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题是由安全生产模拟考试一点通提供,流动式起重机司机证模拟考试题库是根据流动式起重机司机最新版教材,流动式起重机司机大纲整理而成(含2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题参考答案和部分工种参考解析),掌握本资料和学校方法,考试容易。流动式起重机司机考试技

usaco 1.2 Name That Number(数字字母转化)

巧妙的利用code[b[0]-'A'] 将字符ABC...Z转换为数字 需要注意的是重新开一个数组 c [ ] 存储字符串 应人为的在末尾附上 ‘ \ 0 ’ 详见代码: /*ID: who jayLANG: C++TASK: namenum*/#include<stdio.h>#include<string.h>int main(){FILE *fin = fopen (

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

怎么让1台电脑共享给7人同时流畅设计

在当今的创意设计与数字内容生产领域,图形工作站以其强大的计算能力、专业的图形处理能力和稳定的系统性能,成为了众多设计师、动画师、视频编辑师等创意工作者的必备工具。 设计团队面临资源有限,比如只有一台高性能电脑时,如何高效地让七人同时流畅地进行设计工作,便成为了一个亟待解决的问题。 一、硬件升级与配置 1.高性能处理器(CPU):选择多核、高线程的处理器,例如Intel的至强系列或AMD的Ry

基于51单片机的自动转向修复系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 单片机

SprinBoot+Vue网络商城海鲜市场的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍:CSDN认证博客专家,CSDN平台Java领域优质创作者,全网30w+

单片机毕业设计基于单片机的智能门禁系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍程序代码部分参考 设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订