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

相关文章

mybatis直接执行完整sql及踩坑解决

《mybatis直接执行完整sql及踩坑解决》MyBatis可通过select标签执行动态SQL,DQL用ListLinkedHashMap接收结果,DML用int处理,注意防御SQL注入,优先使用#... 目录myBATiFBNZQs直接执行完整sql及踩坑select语句采用count、insert、u

C#中通过Response.Headers设置自定义参数的代码示例

《C#中通过Response.Headers设置自定义参数的代码示例》:本文主要介绍C#中通过Response.Headers设置自定义响应头的方法,涵盖基础添加、安全校验、生产实践及调试技巧,强... 目录一、基础设置方法1. 直接添加自定义头2. 批量设置模式二、高级配置技巧1. 安全校验机制2. 类型

SpringBoot 获取请求参数的常用注解及用法

《SpringBoot获取请求参数的常用注解及用法》SpringBoot通过@RequestParam、@PathVariable等注解支持从HTTP请求中获取参数,涵盖查询、路径、请求体、头、C... 目录SpringBoot 提供了多种注解来方便地从 HTTP 请求中获取参数以下是主要的注解及其用法:1

HTTP 与 SpringBoot 参数提交与接收协议方式

《HTTP与SpringBoot参数提交与接收协议方式》HTTP参数提交方式包括URL查询、表单、JSON/XML、路径变量、头部、Cookie、GraphQL、WebSocket和SSE,依据... 目录HTTP 协议支持多种参数提交方式,主要取决于请求方法(Method)和内容类型(Content-Ty

python中的显式声明类型参数使用方式

《python中的显式声明类型参数使用方式》文章探讨了Python3.10+版本中类型注解的使用,指出FastAPI官方示例强调显式声明参数类型,通过|操作符替代Union/Optional,可提升代... 目录背景python函数显式声明的类型汇总基本类型集合类型Optional and Union(py

Go语言使用Gin处理路由参数和查询参数

《Go语言使用Gin处理路由参数和查询参数》在WebAPI开发中,处理路由参数(PathParameter)和查询参数(QueryParameter)是非常常见的需求,下面我们就来看看Go语言... 目录一、路由参数 vs 查询参数二、Gin 获取路由参数和查询参数三、示例代码四、运行与测试1. 测试编程路

Python lambda函数(匿名函数)、参数类型与递归全解析

《Pythonlambda函数(匿名函数)、参数类型与递归全解析》本文详解Python中lambda匿名函数、灵活参数类型和递归函数三大进阶特性,分别介绍其定义、应用场景及注意事项,助力编写简洁高效... 目录一、lambda 匿名函数:简洁的单行函数1. lambda 的定义与基本用法2. lambda

Spring Boot spring-boot-maven-plugin 参数配置详解(最新推荐)

《SpringBootspring-boot-maven-plugin参数配置详解(最新推荐)》文章介绍了SpringBootMaven插件的5个核心目标(repackage、run、start... 目录一 spring-boot-maven-plugin 插件的5个Goals二 应用场景1 重新打包应用

Java内存分配与JVM参数详解(推荐)

《Java内存分配与JVM参数详解(推荐)》本文详解JVM内存结构与参数调整,涵盖堆分代、元空间、GC选择及优化策略,帮助开发者提升性能、避免内存泄漏,本文给大家介绍Java内存分配与JVM参数详解,... 目录引言JVM内存结构JVM参数概述堆内存分配年轻代与老年代调整堆内存大小调整年轻代与老年代比例元空

一文详解PostgreSQL复制参数

《一文详解PostgreSQL复制参数》PostgreSQL作为一款功能强大的开源关系型数据库,其复制功能对于构建高可用性系统至关重要,本文给大家详细介绍了PostgreSQL的复制参数,需要的朋友可... 目录一、复制参数基础概念二、核心复制参数深度解析1. max_wal_seChina编程nders:WAL