基于Matlab的无失真模拟滤波器设计

o 引 言
模拟滤波器的设计一般包括两个方面:根据技术指标即滤波器的幅频特性确定滤波器的传递函数h(s);设计实际网络实现这一传递函数。设计滤波器h(s)的关键是找到逼近函数,目前已有多种逼近函数。然而,不论哪种逼近函数都需要进行非常繁琐的计算,还要根据计算结果进行查表。
matlab语言是一种简单、高效的高级语言,是一种内容丰富、功能强大的分析工具,其应用范围几乎覆盖了所有的科学和工程计算领域。matlab中提供了丰富的用于模拟滤波器设计的函数,通过编程可以很容易实现低通、高通、带通、带阻滤波器,并能画出滤波器的幅频、相频特性曲线,大大简化了模拟滤波器的设计。在此介绍了用matlab设计实现一个无失真模拟滤波器,并给出了幅频、相频特性的仿真结果和信号通过无失真滤波器后的眼图。
1 基于matlab的无失真滤波器设计
设计要求:一个频率为8 khz数字基带信号经过数/模(d/a)转换后得到一个模拟信号,将该模拟信号输入无失真滤波器,要求在8 khz频率处衰减为~6 db;在16 khz频率(截止频率)之后衰减达到一60 db以上。这样做的目的是使该模拟信号经过无失真滤波器后,抑制谐波干扰,减小截止频率后波形的起伏。
无失真滤波器由三部分组成,依次为低通滤波器、带阻滤波器、相移电路。其中低通滤波器的作用是通过8 khz以内的低频信号;带阻滤波器的作用是抑制16 khz信号,它与前面低通滤波器级联后能使16 khz之后信号的衰减达到一60 db以上,有效地抑制各次谐波干扰,并减小16 khz之后波形的起伏;相移电路的作用是补偿前面两级电路的相位偏移,使得整个无失真滤波器的相位特性成为一条直线。
1.1 低通滤波器设计
低通滤波器采用巴特沃斯型滤波器,因为它具有较平坦的幅频特性,相频特性线性较好,常作为滤波器的初级。在matlab中,用[b,a]=butter(n,wn,‘s’)语句来实现巴特沃斯滤波器的设计。其中,[6,a]是滤波器传递函数多项式的系数;n为滤波器的阶数;wn为3 db处的角频率;‘s’表示模拟滤波器的。
在该设计中,采用8阶巴特沃斯滤波器,一3 db处的频率为8 khz。主要程序如下:
最终画出低通滤波器的幅频、相频特性如图1(a)所示。实际电路采用由max291芯片来实现巴特沃斯滤波器,它相当于8阶巴特沃斯滤波器,如图1(b)所示。
1.2 带阻滤波器设计
带阻滤波器(又称陷波器)的作用是抑制某一频率信号而通过其他频率的信号。在matlab中用[b,a]=butter(n,wn,′stop′,′s′)语句来实现带阻滤波器,其中[b,a]是滤波器传递函数多项式的系数;n为滤波器的阶数;wn=[fl*2*pi fu*2*pi]分别为阻带低端一3 db和高端一3 db处的角频率;′s′表示模拟滤波器的。主要程序如下:
与求低通滤波器的幅频、相频特性类似,带阻滤波器的幅频、相频特性如图2(a)所示。在该设计中,实际电路采用的是vcvs型二阶带阻滤波器如图2(b)所示。电阻r1,r2,r3,电容c1的取值需要确定,它们的计算公式可以通过matlab编程来得到,最终根据计算结果选择相应的标称值。
1.3 低通滤波器与带阻滤波器的级联
将前面设计的低通与带阻滤波器进行级联,使得级联以后电路的幅频特性能满足设计要求,即在8 khz频率处的衰减为一6 db;16 khz频率(截止频率)之后的衰减达到一60 db以上。若不能达到要求,则根据仿真结果,不断修改带阻滤波器中的q值,直到满足设计要求为止。在matlab中,通过conv函数来实现两个电路的级联。主要程序如下:
%b3、a3为低通和带阻滤波器级联后传递函数多项式系数与求低通滤波器的幅频、相频特性类似,级联电路的幅频、相频特性如图3所示。可见,当q取o.7时,幅频特性满足设计要求,但相频特性在8 000一hz以内不是一根直线,为了使输出信号不至于失真,必须加上一级相移滤波器,使总的相移特性成为一条直线。
1.4 相移滤波器设计及无失真滤波器的相频特性
在该设计中,采用的是一阶反相增益全通滤波电路,它的传输函数为:
电路图如图4所示。将低通、带阻、相移电路进行级联构成无失真滤波器。在matlab中,可以通过编程的方法得到相移、无失真滤波器的相频特性曲线。
主要程序如下:
%b,a为无失真滤波器的传递函数多项式系数,其中b3,a3为低通和带阻滤波器级联后传递函数多项式系数最终求出的相位曲线如图5所示。可以看出,无失真滤波器的相频特性为一条直线。
将各部分的实际电路进行级联,得到无失真滤波器的实际电路,该无失真滤波器的输入模拟信号和输出信号眼图如图6所示。从图中可以看出,眼图迹线清晰。眼睛大且端正,眼睛之间的交点清晰。说明该无失真滤波器的幅频、相频特性良好,可以达到设计要求。
2 结 语
使用matlab设计模拟滤波器,既简单方便,又避免了复杂的运算和查表。通过仿真可以很直观地看出参数修改后的频率响应曲线,该设计可以满足系统设计的要求,避免了硬件电路反复调整的麻烦,大大提高了工作效率,且matlab不但可以用于模拟滤波器的设计,还可以用于fir,iir等数字滤波器的设计,是一个在滤波器设计方面很有力的工具。

致力可穿戴设备续航力 次世代电池露锋芒
高容量和高性能闪存
使用商业级实验室设备测量超低偏置电流的实用技巧
vivo X60系列上市:售价3498元起
运放的应用电路
基于Matlab的无失真模拟滤波器设计
手握鸡蛋而不碎,日本工程师开发出突破性的新型柔软智能传感器
工业自动化已实现热浸镀锌自动化产线的稳定控制
中芯国际聚焦14nm FinFET工艺,与阿斯麦集团签订购买单
人工智能语音,可能颠覆你对传统电视的认知
技嘉OC版GTX 1650 D6评测 超频性能提升幅度达到8%
VLAN通信基础细节详解
中科亿海微参加2023第十届世界雷达博览会
激光切割加工之激光焦点位置检测与控制技术分析
物联网应用软件全方位协助打造智慧工厂
如何选择扬尘监测系统
雷达传感器更加适合安防设备吗
时钟恢复的基本概念及组成原理
一种安泰线束测试仪测试系统的详细介绍
firefly13*13mm 方形LED灯珠 高亮红介绍