电路综合原理与实践---单双端口理想微带线(伪)手算S参数与时域波形

本文主要是介绍电路综合原理与实践---单双端口理想微带线(伪)手算S参数与时域波形,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

电路综合原理与实践—单双端口理想微带线(伪)手算S参数与时域波形与时域波形

1、单理想微带线(UE)的S参数理论推导

参考:Design of Ultra Wideband Power Transfer Networks的第四章,之后总结推导过程

2、推导模型

在此举一个简单的示例,其中源阻抗为30欧姆,微带线阻抗为10欧姆,负载阻抗为50欧姆:
在这里插入图片描述

3、频域散射参数推导计算公式

所有用到的公式都在Design of Ultra Wideband Power Transfer Networks的第四章中有完整的推导:

clear
close all
%微带线电长度
ele_l=45;
%微带线电长度所在的频率
f=1e9;
%源阻抗
R1=30;
%负载阻抗
R2=50;
%微带线特性阻抗
Z0=10;
%求解频率范围,单位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);C1=Z0*(R1+R2);
D1=Z0*Z0+R1*R2;
S11=(Z0*(R2-R1)+(Z0*Z0-R1*R2)*lamda)./(C1+D1*lamda);
S21=sqrt(R1)/sqrt(R2)*Z0*(R2+Z0)*(1+(R2-Z0)/(R2+Z0))*sqrt(1-lamda.*lamda)./(C1+D1*lamda);figure
plot(freq_solve/1e9,20*log10(abs(S11)))
xlabel('Frequency(GHz)')
ylabel('dB(S11)')
title('S11')figure
plot(freq_solve/1e9,20*log10(abs(S21)))
xlabel('Frequency(GHz)')
ylabel('dB(S21)')
title('S21')

Matlab的理论运行结果如下所示:
在这里插入图片描述
ADS仿真的对比结果如下所示,可见完全一致:
在这里插入图片描述

4、时域波形推导计算公式

推导所使用的ADS模型,其中输入的正弦波激励的峰峰值为10V,V1和I1为输入电压电流,V2和I2为输出电压电流:
在这里插入图片描述
对应的理论模型如下所示:
在这里插入图片描述
所有用到的公式都在Design of Ultra Wideband Power Transfer Networks的第四章中有完整的推导:

clear
close all
clc
%微带线电长度
ele_l=45;
%微带线电长度所在的频率
f=1e9;
%源阻抗
R1=30;
%负载阻抗
R2=50;
%微带线特性阻抗
Z0=10;
%求解频率范围,单位GHz
f_start=1;
f_stop=1;
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);C1=Z0*(R1+R2);
D1=Z0*Z0+R1*R2;
S11=(Z0*(R2-R1)+(Z0*Z0-R1*R2)*lamda)./(C1+D1*lamda);
S21=sqrt(R1)/sqrt(R2)*Z0*(R2+Z0)*(1+(R2-Z0)/(R2+Z0))*sqrt(1-lamda.*lamda)./(C1+D1*lamda);%激励信号幅度
VG=10;
%入射波A和反射波B
A=VG/2*Z0*(R2+Z0)*sqrt(1-lamda.*lamda)./(C1+D1*lamda);
B=VG/2*Z0*(R2-Z0)*sqrt(1-lamda.*lamda)./(C1+D1*lamda);
%计算1端口的电压电流
I1=VG*(Z0+R2*lamda)./(C1+D1*lamda);
V1=VG*(Z0*R2+Z0*Z0*lamda)./(C1+D1*lamda);
a1=VG/sqrt(R1);
b1=VG/sqrt(R1)*(Z0*(R2-R1)+(Z0*Z0-R1*R2)*lamda)./(C1+D1*lamda);
%计算2端口的电压电流
b2=VG/sqrt(R2)*Z0*(R2+Z0)*(1+(R2-Z0)/(R2+Z0))*sqrt(1-lamda.*lamda)./(C1+D1*lamda);
V2=b2/2*sqrt(R2);
I2=-V2/R2;
a2=V2/sqrt(R2)+sqrt(R2)*I2;disp(['端口1电压幅值为',num2str(abs(V1)),',端口1电压相位为',num2str(phase(V1)),',与激励信号相比相差',num2str(1e9*(phase(V1)/(2*pi)*1/freq_solve)),'ns'])
disp(['端口1电流幅值为',num2str(abs(I1)),',端口1电流相位为',num2str(phase(I1)),',与激励信号相比相差',num2str(1e9*(phase(I1)/(2*pi)*1/freq_solve)),'ns'])disp(['端口2电压幅值为',num2str(abs(V2)),',端口1电压相位为',num2str(phase(V2)),',与激励信号相比相差',num2str(1e9*(phase(V2)/(2*pi)*1/freq_solve)),'ns'])
disp(['端口2电流幅值为',num2str(abs(I2)),',端口1电流相位为',num2str(phase(I2)),',与激励信号相比相差',num2str(1e9*(phase(V2)/(2*pi)*1/freq_solve)),'ns'])

