电路综合-基于简化实频的SRFT集总参数切比雪夫低通滤波器设计
电路综合-基于简化实频的SRFT集总参数切比雪夫低通滤波器设计
6、电路综合-基于简化实频的SRFT微带线切比雪夫低通滤波器设计中介绍了使用微带线进行切比雪夫滤波器的设计方法,在此对集总参数的切比雪夫响应进行分析。
SRFT集总参数切比雪夫低通滤波器综合不再需要查表,直接从底层原理进行设计。
0、基本理论
参考-Design of Ultra Wideband Power Transfer Networks第十章的推导过程
n 次切比雪夫多项式定义为:

n在1到5时的切比雪夫多项式表:

此表可以使用下面的代码计算得出:
clear
clc
syms x
%定义切比雪夫阶数
n=1;
for n=1:1:9
T=(simplify(cos(n*acos(x))));
disp('----------------------------------------------------')
disp([num2str(n),'th Chebyshev polynomials is:']);disp(T);
end
代码的运行结果为:

1、设计步骤
切比雪夫的增益函数如下所示(其中的希腊字符是纹波因子,解释见6、电路综合-基于简化实频的SRFT微带线切比雪夫低通滤波器设计):

增益函数实际上就是S21,由此可以得到其网络对应的S11参数(下面的F11代表的就是S11,p=jw是Laplace因子):

有公式S11=h( p)/g( p),因此只有求得h( p)和g( p)就可以进行策动点阻抗的综合了。h( p)的求解基于H(p)的零点pr:

同理,g( p)的求解基于G(p)的零点pr:

给出一个三阶的切比雪夫的gm的求解案例:
clear
clc
syms w
% p=jw
Gm=1+0.1*(4*(1j*w)^3-3*(1j*w))^2simplify(Gm)
C = double(coeffs(Gm,w,"All"));
% 求Gm的根
roots(C)syms lamda
g=(lamda+0.3320+1j*1.0395)*(lamda+0.3320-1j*1.0395)*(lamda+0.6639);
simplify(g);
% 求gm的系数
gm = double(coeffs(g,lamda,"All"));


求到S11就可以计算出Zin,在此基础上使用梯形结构进行综合,一般的结构如下,其具体结构由h§前面的sign的符号决定,sign=1对应先电感,sign=-1对应先电容:

使用长除法进行综合:

1、综合Matlab代码
主函数的代码,使用次代码不再需要查插入损耗表了
close all
clear
clc% 设定通带波纹db
ILR=0.3;
% 设定切比雪夫滤波器阶数
n=3;
% 设定第一个元器件的类型+1和-1分别为电感和电容
sign=1;
% 设定端口阻抗
z0 = 50; % set not to use normalization
% 设定截止频率
fc = 0.1e9;eps_sq=10^(ILR/10)-1;
eps=sqrt(eps_sq);
beta=asinh(1/eps);
% Step 1: Generates the Explicit roots of Gm(p).
n2=2*n;
i=1;
j=sqrt(-1);
for k=0:(n2-1)x(k+1)=k;sig(k+1)=sin(pi*(2*k+1)/2/n)*sinh(beta/n);%Real{pk}omega(k+1)=cos(pi*(2*k+1)/2/n)*cosh(beta/n);%imag{pk}if(sig(k+1)<0) p(i)=sig(k+1)+j*omega(k+1);%roots of g(p)i=i+1;end
end
% Step 2: Construct gm(p)
gm=real(poly(p));%polynomial g(p)
%Step 3: Computation of hm(p)
for k=0:(n2-1)
x(k+1)=k;omega(k+1)=j*cos(pi*(2*k+1)/2/n);
end
for k=1:nph(k)=omega(k);% Roots of hm(p)
end
hm=real(poly(-ph));%polynomial h(p)
hm=sign*hm;% h(p) with eps*Tn(1)% Step 4: 求解TPG
NUM=gm+hm;
DEN=gm-hm;
syms w real
syms p
Zin=poly2sym(NUM,p)/poly2sym(DEN,p);
Zin=subs(Zin,p,1j*w);
R=real(Zin);X=imag(Zin);
TPG=4*R/((R+1)^2+X^2);w_data=(0.01:0.01:2);
TPG=double(subs(TPG,w,w_data));
plot(w_data*fc/1e6,10*log10(TPG))
title("S21")
ylabel('S21')
xlabel('频率MHz')% Step 4: 基于gm和hm进行综合
f0 = fc*2*pi; % set not to use normalization
repcount = 0; % synthesize all function
spi = 1; % include poles at zero to synthesis
in_node = 1; % define circuit input node
gr_node = 0; % define circuit ground node
tol = 0.01; % relative tolerance;
[CVal,CType,Eleman,node,pay2,payda2]=Synthesis_LongDiv(NUM,DEN,z0,f0,repcount,spi,in_node,gr_node,tol);
Plot_Circuit(CType,CVal);
此处给出的是三阶的设计案例,得到的结果如下所示:

