带通滤波器电路分析_第1页
带通滤波器电路分析_第2页
带通滤波器电路分析_第3页
带通滤波器电路分析_第4页
带通滤波器电路分析_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 带通滤波器电路分析与优化带通滤波器电路分析与优化 一 实验目的一 实验目的 1 熟悉利用修正节点法求解电路传递函数的方法 2 理解各种电路优化的方法 并能将其灵活应用于具体电路的优化 3 掌握利用 MATLAB 工具来优化电路的方法 并能够用程序来实现优化方法 以利于 对电路的研究 二 实验要求二 实验要求 分析下面的带通滤波器电路 uin uout 50 3000pF 3000pF 10uH 0 5uH 0 5uH 150pF 50 图 1 高通滤波器电路图 考虑电路的频率响应 out in uf Hf uf 要求优化上面各个元件参数 使得有以下的理想响应 n Hf 理想的 Hn f 3 5MHz 4MHz f 0 5 图 2 理想带通滤波器的幅频响应 设计过程可以看成对下面的代价函数进行优化 求最小值 2 1 K nkidealk k gHfHf 其中是上图给出的理想的频率响应 ideal Hf 可选的优化内容包括 1在元件值没有约束的情况下寻找最优的元件参数 使得归一化后的频率响应满足 上图 2 2假设元件的值限制在下面的范围内 0 110RM 0 0110pFCF 0 01100HLH 如何选择元件 满足设计要求 3假设元件的取值是离散的 即 1 1 1 1 2 1 3 1 5 1 6 1 8 2 0 2 2 2 4 2 7 3 0 3 3 3 6 3 9 4 3 4 7 5 1 5 6 6 2 6 8 7 5 8 2 9 1 此时如何选择元件 满足设计要求 4假设所有元件值有的误差 简单起见 假设元件值在这个范围内均匀分布 5 分析此时代价函数的变化 代价函数成为一个概率分布 5设定一个代价函数变化极限 然后尝试反过来确定允许的元件误差范围 三 实验内容三 实验内容 1 问题分析 首先 利用修正节点法求解该电路的传递函数 其传递函数为 out in uf Hf uf 当输入为 1 时 所得到的输出即为传递函数的值 为了求得与理想带通滤波器的幅频响应 较一致的滤波器 我们设定了如下代价函数 由于带通滤 2 1 K nkidealk k gHfHf 波器在滤波器边缘变化较快 而其他地方变化较慢 我们应当对边缘处进行着重考虑 因 此 我们最终选定如下代价函数 其中为 2 1 w K knkidealk k gfHfHf w k f 频点处的权重 经过基本的筛选和分析 最后采取在之间的权重为 k f 3 5 3 7MhzMhz 15 之间权重为 50 之间权重为 100 其余频率段的 3 8 4MhzMhz3 7 3 8MhzMhz 权重为 1 2 代价函数的求取 首先 要求得该电路传递函数的值 可以有两种方法供选择 第一是通过修改第一次 大作业的读网表文件来求取该值 此方法通用性较好 可以在分析不同的电路时较为方便 的得到结果 第二是直接列出修正节点法方程进行求取 此方法通用性不好 只能针对此 电路 但是对于本次所研究的对象 表达较为简单 实现起来较为容易 综合考虑 我们 选择用第二种方法来求取 在实现时 首先进行数据转换 即电阻转为电导 电容和电感也进行相应的转换 将 转换后的数据保存在 xteg 中 而修正节点法电路表达式中 T 矩阵的元素保存在数组 T 中 通过 p inv T b 求得电路参数的值 为了得到多个频点的值 可用如下方法得到不同频率 的传递函数的值 f start 10000 f step 10000 f end 8000000 for f f start f step f end s 2 pi f j i f 10000 H i abs p 4 abs p 1 其中 H i 为传递函数 代价函数的求取要用到所求得的传递函数和理想幅频响应 根据以上结论 可通过如 下方法实现 for i 1 800 w i 1 3 end for i 1 800 此处为权重的设置 end end for i 1 800 a i w i H i Hteg i 2 end for i 1 800 G G a i end 该程序主要实现了权重的设置 和通过 a i w i H i Hteg i 2 和 G G a i 语句进行 代价函数的求取 完整的代码见附录 fun m 3 在元件值没有约束的情况下寻找最优的元件参数 使得归一化后的频率响应满足要 求 1 方法 此部分的关键在于最优元件参数的求取 使用 MATLAB 自带的优化工具箱 的 fminsearch 函数进行搜索 使用途中所给的参数做初值 通过如下语句进行搜索 options optimset MaxFunEvals 100000 MaxIter 100000 函数参数设定 x fminsearch x fun x x0 options 具体的程序见附录中 main m 2 结果 得到的 x 可通过调用 G fun x 求取代价函数的值 得到的最优元件值和 幅频响应如下 表 1 无约束优化下最优元件参数 元件 R1R2C1C2 数值20 691846945121 9290683997 30304 4590029536225 4344914925 元件 C3L1L2L3 数值 21351 34546833400 05927190308 01450174950 0844666000 其中 电阻的单位为 电容的单位为 pF 电感为 H 图 3 无约束优化下的幅频响应 3 结论 通过电路的优化 得到了较为理想的幅频响应 其边缘的陡峭性也较为理 想 但是中间出现了一定的纹波 为了使纹波得到改善 我们尝试了在代价函数中将抖动 大的频率段加更大的的权重或者取更多的频点 这些方法都能使纹波得到改善 但抖动和 上升沿缓慢是不能同时避免的 最后综合考虑了各种因素 选定了该权重 4 假设元件的值限制在下面的范围内 如何选择元件 0 110RM 0 0110pFCF 0 01100HLH 满足设计要求 4 1 方法 思路类似无约束条件 但是需要对元件的取值做一定的约束 设定元件取 值的上下限 lb 0 1 0 1 0 01 0 01 0 01 0 01 0 01 0 01 下限设定 ub 10 6 10 6 10 7 10 7 10 7 100 100 100 上限设定 选用优化工具箱的有约束条件优化函数 fmincon 来完成该优化 options optimset MaxFunEvals 100000 MaxIter 100000 TolCon 1e 9 TolFun 1e 9 x fmincon x fun x x0 A b Aeq Beq lb ub nonlcon options 2 结果 得到的 x 可通过调用 G fun x 求取代价函数的值 得到的最优元件值和幅 频响应如下 表 2 元件参数有约束时的最优元件参数 元件 R1R2C1C2 数值 184 28110122931193 880848521873006 2478299541025 76876139846 元件 C3L1L2L3 数值 3006 772764190800 598492456867059823789471 图 4 有取值范围约束下的最优幅频响应 3 结论 通过对比图 3 和图 4 的结果可以看出来 有约束时的幅频响应不如无约束 时的结果 但是两者相差不大 可见此时对传递函数的幅频响应没有太大的影响 但是通 过表 1 和表 2 的对比可以看出来 此时元件的取值有较大的差别 5 假设元件的取值是离散的 即 1 1 1 1 2 1 3 1 5 1 6 1 8 2 0 2 2 2 4 2 7 3 0 3 3 3 6 3 9 4 3 4 7 5 1 5 6 6 2 6 8 7 5 8 2 9 1 此时如何选择元件 满足设计要求 1 方法 离散优化的主要想法是模仿模拟退火法 但由于模拟退火法中关于温度的 设定更多时候是一个经验值 在此 我们就略作简化 整个离散优值的选取是在连续优值 确定的情况之下 依据可选优值附近的离散值作为初值 对每一元素 X 电阻电容电感 实施线性搜索迭代 不断在更优值的基础上获取 最终获取在这一搜索范围内的最优离散 值 核心实现方式主体如下 for n 1 3 综合考虑时间 与效率设定循环搜索三周 x y for k 1 8 for i 1 8 for j 1 24 x k model j gain i 5 cur val fun1 x if cur val pre val pre val cur val y k x k end end end x k y k 很重要 end 在此值得注意的是 离散最优值的搜索往往会陷入局部最优的僵局而造成无法获取整 体结果最优的优化值 对此主要有两种解决办法 1 可选取更加良好的搜索方式 2 对于 搜索初值首先进行一定的优化 保证足够好的搜索方向和起点 另外 对于优化函数频带特性和纹波要求显然是较为矛盾的要求 因而 我们选择了 对纹波要求较高的初值再配合对频带要求较高的目标函数获取兼顾两者的优化值 2 结果 得到的 x 可通过调用 G fun x 求取代价函数的值 得到的最优元件值和幅 频响应如下 表 3 元件参数离散时的最优元件参数 元件 R1R2C1C2 数值13 0000000000 16 000000000056000 0000000000270 0000000000 元件 C3L1L2L3 数值 11000 00000000000 03300000006 80000000000 2000000000 图 5 元件取值离散时的最优幅频响应 3 结论 通过与图 3 和图 4 的结果对比可以看出来 元件取值离散时的幅频响应不 如前两种情况时的结果 主要体现在幅频响应曲线的陡峭性不够好 但是纹波稍有改善 通过与表 1 和表 2 的对比可以看出来 此时元件的取值与前两种情况也有较大的差别 6 假设所有元件值有的误差 简单起见 假设元件值在这个范围内均匀分布 5 分析此时代价函数的变化 代价函数成为一个概率分布 1 方法 容差设计的任务是设计电路标称值与分配电路中元器件的参数容差 使电 路性能的偏差最小 或者在保证电路性能满足指标要求的条件下允许元器件参数的容差范 围最大 统计过程中 我们采用蒙特卡洛分析法 先是使用随机数发生器按元件值的概率分布 来选择元件 然后对整个输出量进行统计 得到最后的模拟分析结果 为了方便评估 我 们选定无约束优化所得到的结果作为偏差的基准 6 x1 1 0e 004 0 00206918469451 0 00219290683997 3 03044590029536 0 02254344914925 2 13513454683340 0 00000592719030 0 00080145017495 0 00000844666000 无约束优化最佳值 主要通过如下语句来实现偏差的随机性 x j x1 j 0 95 x1 j 1 05 0 95 rand 1 完整的代码见附件 main4 m 2 结果 求得代价函数并通过 i 0 10 100 hist G i 语句做得如下分布图 图 6 代价函数概率分布图 3 结论 由代价函数的概率分布可以看到 若元件值在最优解的基础上有一定的随 机误差时 代价函数值将会增大 而且可以看到 代价函数的概率分布在大于 10 之后呈指 数下降 也就是说当元件已取得最优解后 其本身的误差对电路造成极大影响的概率很小 并且系统误差越大 发生的概率越小 这也是我们进行电路优化的意义所在 6 设定一个代价函数变化极限 然后尝试反过来确定允许的元件误差范围 1 方法 由容差分析得出如下结论 当各独立元件存在一定偏差的情况下 电路的 整体性能也将存在一个偏差 这在实际工业生产中十分有研究意义 我们为了保证某个大 规模生产的产品存在一定的正品率 即代价函数应存在某个置信区间内 为了达到这样的 效果 必须给所采用的独立元件设置一定的误差范围 相对应于本次任务分析 我们分别对无约束条件和离散参数条件时所得到的最优解进 行讨论 对于无约束条件 假设次品率为 5 即正品率为 95 定义正品率的范围为代价 函数应在 0 15 范围内 对于离散参数 假设次品率为 10 即正品率为 90 定义正品 率的范围为代价函数应在 0 25 范围内 为了保证数据的有效可靠 我进行了 1000 次统 计 那么在允许的元件误差范围内就应该分别至少有 950 和 900 次满足上述条件 这两种情况下分别使 rate 从 3 5 和 2 开始进行评估 如果满足条件 则减 0 1 之后 再次进行评估 直至条件不能够满足 所得到的 rate 即是所求的允许的原件误差范围 其 中在误差范围内的元件值由如下代码实现 for j 1 8 y j x1 j 1 rate x1 j 2 rate rand 1 end 而 1000 次测试进行评估由 7 if k 350 end end for i 1 800 a i w i H i Hteg i 2 end for i 1 800 G G a i end return main1 m tic 无约束优化 x0 50 50 3000 150 3000 0 5 10 0 5 初始 值设定 options optimset MaxFunEvals 100000 Ma xIter 100000 函数参数设定 x fminsearch x fun x x0 options G fun x plot Fr x axis 0 8000 0 0 55 disp disp toc main2 m tic 约束优化 9 lb 0 1 0 1 0 01 0 01 0 01 0 01 0 01 0 01 下限设定 ub 10 6 10 6 10 7 10 7 10 7 100 100 100 上限设定 A b Aeq Beq nonlcon 函数参 数设定 options optimset MaxFunEvals 100000 Ma xIter 100000 TolCon 1e 9 TolFun 1e 9 x fmincon x fun x x0 A b Aeq Beq lb ub n onlcon options G fun x plot Fr x axis 0 8000 0 0 55 toc main3 m 离散取值优化 原数据有误 model 1 1 1 1 2 1 3 1 5 1 6 1 8 2 0 2 2 2 4 2 7 3 0 3 3 3 6 3 9 4 3 4 7 5 1 5 6 6 2 6 8 7 5 8 2 9 1 离散取值标称值 gain 10 1 10 0 10 1 10 2 10 3 10 4 10 5 10 6 标 称值放大倍数 x1 1 0e 004 0 00092482722817 0 00162222092086 5 96077986659246 0 02583283527855 1 02955757469816 0 00000320091835 0 00068597370239 0 00002039678512 无约束优化最佳值 y1 1 0e 004 0 00091 0 0016 5 6 0 024 1 0 0000033 0 00068 0 00002 最佳值估计 pre val 1000 初始容忍度设定 cur val 1000 x zeros 1 8 参数值 y zeros 1 8 优化值 y y1 for n 1 3 综合考虑时间与效 率设定循环搜索三周 x y for k 1 8 for i 1 8 for j 1 24 x k model j gain i cur val fun1 x if cur val pre val pre val cur val y k x k end end end x k y k 很重要 end G fun1 y end plot Fr y axis 0 8000 0 0 55 toc main4 m tic 代价函数概率分布 G zeros 1 1000 x1 1 0e 004 0 00206918469451 0 00219290683997 3 03044590029536 0 02254344914925 2 13513454683340

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论