9、电路综合-基于简化实频的任意幅频响应的微带电路设计

news2024/11/24 4:31:47

9、电路综合-基于简化实频的任意幅频响应的微带电路设计

网络综合和简化实频理论学习概述中的1-8介绍了SRFT的一些基本概念和实验方法,终于走到了SRFT的究极用途,给定任意响应直接综合出微带电路。

1、任意幅频响应的微带电路设计用途

我们演示了采用相应传输线的经典微波滤波器的设计过程。设计方法的第一步是选择合适的传递函数。显然,传递函数的形式必须反映设计要求。对于许多实际情况,使用通过巴特沃斯或切比雪夫多项式构造的现成低通类型原型函数可能就足够了。

然而,对于某些应用,换能器功率增益(TPG)的期望形状可以由所考虑的问题以任意方式决定。例如,可以利用补偿信道失真的无损滤波器来均衡通信信道的增益失真。
在这里插入图片描述
当然,这种设计方法也可以用于匹配电路的设计分析(根据匹配目标之间生成对应的微带线电路)。

2、之前的一些回顾与总结

之前也给出了一些电路综合的案例,但是这些案例必须基于解析函数形式的S参数,在更为一般的情况下我们难以基于此去完成设计,我们往往需要基于要设计电路的幅频响应和相频响应去设计实际的电路:

5、电路综合-超酷-基于S11参数直接综合出微带线电路图
基于给定的S11参数的表达式综合出其对应的微带电路图,注意此处的S11参数表达式需要是解析形式(即要是函数表达式的形式)

6、电路综合-基于简化实频的SRFT微带线切比雪夫低通滤波器设计
基于切比雪夫函数进行电路综合,基于目标参数直接进行电路综合得到其对应的微带电路,给出了对应的理论与操作步骤(附Matlab代码)

7、电路综合-基于简化实频的SRFT微带线巴特沃兹低通滤波器设计
基于巴特沃斯函数进行电路综合,基于目标参数直接进行电路综合得到其对应的微带电路,给出了对应的理论与操作步骤(附Matlab代码)

8、电路综合-基于简化实频的SRFT微带线的带通滤波器设计
基于巴特沃斯与切比雪夫函数进行电路综合,基于目标参数直接进行电路综合得到其对应的带通的微带电路,给出了对应的理论与操作步骤(附Matlab代码)

3、任意幅频响应的微带电路设计步骤

假设我需要设计一个具备如下幅频特性的微带线电路,频率f1为0GHz,在此频率的S21的模值为1;频率f2为1GHz,在此频率的S21的模值为0,并在1-3GHz内都要求S21的模值为0(此特性用于确定微带线的电长度)。

在这里插入图片描述


STEP1:设计目标具体现化,将要设计的目标转化为数组的形式,数组覆盖的频率范围为0-3GHz,此处使用长度为58的数组对此目标进行存储,值得注意的是,此数组越大优化的速度也会越慢:
在这里插入图片描述

在这里插入图片描述


STEP2:确定实现此结构所需的电路结构,其主要需要确定的是实现此幅频响应的阶数n,通过前面几个教程的学习,我们知道基于电路的结构可以直接确定F(lamda),只需要确定H(lamda)的系数就可以进行电路综合了。

意思就是,我们需要得到符合如上幅频响应的H(lamda)的系数,就可以使用SRFT进行电路综合了,这一步需要使用最优化算法来进行系数的求解。定义的误差函数如下(简单来说就是实际值减去目标值,最优化的目标是使最终误差极小为0):
在这里插入图片描述
在MATLAB中,可以使用lsqnonlin完成此优化过程,其使用教程如非线性最小二乘求解器


STEP3:在一定次数的迭代求解后,可以得到其对应的一组解,此解就是h的系数,由此进行电路综合。具体综合过程可以参考之前的教程。

4、Matlab编程实现

clear
clc

% 使用1GHZ的微带线,最高控制到3GHz
f=1;
fe=3;
we=2*pi*fe;
tau=pi/2/we;
ele_l=360*tau*f;
%使用6个级联微带线进行设计
k=6;
%在DC处无零点
q=0;
%初始化H的系数
h=[1 1 1 1 1 1 1];


disp(['此处使用在',num2str(f/1e9),'GHz下电长度为',num2str(ele_l),'°的微带线进行实现']);