2、ADS进行验证
ADS进行验证:


3、更多案例
当然,也可以设计7阶数的,简单修改一下参数即可:

相关文章:
电路综合-基于简化实频的SRFT集总参数切比雪夫低通滤波器设计
电路综合-基于简化实频的SRFT集总参数切比雪夫低通滤波器设计 6、电路综合-基于简化实频的SRFT微带线切比雪夫低通滤波器设计中介绍了使用微带线进行切比雪夫滤波器的设计方法,在此对集总参数的切比雪夫响应进行分析。 SRFT集总参数切比雪夫低通滤波器综合不再需要…...
Linux系统编程——实现cp指令(应用)
cp指令格式 cp [原文件] [目标文件] cp 1.c 2.c 功能是将原文件1.c复制后并改名成2.c(内容相同,实现拷贝) 这里需要引入main函数的参数解读: 我们在定义函数时许多都带有参数,输入参数后便可进行定义函数内的功能执行,而main…...
20231112_DNS详解
DNS是实现域名与IP地址的映射。 1.映射图2.DNS查找顺序图3.DNS分类和地址4.如何清除缓存 1.映射图 图片来源于http://egonlin.com/。林海峰老师课件 2.DNS查找顺序图 3.DNS分类和地址 4.如何清除缓存...
使用ssh上传数据到阿里云ESC云服务上
在这之前需要安装 ssh2-sftp-client 直接在终端输入:npm i ssh2-sftp-client 直接上代码: const path require(path); const Client require(ssh2-sftp-client);// 配置连接参数 const config {host: your-server-ip, // 云服务器的IP地址port: 22, …...
【408】计算机学科专业基础 - 数据结构
数据结构知识 绪论 数据结构在学什么 如何用程序代码把现实世界的问题信息化 如何用计算机高效地处理这些信息从而创造价值 数据结构的基本概念 什么是数据: 数据是信息的载体,是描述客观事物属性的数、字符及所有能输入到计算机中并被计算机程序…...
SpringSpringBoot自动装配
文章目录 spring自动装配的好处Spring框架提供了三种自动装配的方式:Springboot自动装配Springboot自动装配的原理 spring自动装配的好处 Spring的自动装配(Autoscan or Autowiring)在开发中带来了多方面的好处,使得应用程序更加…...
k8s 部署mqtt —— 筑梦之路
mqtt是干嘛的,网上有很多资料,这里就不再赘述。 --- apiVersion: apps/v1 kind: Deployment metadata:labels:app: mqttname: mqttnamespace: default spec:replicas: 1selector:matchLabels:app: mqttstrategy:rollingUpdate:maxSurge: 25%maxUnavaila…...
模型部署:量化中的Post-Training-Quantization(PTQ)和Quantization-Aware-Training(QAT)
模型部署:量化中的Post-Training-Quantization(PTQ)和Quantization-Aware-Training(QAT) 前言量化Post-Training-Quantization(PTQ)Quantization-Aware-Training(QAT) 参…...
C++模板元模板(异类词典与policy模板)- - - 题目答案
目录 一、书中第一题 二、书中第三题 三、书中第五题 四、书中第六题 五、书中第七题 六、书中十一题 七、书中十二题 八、 书中十三题 总结 一、书中第一题 #include <iostream>template <typename T, size_t N> struct NSVarTypeDict {static void Cre…...
二十三种设计模式全面解析-组合模式与迭代器模式的结合应用:构建灵活可扩展的对象结构
在前文中,我们介绍了组合模式的基本原理和应用,以及它在构建对象结构中的价值和潜力。然而,组合模式的魅力远不止于此。在本文中,我们将继续探索组合模式的进阶应用,并展示它与其他设计模式的结合使用,以构…...
postgresql|数据库|提升查询性能的物化视图解析
前言: 我们一般认为数字的世界是一个虚拟的世界,OK,但我们其实有些需求是和现实世界一模一样的,比如,数据库尤其是关系型数据库,希望在使用的数据库能够更快(查询速度),…...
Unity中Shader雾效的原理
文章目录 前言一、我们先看一下现实中的雾二、雾效的混合公式最终的颜色 lerp(雾效颜色,物体颜色,雾效混合因子) 三、雾效的衰减1、FOG_LINEAR(线性雾衰减)2、FOG_EXP(指数雾衰减1)3、FOG_EXP(指数雾衰减2) 前言 Unity中Shader雾…...
chatgpt辅助论文优化表达
chatgpt辅助论文优化表达 写在最前面最终版什么是好的论文整体上:逻辑/连贯性细节上一些具体的修改例子 一些建议,包括具体的提问范例1. **明确你的需求**2. **提供上下文信息**3. **明确问题类型**4. **测试不同建议**5. **请求详细解释**综合提问范例&…...
Vue3 源码解读系列(二)——初始化应用实例
初始化应用实例 创建 Vue 实例对象 createApp 中做了两件事: 创建 app 对象保存并重写 mount /*** 创建 Vue 实例对象*/ const createApp ((...args) > {// 1、创建 app 对象,延时创建渲染器,优点是当用户只依赖响应式包的时候࿰…...
网络原理-UDP/TCP详解
一. UDP协议 UDP协议端格式 由上图可以看出,一个UDP报文最大长度就是65535. • 16位长度,表示整个数据报(UDP首部UDP数据)的最大长度(注意,这里的16位UDP长度只是一个标识这个数据报长度的字段࿰…...
C#多线程入门概念及技巧
C#多线程入门概念及技巧 一、什么是线程1.1线程的概念1.2为什么要多线程1.3线程池1.4线程安全1.4.1同步机制1.4.2原子操作 1.5线程安全示例1.5.1示例一1.5.2示例二 1.6C#一些自带的方法实现并行1.6.1 Parallel——For、ForEach、Invoke1.6.1 PLINQ——AsParallel、AsSequential…...
c primer plus_chapter_four——字符串和格式化输入/输出
1、strlen();const;字符串;用c预处理指令#define和ANSIC的const修饰符创建符号常量; 2、c语言没有专门储存字符串的变量类型,字符串被储存在char类型的数组中;\0标记字符串的结束&a…...
Python Fastapi+Vue+JWT实现注册、登录、状态续签【登录保持】
文章目录 一、实现流程1.注册2.登录3.登录保持【状态续签】二、实现方法1.注册2.登录+登陆状态保持* 后端部分* 前端部分一、实现流程 1.注册 Created with Raphal 2.3.0...
oracle-sql语句解析类型
语句执行过程:1. 解析(将sql解析成执行计划) 2.执行 3.获取数据(fetch) 1. shared pool的组成。 share pool是一块内存池。 主要分成3块空间。free, library(库缓存,缓存sql以及执行计划),row cache(字典缓存) select * from v…...
2023 年最新企业微信官方会话机器人开发详细教程(更新中)
目标是开发一个简易机器人,能接收消息并作出回复。 获取企业 ID 企业信息页面链接地址:https://work.weixin.qq.com/wework_admin/frame#profile 自建企业微信机器人 配置机器人应用详情 功能配置 接收消息服务器配置 配置消息服务器配置 配置环境变量…...
Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...
MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...
基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...
Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
微信小程序云开发平台MySQL的连接方式
注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...
CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云
目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...
【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...
基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解
JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用,结合SQLite数据库实现联系人管理功能,并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能,同时可以最小化到系统…...
git: early EOF
macOS报错: Initialized empty Git repository in /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/.git/ remote: Enumerating objects: 2691797, done. remote: Counting objects: 100% (1760/1760), done. remote: Compressing objects: 100% (636/636…...
