10、电路综合-基于简化实频的宽带匹配电路设计方法

2023-11-01 15:59

本文主要是介绍10、电路综合-基于简化实频的宽带匹配电路设计方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

10、电路综合-基于简化实频的宽带匹配电路设计方法

网络综合和简化实频理论学习概述中的1-9介绍了SRFT的一些基本概念和实验方法,终于走到了SRFT的另一个究极用途,宽带匹配电路的设计。

1、之前的一些回顾与总结

之前也给出了一些电路综合的案例,但是这些案例必须基于解析函数形式的S参数,在更为一般的情况下我们难以基于此去完成设计,我们往往需要基于要匹配的阻抗去设计实际的电路:

5、电路综合-超酷-基于S11参数直接综合出微带线电路图
基于给定的S11参数的表达式综合出其对应的微带电路图,注意此处的S11参数表达式需要是解析形式(即要是函数表达式的形式)

6、电路综合-基于简化实频的SRFT微带线切比雪夫低通滤波器设计
基于切比雪夫函数进行电路综合,基于目标参数直接进行电路综合得到其对应的微带电路,给出了对应的理论与操作步骤(附Matlab代码)

7、电路综合-基于简化实频的SRFT微带线巴特沃兹低通滤波器设计
基于巴特沃斯函数进行电路综合,基于目标参数直接进行电路综合得到其对应的微带电路,给出了对应的理论与操作步骤(附Matlab代码)

8、电路综合-基于简化实频的SRFT微带线的带通滤波器设计
基于巴特沃斯与切比雪夫函数进行电路综合,基于目标参数直接进行电路综合得到其对应的带通的微带电路,给出了对应的理论与操作步骤(附Matlab代码)

2、简化实频的宽带匹配电路设计方法理论

阻抗匹配其实就是S11电路的匹配,给定需要匹配的阻抗数值去设计微带电路,其实就是给定了部分频点的S11参数去综合出电路图。我们唯一需要的就是根据部分频点的S11参数去拟合S11在理查德域的解析表达式。

这个拟合过程也可以看为一个优化过程,是为了使得解析表达式尽可能的接近已知的S11参数。其基本过程和9、电路综合-基于简化实频的任意幅频响应的微带电路设计一致,在此不过多赘述。

3、简化实频的宽带匹配电路Matlab代码与简单验证

案例:将10欧姆在2.1-5.1GHz内匹配至50欧姆,在代码中设置几个离散的频率点以及目标阻抗即可:

% 设置要控制的频点
f_target=[2.1 2.7 3.3 3.9 4.5 5.1]*1e9;
% 设置要控制的对应阻抗,进行归一化
z_target=[10 10 10 10 10 10]/Z0;

代码的主题如下所示(详细代码从最上方链接下载):

clear
clc
close all
global Z0
global freq_solve% 使用1GHZ的微带线,最高控制到3GHz,特性阻抗50欧姆
f=4e9;
fe=4e9;
Z0=50;
%使用k个级联微带线进行设计
k=6;%在DC处无零点
q=0;
%初始化H的系数
h=-1.*ones(1,k);
we=2*pi*fe;
tau=pi/2/we;
%光速
c=299792458;
ele_l=360*tau*f;
l=ele_l/360*c/f;
disp(['此处使用在',num2str(f/1e9),'GHz下电长度为',num2str(ele_l),'°的微带线进行实现']);% 设置要控制的频点
f_target=[2.1 2.7 3.3 3.9 4.5 5.1]*1e9;
% 设置要控制的对应阻抗,进行归一化
z_target=[10 10 10 10 10 10]/Z0;
% 转化为S11参数
s11_target=(z_target-1)./(z_target+1);% 定义优化变量
x0=h;
% Call optimization with no transformer
A = [];
b = [];
Aeq = [];
beq = [];
lb = [];
ub = [];
% opt=optimset('Display','off');
% warning('off');
[x,fval] = fmincon(@(x)objective_Z(x,fe,q,k,l,f_target,s11_target),x0,A,b,Aeq,beq,lb,ub,[]);
disp(['error is      ',num2str(fval)])
% warning('on');h=x;
h(k+1)=0;
% 基于优化得到的h计算其他参数
[G,H,F,g]=SRFT_htoG(h,q,k);
tau=pi/2/we;%求解频率范围,单位GHz
f_start=2;
f_stop=5;
f_step=0.1;
%求解范围
freq_solve=[f_start:f_step:f_stop]*1e9;%计算不同频率下的相移常数beta
beta=2*pi*freq_solve/c;
%转换到lamda域
lamda=1j*tan(beta*l);num_h=0;
for i=1:1:length(h)num_h=num_h+h(i).*lamda.^(length(h)-i);
end
num_g=0;
for i=1:1:length(g)num_g=num_g+g(i).*lamda.^(length(g)-i);
end
num_f=(1-lamda.^2).^(k/2);S11=num_h./num_g;SimthChart(3)=figure(3);
wxp_smithplot=smithplot(S11,'GridType','Z');
legend(['第',num2str(1),'次谐波']);
dcm_obj = datacursormode(SimthChart(3));
set(dcm_obj,'UpdateFcn',@myupdatefcn_smith1);
wxp_smithplot.Marker = {'+'};% 综合得到所需的微带电路
[Z_imp]=UE_sentez(h,g);
Z_imp=Z_imp.*Z0;
disp(Z_imp)