%0-3GHz的点数
Nopt=57;
fr_opt=linspace(0,3,Nopt+1);
% 定义S21参数的模值
mag=[1,0.952631578947368,0.905263157894737,0.857894736842105,0.810526315789474,0.763157894736842,0.715789473684211...
    ,0.668421052631579,0.621052631578947,0.573684210526316,0.526315789473684,0.478947368421053,0.431578947368421...
    ,0.384210526315789,0.336842105263158,0.289473684210526,0.242105263157895,0.194736842105263,0.147368421052631...
    ,0.100000000000000,0.0100000000000000,0.0100000000000000,0.0100000000000000,0.0100000000000000,0.0100000000000000...
    ,0.0100000000000000,0.0100000000000000,0.0100000000000000,0.0100000000000000,0.0100000000000000,0.0100000000000000...
    ,0.0100000000000000,0.0100000000000000,0.0100000000000000,0.0100000000000000,0.0100000000000000,0.0100000000000000...
    ,0.0100000000000000,0.0100000000000000,0.0100000000000000,0.0100000000000000,0.0100000000000000,0.0100000000000000...
    ,0.0100000000000000,0.0100000000000000,0.0100000000000000,0.0100000000000000,0.0100000000000000,0.0100000000000000...
    ,0.0100000000000000,0.0100000000000000,0.0100000000000000,0.0100000000000000,0.0100000000000000,0.0100000000000000...
    ,0.0100000000000000,0.0100000000000000,0.0100000000000000];
% 定义相位,此处只设计幅值,相位随意了
phase=linspace(0,0,Nopt+1);
% 画出目标电路的幅度
figure (1)
plot(fr_opt,mag)
xlabel('Frequency')
ylabel('MAG-S21')
title('要设计的微带线的目标S21参数')


% 运行优化算法
n1=length(h);
n=n1-1;
h(n+1)=0;
for i=1:n
    x0(i)=h(i);
end
% Call optimization with no transformer
OPTIONS=optimset('MaxFunEvals',20000,'MaxIter',50000);
x=lsqnonlin('objective',x0,[],[],OPTIONS,fe,q,k,fr_opt,mag, phase);
h(n+1)=0;
for i=1:n
    h(i)=x(i);
end

% 基于优化得到的h计算其他参数
[G,H,F,g]=SRFT_htoG(h,q,k);
tau=1/4/fe;
N=length(mag);
j=sqrt(-1);

% 将得到的解析形式画图
for i=1:N
    teta=2*pi*tau*fr_opt(i);
    omega=tan(teta);
    lmbda=j*tan(teta);
    fval=(-1)^q*(lmbda)^q*(1-lmbda^2)^(k/2);
    freal=real(fval);
    fimag=imag(fval);
    gval=polyval(g,lmbda);
    greal=real(gval);
    gimag=imag(gval);
    S21=fval/gval;
    MS21(i)=abs(S21);
    phase_f=atan(fimag/freal);
    phase_g=atan(gimag/greal);
    phase_S21(i)=phase_f-phase_g;
    ph(i)=teta;
    fr(i)=fr_opt(i);
end
figure(2)
plot(fr,MS21, fr_opt,mag)
xlabel('Frequency')
ylabel('MS21, modula')
title('Arbitraray amplitude approximation via SRFT')
%------------------------------------
% 综合得到所需的微带电路
[Z_imp]=UE_sentez(h,g)

运行结果,图中是理想与实际的对比:
在这里插入图片描述

5、ADS验证

电路图构建:
在这里插入图片描述
仿真结果如下,可见和设计目标基本一致:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1147687.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Flask基本教程以及Jinjia2模板引擎简介

flask基本使用 直接看代码吧,非常容易上手: # 创建flask应用 app Flask(__name__)# 路由 app.route("/index", methods[GET]) def index():return "FLASK:欢迎访问主页!"if __name__ "__main__"…

【多线程面试题九】、说一说sleep()和wait()的区别

文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。 面试官:说一说sleep()和wait()的…

如何使用 Docker 搭建 Jenkins 环境?从安装到精通

不少兄弟搭 jenkins 环境有问题,有的同学用 window, 有的同学用 mac, 有的同学用 linux。 还有的同学公司用 window, 家里用 mac,搭个环境头发掉了一地。。。 这回我们用 docker 去搭建 jenkins 环境,不管你是用的是什么系统&…

方太描画未来厨房的模样

作者 | 辰纹 来源 | 洞见新研社 不知不觉中,iPhone已经更新到15代了,家里的电视变成了越来越轻薄的液晶屏,过去被称为“老三样”的富康,捷达、桑塔纳,如今也被以特斯拉为代表的新能源智能汽车们所取代…… 类似以上的…

第五章 I/O管理 一、I/O设备的基本概念和分类

目录 一、什么是I/O设备 1、定义: 2、按特性分类: 3、按传输速率分类: 4、按信息交换的方式分类: 二、总结 一、什么是I/O设备 1、定义: I/O设备就是可以将数据输入到计算机,或者可以接收计算机输出…

<C++> vector模拟实现

目录 前言 一、定义命名空间 二、构造函数 三、拷贝构造 四、赋值运算符重载 五、push_back && reserve 六、深拷贝问题 七、iterator 迭代器 1. 可读可写 2. 只读 八、operator[ ] 1. 可读可写 2. 只读 九、insert 问题:内部迭代器失效 十、erase 十一、re…

【网络安全】Seeker内网穿透追踪定位

