5、电路综合-超酷-基于S11参数直接综合出微带线电路图

2023-10-25 16:36

本文主要是介绍5、电路综合-超酷-基于S11参数直接综合出微带线电路图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

电路综合-超酷-基于S11参数直接综合出微带线电路图

1、电路综合原理与实践—电抗函数的综合原理
2、电路综合原理与实践—正实函数与策动电阻抗函数
3、电路综合原理与实践—单双端口理想微带线(伪)手算S参数与时域波形

之前已经介绍过如何通过电路的微带线结构求解得到其S参数(3、电路综合原理与实践—单双端口理想微带线(伪)手算S参数与时域波形),下面介绍一种特别酷的东西,从微带线的S11参数得到可以将其实现的结构。

从S11参数直接得到微带线电路图是一种叫简化实频的技术,可以用于匹配电路的设计,例如我需要在1GHz将10欧姆匹配至50欧姆,只需要控制1GHz的S11参数在10欧姆处就行(需要先将S参数转化为Z参数)。

1、理查德域S11参数的表达式

此处的S11的参数表达式为理查德域的,可能和我们平时见到的S11的图像一样的格式不太一致,如:
在这里插入图片描述
那么这个式子究竟代表了什么呢?对于无耗的传输线,其可以表达为如下的形式:
在这里插入图片描述
其中beta为相移常数,l为微带线的实际的长度。在下面的分析中,我使用电长度这种间接的表达方法来示意。例如,在1GHz下的电长度为60°的微带线的实际长度为l=ele_l/360*c/f。其中ele_l为电长度(60,单位度),c为光速,f为该电长度所在的频率(1GHz)。

此外,beta=beta=2* pi *freq_solve/c,其中freq_solve为求解的频率(也就是要求解哪个频率的S参数)。这样,对应一个固定的表达式,其S11参数会随着频率发生变化,此外因为lamda是周期函数,最后得到的S11参数也必定是周期的。

对于上面的S11表达式,使用如下的程序绘制其对应的S11参数(其中微带线使用的是1GHz下60度电长度的微带线,对应的实际长度为0.05m,忽略介电常数等等):

clear
close all
clc
%微带线电长度
ele_l=60;
%微带线电长度所在的频率
f=1e9;
%求解频率范围,单位GHz
f_start=0.01;
f_stop=10;
f_step=0.01;%光速
c=299792458;
%求解范围
freq_solve=[f_start:f_step:f_stop]*1e9;
%计算物理长度,单位m
l=ele_l/360*c/f;
%计算不同频率下的相移常数beta
beta=2*pi*freq_solve/c;
%转换到lamda域
lamda=1j*tan(beta*l);S11=(lamda.^2+19*lamda)./(lamda.^2+21*lamda+8);figure
plot(freq_solve/1e9,20*log10(abs(S11)))
xlabel('Frequency(GHz)')
ylabel('dB(S11)')
title('S11')

得到的图片如下所示:
在这里插入图片描述

2、电路生成 案例1—开路微带线综合

在更加一般的情况,我们是基于第一部分最后一张图的S11参数去设计匹配电路。我们可以利用S11参数去反推表达式。在此给出一个示例(使用第一部分的表达式为案例):

clear
clc
syms lamda
S11=(lamda.^2+19*lamda)./(lamda.^2+21*lamda+8);
Zin=(1+S11)/(1-S11);S11_Z0=S11;
Z0=1;
ind=1;s11_tmp(ind)=subs (S11_Z0,Z0);
for cnt=1:1:2if ind==1Z(ind)=Z0*(1+s11_tmp(ind))/(1-s11_tmp(ind));K(ind)=(Z0-Z(ind))/(Z0+Z(ind));S11_Zi(ind)=(K(ind)+S11_Z0)/(1+K(ind)*S11_Z0);S111_Zi(ind)=simplify(S11_Zi(ind)*(1+lamda)/(1-lamda));ind=ind+1;elseZ(ind)=simplify(Z(ind-1)*(1+S111_Zi(ind-1))/(1-S111_Zi(ind-1)))Z(ind)=subs (Z(ind),Z0);K(ind)=(Z(ind-1)-Z(ind))/(Z(ind-1)+Z(ind));S11_Zi(ind)=(K(ind)+S111_Zi(ind-1))/(1+K(ind)*S111_Zi(ind-1));S111_Zi(ind)=simplify(S11_Zi(ind)*(1+lamda)/(1-lamda));ind=ind+1;end
end
Z