运行得到的结果如下所示:
在这里插入图片描述
从Smith圆图可见匹配较好,误差较小。构建ADS电路图,源阻抗设置为10欧姆:
在这里插入图片描述
ADS的仿真结果如下所示,可见匹配完美,设计合理:
在这里插入图片描述

4、简化实频功率放大器匹配设计

简化实频在功率放大器的设计中非常有用,对于功率放大器的匹配电路来说,不同频点的最佳频率是在不同阻抗点的,例如CGH40006S的最佳源阻抗与负载阻抗如下所示:
在这里插入图片描述
基于如上的最佳阻抗值进行SRFT电路设计,设计代码如下(源匹配和负载匹配可以通过修改注释来改变,提供了两种优化方法,提供修改注释来切换):

clear
clc
close all
global Z0
global freq_solve% 使用1GHZ的微带线,最高控制到3GHz,特性阻抗50欧姆
f=4e9;
fe=4e9;
Z0=50;
%使用k个级联微带线进行设计
k=5;%在DC处无零点
q=0;
%初始化H的系数
h=-1.*ones(1,k);
we=2*pi*fe;
tau=pi/2/we;
%光速
c=299792458;
ele_l=360*tau*f;
l=ele_l/360*c/f;
disp(['此处使用在',num2str(f/1e9),'GHz下电长度为',num2str(ele_l),'°的微带线进行实现']);% 设置要控制的频点,源匹配
f_target=[2.1 2.7 3.3 3.9 4.5 5.1]*1e9;
% 设置要控制的对应阻抗,进行归一化
z_target=[20-1j*12 20-1j*8 18-1j*4 7-1j*3 6-1j*7 10-1j*10]/Z0;% % 设置要控制的频点,负载匹配
% f_target=[2.1 2.7 3.3 3.9 4.5 5.1]*1e9;
% % 设置要控制的对应阻抗,进行归一化
% z_target=[28+1j*14 26+1j*15 20+1j*13 19+1j*9 16+1j*7 15+1j*5.5]/Z0;% % 设置要控制的频点
% f_target=[2.1 2.7 3.3 3.9 4.5 5.1]*1e9;
% % 设置要控制的对应阻抗,进行归一化
% z_target=[10 10 10 10 10 10]/Z0;% 转化为S11参数
s11_target=(z_target-1)./(z_target+1);%优化方法二选一
OPTIONS=optimset('MaxFunEvals',20000,'MaxIter',50000,'Algorithm','levenberg-marquardt');
x=lsqnonlin('objective_Z',x0,[],[],OPTIONS,fe,q,k,l,f_target,s11_target);%优化方法二选一
% A = [];
% b = [];
% Aeq = [];
% beq = [];
% lb = [];
% ub = [];
% % opt=optimset('Display','off');
% % warning('off');
% [x,fval] = fmincon(@(x)objective_Z(x,fe,q,k,l,f_target,s11_target),x0,A,b,Aeq,beq,lb,ub,[]);
% disp(['error is      ',num2str(fval)])
% % warning('on');h=x;
h(k+1)=0;
% 基于优化得到的h计算其他参数
[G,H,F,g]=SRFT_htoG(h,q,k);
tau=pi/2/we;%求解频率范围,单位GHz
f_start=2;
f_stop=5;
f_step=0.1;
%求解范围
freq_solve=[f_start:f_step:f_stop]*1e9;%计算不同频率下的相移常数beta
beta=2*pi*freq_solve/c;
%转换到lamda域
lamda=1j*tan(beta*l);
num_h=0;
for i=1:1:length(h)num_h=num_h+h(i).*lamda.^(length(h)-i);
end
num_g=0;
for i=1:1:length(g)num_g=num_g+g(i).*lamda.^(length(g)-i);
end
num_f=(1-lamda.^2).^(k/2);
S11=num_h./num_g;
SimthChart(3)=figure(3);
wxp_smithplot=smithplot(S11,'GridType','Z');
legend(['第',num2str(1),'次谐波']);
dcm_obj = datacursormode(SimthChart(3));
set(dcm_obj,'UpdateFcn',@myupdatefcn_smith1);
wxp_smithplot.Marker = {'+'};
% %------------------------------------
% 综合得到所需的微带电路[Z_imp]=UE_sentez(h,g);
Z_imp=Z_imp.*Z0;
disp(Z_imp)

