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

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验证

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python皮卡丘

系列文章 序号文章目录直达链接1浪漫520表白代码https://want595.blog.csdn.net/article/details/1306668812满屏表白代码https://want595.blog.csdn.net/article/details/1297945183跳动的爱心https://want595.blog.csdn.net/article/details/1295031234漂浮爱心https://want…

[C++]命名空间等——喵喵要吃C嘎嘎

希望你开心,希望你健康,希望你幸福,希望你点赞! 最后的最后,关注喵,关注喵,关注喵,大大会看到更多有趣的博客哦!!! 喵喵喵,你对我真的…

Python爬虫实战(六)——使用代理IP批量下载高清小姐姐图片(附上完整源码)

文章目录 一、爬取目标二、实现效果三、准备工作四、代理IP4.1 代理IP是什么?4.2 代理IP的好处?4.3 获取代理IP4.4 Python获取代理IP 五、代理实战5.1 导入模块5.2 设置翻页5.3 获取图片链接5.4 下载图片5.5 调用主函数5.6 完整源码5.7 免费代理不够用怎…

C++ 自引用指针this(整理)

使用例子&#xff1a; #include <iostream> #include <Windows.h> using namespace std; class A { public:A(int x1){x x1;}void disp(){cout<<"this"<<this<<" when x"<<this->x<<endl;} private:int x;…

【工具使用】NPS内网穿透工具介绍

文章目录 前言一、内网穿透二、NPS概述三、NPS原理四、NPS服务器搭建(一)云服务器配置 五、NPS内网穿透演示(一)演示案例一(二)演示案例二 六、NPS内网穿透检测建议(一)流量监控(二)流量协议分析(三)网络行为异常检测 七、NPS内网穿透防范建议(一)阻止或隔离流量(二)更新和强化…

14技术太卷我学APEX-RESTful服务全自动Autorest

Oracle REST 数据服务 (ORDS) 的 AutoREST 功能&#xff0c;该功能允许您将表和视图等自动公开为 RESTful Web 服务。这个太好可不用自己费劲巴拉的定义RESTful数据服务了。 1 先准备测试数据表 登录APEX现在开发平台 [https://apex.oracle.com/pls/apex/r/apex/workspace-si…

Unity UniTask【安装】

窗口→包管理器&#xff0c;输入GitURL&#xff1a;https://github.com/Cysharp/UniTask.git?pathsrc/UniTask/Assets/Plugins/UniTask 如果上述方式不行&#xff0c;那就直接导入UniTask包&#xff0c;下载地址&#xff1a;Unity3D异步神器UniTask2.4.1包资源-CSDN文库

DBA笔记(1)

目录 1、rpm yum 命令的使用&#xff0c;参数的含义 rpm命令&#xff1a; yum命令&#xff1a; 2、上传镜像至虚拟机搭建本地yum源 3、chown chomd 命令每一个参数的含义 chown命令&#xff1a; chmod命令&#xff1a; 4、fdisk partd 硬盘分区命令用法 fdisk命令&am…

Seata入门系列【15】@GlobalLock注解使用场景及源码分析

1 前言 在Seata 中提供了一个全局锁注解GlobalLock&#xff0c;字面意思是全局锁&#xff0c;搜索相关文档&#xff0c;发现资料很少&#xff0c;所以分析下它的应用场景和基本原理&#xff0c;首先看下源码中对该注解的说明&#xff1a; // 声明事务仅在单个本地RM中执行 //…

【错误解决方案】ModuleNotFoundError: No module named ‘ngboost‘

1. 错误提示 在python程序&#xff0c;尝试导入一个名为ngboost的模块&#xff0c;但Python提示找不到这个模块。 错误提示&#xff1a;ModuleNotFoundError: No module named ‘ngboost‘ 2. 解决方案 出现上述问题&#xff0c;可能是因为你还没有安装这个模块&#xff0c;…

探索环幕投影系统在沉浸式展厅设计中的应用优势

伴随着数字化时代的快速发展&#xff0c;以往的静态展示方式已经无法满足人们对内容展览展示的需求&#xff0c;因此需要利用先进的多媒体互动技术&#xff0c;来提升观众的参观体验&#xff0c;而其中环幕投影系统便是用于建设沉浸式空间的主流技术之一&#xff0c;其被应用在…

【Linux】Linux的安装以及常见命令

&#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 接下来看看由辉辉所写的关于Linux的相关操作吧 一.Linux的安装 1.创建虚拟机 2.选择linux 3.配置虚拟机 4.开启虚拟机 默认回车即可 5.安装linux 5.登录账户 6.解决网络问题 ①先查看一下…

宇信科技:强势行业加速融入AIGC,同时做深做细

【科技明说 &#xff5c; 重磅专题】 大家可能没有想到&#xff0c;一向对外低调行事的宇信科技&#xff0c;在AIGC方面2023年就已经训练出了适配金融场景的垂直模型&#xff0c;并应用到了各产品线上&#xff0c;同时结合通用大模型预研了宇信金融系统编程大模型。宇信金融系…

IDEA优雅自动生成类注释和快捷键生成方法注释

生成类注释 Preferences->Editor->File and Code Templates-> Includes ->File Header 注释模板&#xff1a; /*** Classname ${NAME}* Description ${description}* Date ${DATE} ${TIME}* Created by ZouLiPing*/生成方法和字段注释 查看IDEA自动配置java快捷…

Qwt QwtScaleDraw自定义坐标轴

1.概述 QwtScaleDraw 是 Qt 绘图库 Qwt 中的一个类&#xff0c;用于绘制坐标轴刻度线和刻度标签。它提供了一些方法和属性来设置刻度线和标签的样式、布局和对齐方式。 以下是类继承关系&#xff1a; 2.常用方法 标签相关方法&#xff1a; setLabelRotation(double angle)&…

一、【Photoshop如何根据不同类型图像抠图】

文章目录 前言图形结构1、规则图形2、不规则图形 图形颜色1、轮廓清晰2、颜色分明 前言 当我们有抠图需求的时候&#xff0c;不要一开始就想着我怎么去把它抠出来&#xff0c;首先应该分析图形的特点&#xff0c;然后再去选取合适的工具&#xff0c;这样才可以做到事半功倍&am…

UDP数据报套接字编程

1. 什么是网络编程&#xff1f; 网络编程&#xff0c;指网络上的主机&#xff0c;通过不同的进程&#xff0c;以编程的方式实现网络通信&#xff08;或称为网络数据传输&#xff09;。 这里只是在开发学习的时候使用的是&#xff0c;不同的进程来代表不同的主机来模拟网络通信…

python:使用Scikit-image对遥感影像进行傅里叶变换特征提取(fourier)

作者:CSDN @ _养乐多_ 在本博客中,我们将介绍如何使用Scikit-Image来进行傅里叶变换特征提取(fourier),并且提供一个示例代码,演示了如何在单波段遥感图像上应用这些方法。 傅里叶变换特征提取是一种数学工具,用于将图像中的细节、纹理和边缘信息以不同频率的方式呈现…

3.6每日一题(线性方程求通解)

1、判断类型选择方法&#xff1a;发现以y为未知函数&#xff0c;以x为自变量&#xff0c;不符合我们学过的类型 2、此时有两种方法&#xff1a; &#xff08;1&#xff09;x 与 y 对调&#xff0c;此时 x 为未知函数&#xff0c;y 为自变量 &#xff08;2&#xff09;变量代换…