运行结果如下所示:
在这里插入图片描述
表示该阻抗可以使用两个部分组成,第一部分为阻抗为5欧姆的微带线,第二部分为电容和电阻的并联:
在这里插入图片描述
在这里插入图片描述
依据解析结果,构建如下的电路原理图:
在这里插入图片描述
运行仿真,仿真结果与理论分析结果一致:
在这里插入图片描述

3、电路生成 案例2—基于策动点阻抗函数综合多微带电路

要综合的输入阻抗函数如下所示(此处t就是lamda):

%                100*t^3 + 50*t^2 + 300*t + 30
%		Z(t) = -------------------------------	
%                9*t^3 + 170*t^2 + 31*t + 30

绘制其对应的S11参数和Zin参数曲线(假定使用频率1GHz下电长度60度的微带线进行实现),使用如下代码:

clear
close all
clc
%微带线电长度
ele_l=60;
%微带线电长度所在的频率
f=1e9;
%求解频率范围,单位GHz
f_start=0.01;
f_stop=10;
f_step=0.01;%光速
c=299792458;
%求解范围
freq_solve=[f_start:f_step:f_stop]*1e9;
%计算物理长度,单位m
l=ele_l/360*c/f;
%计算不同频率下的相移常数beta
beta=2*pi*freq_solve/c;
%转换到lamda域
lamda=1j*tan(beta*l);Zin=(100*lamda.^3+50*lamda.^2+300*lamda+30)./(9*lamda.^3+170*lamda.^2+31*lamda+30);
S11=(Zin-1)./(Zin+1);figure
plot(freq_solve/1e9,(abs(Zin)))
xlabel('Frequency(GHz)')
ylabel('Zin')
title('Zin')figure
plot(freq_solve/1e9,20*log10(abs(S11)))
xlabel('Frequency(GHz)')
ylabel('dB(S11)')
title('S11')

得到的S11参数和Zin参数结果如下所示:
在这里插入图片描述
使用下面代码进行综合:

clear
clc
syms lamdaZin=(100*lamda.^3+50*lamda.^2+300*lamda+30)./(9*lamda.^3+170*lamda.^2+31*lamda+30);
S11=(Zin-1)./(Zin+1);S11_Z0=S11;
Z0=1;
ind=1;s11_tmp(ind)=subs (S11_Z0,Z0);
for cnt=1:1:4if ind==1Z(ind)=Z0*(1+s11_tmp(ind))/(1-s11_tmp(ind));K(ind)=(Z0-Z(ind))/(Z0+Z(ind));S11_Zi(ind)=(K(ind)+S11_Z0)/(1+K(ind)*S11_Z0);S111_Zi(ind)=simplify(S11_Zi(ind)*(1+lamda)/(1-lamda));ind=ind+1;elseZ(ind)=simplify(Z(ind-1)*(1+S111_Zi(ind-1))/(1-S111_Zi(ind-1)))Z(ind)=subs (Z(ind),Z0);K(ind)=(Z(ind-1)-Z(ind))/(Z(ind-1)+Z(ind));S11_Zi(ind)=(K(ind)+S111_Zi(ind-1))/(1+K(ind)*S111_Zi(ind-1));S111_Zi(ind)=simplify(S11_Zi(ind)*(1+lamda)/(1-lamda));ind=ind+1;end
end
Z

