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、电路综合-基于简化实频的宽带匹配电路设计方法
10、电路综合-基于简化实频的宽带匹配电路设计方法 网络综合和简化实频理论学习概述中的1-9介绍了SRFT的一些基本概念和实验方法,终于走到了SRFT的另一个究极用途,宽带匹配电路的设计。 1、之前的一些回顾与总结 之前也给出了一些电路综合的案例&…...

N-130基于springboot,vue校园社团管理系统
开发工具:IDEA 服务器:Tomcat9.0, jdk1.8 项目构建:maven 数据库:mysql5.7 系统分前后台,项目采用前后端分离 前端技术:vueelementUI 服务端技术:springbootmybatis-plus 本系…...

Syntax Error: TypeError: this.getOptions is not a function的解决(Vue)
报错信息: TypeError: this.getOptions is not a function 这个是在运行项目是遇到的问题 这个报错是类型错误,this.getOptions 不是一个函数 。这个错误一般就是less-loader库里的错误。 主要是less-loader版本太高,不兼容this.getOptions…...

使用 kube-downscaler 降低Kubernetes集群成本
新钛云服已累计为您分享772篇技术干货 介绍 Kube-downscaler 是一款开源工具,允许用户定义 Kubernetes 中 pod 资源自动缩减的时间。这有助于通过减少非高峰时段的资源使用量来降低基础设施成本。 在本文中,我们将详细介绍 kube-downscaler 的功能、安装…...
LeetCode热题100——哈希表
哈希表 1.两数之和2.字母异位词分组3.最长连续序列 1.两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。可以按任意顺序返回答案。 // 题解思路:使用哈…...
Kubeadm
目录 绪论:实验步骤 1、环境准备 2、所有节点安装docker 3、所有节点安装kubeadm,kubelet和kubectl 4、部署K8S集群 5、部署 Dashboard 6、安装Harbor私有仓库 master(2C/4G,cpu核心数要求大于2) 192.168.…...

【Overload游戏引擎细节分析】PBR材质Shader---完结篇
PBR基于物理的渲染可以实现更加真实的效果,其Shader值得分析一下。但PBR需要较多的基础知识,不适合不会OpenGL的朋友。 一、PBR理论 PBR指基于物理的渲染,其理论较多,需要的基础知识也较多,我在这就不再写一遍了&…...

C++设计模式_18_State 状态模式
State和Memento被归为“状态变化”模式。 文章目录 1. “状态变化”模式1.1 典型模式 2. 动机 (Motivation)3. 代码演示State 状态模式3.1 常规方式3.2 State 状态模式 4. 模式定义5. 结构( Structure )6. 要点总结7. 其他参考 1. “状态变化”模式 在组件构建过程中…...