运行结果如下所示:
在这里插入图片描述
构建输入匹配的ADS仿真电路图,注意此处是输入匹配,需要将微带线的输入输出顺序翻转(第一段微带线是49.6156欧姆,以此类推):
在这里插入图片描述
上图,1端口接的是50欧姆端口,2端口连接晶体管的栅极,仿真观察S22来判断其匹配结果,匹配效果很好:
在这里插入图片描述

上面设计的是输入匹配,下面进行输出匹配电路的设计,同样在上面代码的基础上修改注释,再进行综合:
在这里插入图片描述
匹配效果一般,基本满足要求,实际此处也需要考虑过拟合的问题,在此不额外赘述了。基于此结果构建输出匹配电路:
在这里插入图片描述
1端口接晶体管的漏极,2端口接50欧姆端口,观察S11的仿真结果如下所示,和理论一致:
在这里插入图片描述

这篇关于10、电路综合-基于简化实频的宽带匹配电路设计方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Java中读取YAML文件配置信息常见问题及解决方法

《Java中读取YAML文件配置信息常见问题及解决方法》:本文主要介绍Java中读取YAML文件配置信息常见问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录1 使用Spring Boot的@ConfigurationProperties2. 使用@Valu

Java 方法重载Overload常见误区及注意事项

《Java方法重载Overload常见误区及注意事项》Java方法重载允许同一类中同名方法通过参数类型、数量、顺序差异实现功能扩展,提升代码灵活性,核心条件为参数列表不同,不涉及返回类型、访问修饰符... 目录Java 方法重载(Overload)详解一、方法重载的核心条件二、构成方法重载的具体情况三、不构

SQL中如何添加数据(常见方法及示例)

《SQL中如何添加数据(常见方法及示例)》SQL全称为StructuredQueryLanguage,是一种用于管理关系数据库的标准编程语言,下面给大家介绍SQL中如何添加数据,感兴趣的朋友一起看看吧... 目录在mysql中,有多种方法可以添加数据。以下是一些常见的方法及其示例。1. 使用INSERT I

Python中反转字符串的常见方法小结

《Python中反转字符串的常见方法小结》在Python中,字符串对象没有内置的反转方法,然而,在实际开发中,我们经常会遇到需要反转字符串的场景,比如处理回文字符串、文本加密等,因此,掌握如何在Pyt... 目录python中反转字符串的方法技术背景实现步骤1. 使用切片2. 使用 reversed() 函

Python中将嵌套列表扁平化的多种实现方法

《Python中将嵌套列表扁平化的多种实现方法》在Python编程中,我们常常会遇到需要将嵌套列表(即列表中包含列表)转换为一个一维的扁平列表的需求,本文将给大家介绍了多种实现这一目标的方法,需要的朋... 目录python中将嵌套列表扁平化的方法技术背景实现步骤1. 使用嵌套列表推导式2. 使用itert

Python使用pip工具实现包自动更新的多种方法

《Python使用pip工具实现包自动更新的多种方法》本文深入探讨了使用Python的pip工具实现包自动更新的各种方法和技术,我们将从基础概念开始,逐步介绍手动更新方法、自动化脚本编写、结合CI/C... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

在Linux中改变echo输出颜色的实现方法

《在Linux中改变echo输出颜色的实现方法》在Linux系统的命令行环境下,为了使输出信息更加清晰、突出,便于用户快速识别和区分不同类型的信息,常常需要改变echo命令的输出颜色,所以本文给大家介... 目python录在linux中改变echo输出颜色的方法技术背景实现步骤使用ANSI转义码使用tpu

Conda与Python venv虚拟环境的区别与使用方法详解

《Conda与Pythonvenv虚拟环境的区别与使用方法详解》随着Python社区的成长,虚拟环境的概念和技术也在不断发展,:本文主要介绍Conda与Pythonvenv虚拟环境的区别与使用... 目录前言一、Conda 与 python venv 的核心区别1. Conda 的特点2. Python v

Spring Boot中WebSocket常用使用方法详解

《SpringBoot中WebSocket常用使用方法详解》本文从WebSocket的基础概念出发,详细介绍了SpringBoot集成WebSocket的步骤,并重点讲解了常用的使用方法,包括简单消... 目录一、WebSocket基础概念1.1 什么是WebSocket1.2 WebSocket与HTTP

SQL Server配置管理器无法打开的四种解决方法

《SQLServer配置管理器无法打开的四种解决方法》本文总结了SQLServer配置管理器无法打开的四种解决方法,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录方法一:桌面图标进入方法二:运行窗口进入检查版本号对照表php方法三:查找文件路径方法四:检查 S