运行结果如下:

在这里插入图片描述
构建ADS仿真验证:
在这里插入图片描述
结果一致:

在这里插入图片描述

这篇关于5、电路综合-超酷-基于S11参数直接综合出微带线电路图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Java通过反射获取方法参数名的方式小结

《Java通过反射获取方法参数名的方式小结》这篇文章主要为大家详细介绍了Java如何通过反射获取方法参数名的方式,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、前言2、解决方式方式2.1: 添加编译参数配置 -parameters方式2.2: 使用Spring的内部工具类 -

Python调用另一个py文件并传递参数常见的方法及其应用场景

《Python调用另一个py文件并传递参数常见的方法及其应用场景》:本文主要介绍在Python中调用另一个py文件并传递参数的几种常见方法,包括使用import语句、exec函数、subproce... 目录前言1. 使用import语句1.1 基本用法1.2 导入特定函数1.3 处理文件路径2. 使用ex

MySQL中时区参数time_zone解读

《MySQL中时区参数time_zone解读》MySQL时区参数time_zone用于控制系统函数和字段的DEFAULTCURRENT_TIMESTAMP属性,修改时区可能会影响timestamp类型... 目录前言1.时区参数影响2.如何设置3.字段类型选择总结前言mysql 时区参数 time_zon

Python如何使用seleniumwire接管Chrome查看控制台中参数

《Python如何使用seleniumwire接管Chrome查看控制台中参数》文章介绍了如何使用Python的seleniumwire库来接管Chrome浏览器,并通过控制台查看接口参数,本文给大家... 1、cmd打开控制台,启动谷歌并制定端口号,找不到文件的加环境变量chrome.exe --rem

Linux中Curl参数详解实践应用

《Linux中Curl参数详解实践应用》在现代网络开发和运维工作中,curl命令是一个不可或缺的工具,它是一个利用URL语法在命令行下工作的文件传输工具,支持多种协议,如HTTP、HTTPS、FTP等... 目录引言一、基础请求参数1. -X 或 --request2. -d 或 --data3. -H 或

详解Spring Boot接收参数的19种方式

《详解SpringBoot接收参数的19种方式》SpringBoot提供了多种注解来接收不同类型的参数,本文给大家介绍SpringBoot接收参数的19种方式,感兴趣的朋友跟随小编一起看看吧... 目录SpringBoot接受参数相关@PathVariable注解@RequestHeader注解@Reque

Java向kettle8.0传递参数的方式总结

《Java向kettle8.0传递参数的方式总结》介绍了如何在Kettle中传递参数到转换和作业中,包括设置全局properties、使用TransMeta和JobMeta的parameterValu... 目录1.传递参数到转换中2.传递参数到作业中总结1.传递参数到转换中1.1. 通过设置Trans的

java如何调用kettle设置变量和参数

《java如何调用kettle设置变量和参数》文章简要介绍了如何在Java中调用Kettle,并重点讨论了变量和参数的区别,以及在Java代码中如何正确设置和使用这些变量,避免覆盖Kettle中已设置... 目录Java调用kettle设置变量和参数java代码中变量会覆盖kettle里面设置的变量总结ja

spring 参数校验Validation示例详解

《spring参数校验Validation示例详解》Spring提供了Validation工具类来实现对客户端传来的请求参数的有效校验,本文给大家介绍spring参数校验Validation示例详... 目录前言一、Validation常见的校验注解二、Validation的简单应用三、分组校验四、自定义校

SpringBoot中Get请求和POST请求接收参数示例详解

《SpringBoot中Get请求和POST请求接收参数示例详解》文章详细介绍了SpringBoot中Get请求和POST请求的参数接收方式,包括方法形参接收参数、实体类接收参数、HttpServle... 目录1、Get请求1.1 方法形参接收参数 这种方式一般适用参数比较少的情况,并且前后端参数名称必须