详解final, abstract, interface关键字
一.final关键字 1.final关键字介绍 ——final关键字可以去修饰类、方法、属性和局部变量 2.final关键字的作用 1)final修饰类,这个类不能被其他类继承 2)final修饰方法,方法不能被重写 3)final修饰属性,属…...
统计特殊四元组
题记: 给你一个 下标从 0 开始 的整数数组 nums ,返回满足下述条件的 不同 四元组 (a, b, c, d) 的 数目 : nums[a] nums[b] nums[c] nums[d] ,且a < b < c < d 示例 1: 输入: nums [1,2,3…...

腾讯云轻量应用服务器“镜像”怎么选择合适?
腾讯云轻量应用服务器镜像怎么选择?如果是用来搭建网站可以选择宝塔Linux面板腾讯云专享版,镜像系统根据实际使用来选择,腾讯云百科txybk.com来详细说下腾讯云轻量应用服务器镜像的选择方法: 腾讯云轻量应用服务器镜像选择 轻量…...
Ruby模块和程序组织
和类一样,模块是一组方法和常量的集合。 和类不同,模块没有实例,取而代之的是可以将特殊模块的功能添加到一个类或者指定对象之中。 Class类是Module类的一个子类,因此每一个类对象也是一个模块对象 一、模块创建和基础应用 编写…...
14、SpringCloud -- WebSocket 实时通知用户
目录 实时通知用户需求:代码:前端:后端:WebSocket创建 websocket-server 服务添加依赖:配置 yml 和 启动类:前端:后端代码:注意:测试:总结:实时通知用户 需求: 用户订单秒杀成功之后,对用户进行秒杀成功通知。 弹出个提示框来提示。 代码: 前端:...

智能井盖传感器推荐,万宾科技助力城市信息化建设
随着科技产品更新换代进程加快,人工智能在人们日常生活之中逐渐普及开来,深入人们生活的方方面面,影响城市基础设施建设工程。例如在大街小巷之中的井盖作为城市基础建设的一个重要部分,一旦出现松动倾斜或凸起等异常问题…...

3D模型格式转换工具HOOPS Exchange对工业级3D产品HOOPS的支持与应用
一、概述 HOOPS Exchange是一套高性能模型转换软件库,可以给软件提供强大的模型的导入和导出功能,我们可以将其单独作为转换工具使用,也可以将其集成到自己的软件中。 同样,HOOPS 的其它产品,也离不开HOOPS Exchange…...

table 表体滚动, 表头、表尾固定
在开发报表中,如果报表数据行过多页面无法全部显示,或者内容溢出div,需要把表头和表尾固定表体滚动这样就可以在页面上全部显示,并且不会溢出div 效果:最终实现效果 代码:<!DOCTYPE html> <html&g…...

第57篇-某钩招聘网站加密参数分析【2023-10-31】
声明:该专栏涉及的所有案例均为学习使用,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!如有侵权,请私信联系本人删帖! 文章目录 一、前言二、网站分析1.X-S-HEADER参数2.请求参数data3.响应机密值data一、前言 网址: aHR0cHM6Ly93d3cubGFnb3UuY29t…...

C语言数据结构之数据结构入门
目录 数据结构介绍 数据结构发展史 何为算法 数据结构基础 基本概念和术语 四大逻辑结构(Logic Structure) 数据类型 理解复杂度概念 时间空间复杂度定义 度量时间复杂度的方法 程序运行时的内存与地址 编程预备 数据结构介绍 数据结构发展…...

如何知道服务器的某个端口是否打开
1、telnet 命令:telnet ip port,port即端口,我们一般最常见的命令就是telnet,但是telnet使用的是tcp协议,换句话说telnet只能检测tcp的这个端口打开了没 若是端口打开,会出现下列信息 失败的是这个 如…...

【ICCV‘23】One-shot Implicit Animatable Avatars with Model-based Priors
文章目录 前置知识 前置知识 1)SMPL模型 \quad SMPL这类方法只建模穿很少衣服的人体(裸体模型),它只能刻画裸体角色的动画,并不能刻画穿衣服的人体的动画 2)data-efficient \quad 这个词推荐用ÿ…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...

通过Wrangler CLI在worker中创建数据库和表
官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...
leetcodeSQL解题:3564. 季节性销售分析
leetcodeSQL解题:3564. 季节性销售分析 题目: 表:sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

USB Over IP专用硬件的5个特点
USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中,从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备(如专用硬件设备),从而消除了直接物理连接的需要。USB over IP的…...

数学建模-滑翔伞伞翼面积的设计,运动状态计算和优化 !
我们考虑滑翔伞的伞翼面积设计问题以及运动状态描述。滑翔伞的性能主要取决于伞翼面积、气动特性以及飞行员的重量。我们的目标是建立数学模型来描述滑翔伞的运动状态,并优化伞翼面积的设计。 一、问题分析 滑翔伞在飞行过程中受到重力、升力和阻力的作用。升力和阻力与伞翼面…...

FFmpeg avformat_open_input函数分析
函数内部的总体流程如下: avformat_open_input 精简后的代码如下: int avformat_open_input(AVFormatContext **ps, const char *filename,ff_const59 AVInputFormat *fmt, AVDictionary **options) {AVFormatContext *s *ps;int i, ret 0;AVDictio…...

如何把工业通信协议转换成http websocket
1.现状 工业通信协议多数工作在边缘设备上,比如:PLC、IOT盒子等。上层业务系统需要根据不同的工业协议做对应开发,当设备上用的是modbus从站时,采集设备数据需要开发modbus主站;当设备上用的是西门子PN协议时…...

SQL注入篇-sqlmap的配置和使用
在之前的皮卡丘靶场第五期SQL注入的内容中我们谈到了sqlmap,但是由于很多朋友看不了解命令行格式,所以是纯手动获取数据库信息的 接下来我们就用sqlmap来进行皮卡丘靶场的sql注入学习,链接:https://wwhc.lanzoue.com/ifJY32ybh6vc…...

Ray框架:分布式AI训练与调参实践
Ray框架:分布式AI训练与调参实践 系统化学习人工智能网站(收藏):https://www.captainbed.cn/flu 文章目录 Ray框架:分布式AI训练与调参实践摘要引言框架架构解析1. 核心组件设计2. 关键技术实现2.1 动态资源调度2.2 …...