运行结果如下所示(都是和输入电压的相位作为比较):
在这里插入图片描述
对比一下ADS仿真结果(值得注意的是,此处Matlab求解得到的只是稳态解,然而ADS仿真得到的1ns内电路还没有进入到稳态,或许可以理解为电磁波还没有传输到终端或者入射波和反射波还没有叠加上,但是我还没有研究这种时域分析是如何进行的):
在这里插入图片描述
在这里插入图片描述

这篇关于电路综合原理与实践---单双端口理想微带线(伪)手算S参数与时域波形的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

mac安装nvm(node.js)多版本管理实践步骤

《mac安装nvm(node.js)多版本管理实践步骤》:本文主要介绍mac安装nvm(node.js)多版本管理的相关资料,NVM是一个用于管理多个Node.js版本的命令行工具,它允许开发者在... 目录NVM功能简介MAC安装实践一、下载nvm二、安装nvm三、安装node.js总结NVM功能简介N

Spring Boot 3 整合 Spring Cloud Gateway实践过程

《SpringBoot3整合SpringCloudGateway实践过程》本文介绍了如何使用SpringCloudAlibaba2023.0.0.0版本构建一个微服务网关,包括统一路由、限... 目录引子为什么需要微服务网关实践1.统一路由2.限流防刷3.登录鉴权小结引子当前微服务架构已成为中大型系统的标

Nginx启动失败:端口80被占用问题的解决方案

《Nginx启动失败:端口80被占用问题的解决方案》在Linux服务器上部署Nginx时,可能会遇到Nginx启动失败的情况,尤其是错误提示bind()to0.0.0.0:80failed,这种问题通... 目录引言问题描述问题分析解决方案1. 检查占用端口 80 的进程使用 netstat 命令使用 ss

Java调用DeepSeek API的最佳实践及详细代码示例

《Java调用DeepSeekAPI的最佳实践及详细代码示例》:本文主要介绍如何使用Java调用DeepSeekAPI,包括获取API密钥、添加HTTP客户端依赖、创建HTTP请求、处理响应、... 目录1. 获取API密钥2. 添加HTTP客户端依赖3. 创建HTTP请求4. 处理响应5. 错误处理6.

golang内存对齐的项目实践

《golang内存对齐的项目实践》本文主要介绍了golang内存对齐的项目实践,内存对齐不仅有助于提高内存访问效率,还确保了与硬件接口的兼容性,是Go语言编程中不可忽视的重要优化手段,下面就来介绍一下... 目录一、结构体中的字段顺序与内存对齐二、内存对齐的原理与规则三、调整结构体字段顺序优化内存对齐四、内

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

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

Windows设置nginx启动端口的方法

《Windows设置nginx启动端口的方法》在服务器配置与开发过程中,nginx作为一款高效的HTTP和反向代理服务器,被广泛应用,而在Windows系统中,合理设置nginx的启动端口,是确保其正... 目录一、为什么要设置 nginx 启动端口二、设置步骤三、常见问题及解决一、为什么要设置 nginx

C++实现封装的顺序表的操作与实践

《C++实现封装的顺序表的操作与实践》在程序设计中,顺序表是一种常见的线性数据结构,通常用于存储具有固定顺序的元素,与链表不同,顺序表中的元素是连续存储的,因此访问速度较快,但插入和删除操作的效率可能... 目录一、顺序表的基本概念二、顺序表类的设计1. 顺序表类的成员变量2. 构造函数和析构函数三、顺序表

python实现简易SSL的项目实践

《python实现简易SSL的项目实践》本文主要介绍了python实现简易SSL的项目实践,包括CA.py、server.py和client.py三个模块,文中通过示例代码介绍的非常详细,对大家的学习... 目录运行环境运行前准备程序实现与流程说明运行截图代码CA.pyclient.pyserver.py参

使用C++实现单链表的操作与实践

《使用C++实现单链表的操作与实践》在程序设计中,链表是一种常见的数据结构,特别是在动态数据管理、频繁插入和删除元素的场景中,链表相比于数组,具有更高的灵活性和高效性,尤其是在需要频繁修改数据结构的应... 目录一、单链表的基本概念二、单链表类的设计1. 节点的定义2. 链表的类定义三、单链表的操作实现四、