Seeker追踪定位对方精确位置 前言一、kali安装二、seeker定位1、ngrok平台注册2、获取一次性邮箱地址3、ngrok平台登录4、ngrok下载5、ngrok令牌授权6、seeker下载7、运行seeker定位8、运行隧道开启监听9、伪装链接10、用户点击(获取定位成功)11、利用经…

(速进)完美解决“用户在命令行上发出了 EULAS_AGREED=1,表示不接受许可协议。”以及“此产品安装程序不支持降级”

安装VMware时候,出现以下两种情况的原因是:未彻底卸载(之前安装过VMware),例如:还有相关配置信息、注册表信息等。只要彻底清理就可以解决此问题。 网上很多帖子使用了powershell里的命令 例如&#xff1…

Linux病毒疯狂增长,我们该如何…

导读国家信息中心日前与瑞星联合发布的《2017年上半年中国网络安全报告》(以下简称《报告》)指出,目前Linux系统病毒已快速增长。《报告》对2017年1至6月的网络安全现状与趋势进行统计、研究和分析后指出,Linux系统的勒索软件数量…

帆软finereport10.0 多个筛选框根据不同条件必须选一个才能查询

效果: 方法一: 方法二: 方法一:在查询里写上一段js,此方法会把端口和IP暴露出来,方法二比较完美。 var diff this.options.form.getWidgetByName("diff").getValue();//正反向 var fllh …

【多线程面试题 八】、说一说Java同步机制中的wait和notify

文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。 面试官:说一说Java同步机制中的…

Day 12 python学习笔记

模块 内置模块 sys模块 概述:Python 的 sys 模块提供访问解释器使用或维护的变量,和与解释器进行交互的函数。通俗来讲,sys 模块为程序与 Python 解释器的交互,提供了一系列的函数和变量,用于操控 Python 运行时的环境…

多输入多输出 | Matlab实现k-means-ELM(k均值聚类结合极限学习机)多输入多输出组合预测

多输入多输出 | Matlab实现k-means-ELM(k均值聚类结合极限学习机)多输入多输出组合预测 目录 多输入多输出 | Matlab实现k-means-ELM(k均值聚类结合极限学习机)多输入多输出组合预测预测效果基本描述程序设计参考资料 预测效果 基…

lazarus开发:提升sqlite数据插入速度

目录 1 前言 2 优化数据容器 3 开启事务插入数据 4 其他方面优化 1 前言 近期有一个需求是向数据库中插入excel文件中的10万多条数据,接近70个字段。最初整个插入数据时间是大约40分钟,经过优化调整后,大幅优化为大约5分钟。这里简单介绍…

CV计算机视觉每日开源代码Paper with code速览-2023.10.27

精华置顶 墙裂推荐!小白如何1个月系统学习CV核心知识:链接 点击CV计算机视觉,关注更多CV干货 论文已打包,点击进入—>下载界面 点击加入—>CV计算机视觉交流群 1.【基础网络架构:Transformer】(Ne…

Jetpack:020-Jetpack导航示例:底部导航栏

文章目录 1. 概念介绍2. 使用方法3. 代码与分析3.1 示例代码3.2 代码分析 4. 内容总结 我们在上一章回中介绍了Jetpack中导航相关的内容,本章回中主要介绍 导航的综合示例:底部导航栏。闲话休提,让我们一起Talk Android Jetpack吧&#xff0…

2-多媒体数据压缩国际标准-Part3

文章目录 视频压缩的国际标准MPEG-1&MPEG-2/H.262视频标准MPEG-4 AVC/H.264视频标准H.264编码框架概述H.264视频编码的技术创新点 H.265/HEVC视频标准HEVC性能与编解码框架概述Quadtree-based coding structureDeblocking & SAO FilterHEVC各模块运算量 视频压缩的国际…

leetcode-哈希表

1. 理论 从哈希表的概念、哈希碰撞、哈希表的三种实现方式进行学习 哈希表:用来快速判断一个元素是否出现集合里。也就是查值就能快速判断,O(1)复杂度; 哈希碰撞:拉链法,线性探测法等。只是一种…

leetcode 1353. 最多可以参加的会议数目

给你一个数组 events&#xff0c;其中 events[i] [startDayi, endDayi] &#xff0c;表示会议 i 开始于 startDayi &#xff0c;结束于 endDayi 。 你可以在满足 startDayi < d < endDayi 中的任意一天 d 参加会议 i 。注意&#xff0c;一天只能参加一个会议。 请你返回…

面试测试工程师一般问什么问题?

面试和项目一起&#xff0c;是自学路上的两大拦路虎。面试测试工程师一般会被问什么问题&#xff0c;总结下来一般是下面这4类&#xff1a; 1.做好自我介绍 2.项目相关问题 3.技术相关问题 4.人事相关问题 接下来&#xff0c;主要从以上四个方向分别展开介绍。为了让大家更有获…