数字滤波器总结
更新时间:2023-11-04 13:25:01 阅读量: 综合文库 文档下载
数字滤波器总结
设计数字滤波器时,应充分利用成熟的软件工具,避免复杂的人工计算。Matlab便是这样的一个软件,它集成了FDAtool(filter design & analysis tool)工具,这是Matlab信号处理工具箱里专用的滤波器设计分析工具。FDAtool可以设计几乎所有的常规滤波器,包括FIR和IIR。它操作简单,方便灵活。
一、那么,打开FDAtool的方法有两种,第一种是在Matlab中键入“fdatool”(大小写均可),即可打开FDAtool的界面;另一种是在Matlab工作环境的左下角依次点开Start—Toolboxes—Filter Design—Filter Design & Analysis Tool(fdatool)。此外,还可以在simulink中将FDAtool模块放入仿真模型中,其位置在Signal Processing Blockset—Filtering—Filter Implementations—Digital Filter Design。下面用两个实例来说明如何在Simulink中设计滤波器。 (一)、低通滤波器的设计
模型如下所示:
其中,Sine Wave是幅值为10,频率为10Hz的正弦波,Sine Wave1也是幅值为10,但频率是1000Hz的正弦波。因为数字滤波器的采样时间是离散的,故在Digital Filter Design前端加Zero-Order Hold模块,其采样周期为1e-4。Digtal Filter Design设置为FIR型低通滤波器、采用窗函数设计,窗类型为Blackman,指定其阶数为30(则实际的阶数将会是31),设置采样频率为10000Hz,设置截止频率是100Hz,其界面如下图所示:
Scope示波器和Scope1示波器的波形分别为:
()a10 (a)(b)(c)0-10200-20100-1000.050.10.150.20.250.30.350.40.450.5
其中(a)图是10Hz信号的波形图,(b)图是10Hz信号和1000Hz信号叠加后的波形图,(c)图是滤波后的信号波形图。
1相位差0-100.050.10.150.20.250.30.350.40.450.5
滤波器滤除噪声信号的同时,也会造成相位滞后,上图是原始信号和滤波后信号两者的差值波形。
(二)、带通滤波器
在小电流接地系统中注入83.3hz的正弦信号,对其进行跟踪分析,要求设计一带通数字滤波器,滤除工频及整次谐波,以便在非常复杂的信号中分离出该注入信号。参数要求:96阶FIR数字滤波器,采样频率1000Hz,采用hamming窗函数设计。
仿真模型如下所示:
其中,叠加信号为:x?t??5sin?100?t??2sin?200?t??sin?2*83.3?t?。Zero-Order Hold的采样周期为1e-3。Digital Filter Design的设置步骤为:首先在Response Type中选择Bandpass(带通滤波器);在Design Method选项中选择FIR,并进一步选择Window(FIR滤波器窗函数法);指定Filter Order为Specify order,并指定为95(96-1=95);在Options选项中选取Hamming;在Frequency Specifications中选择Units为Hz,填写采样频率Fs=1000,通带下限截止频率fc1=70和通带上限截止频率fc2=84。设置完以后点击Design Filter即可得到所设计的FIR滤波器。
Scope1示波器波形为:
1(a)(b)(c)0-150-510-100.020.040.060.080.10.120.140.160.180.2
其中(a)图是注入的83.3Hz的信号,(b)图是叠加信号,(c)图是滤波后的信号。可以看出经过离散采样、数字滤波后分离出了83.3Hz的频率分量。
Scope2示波器反映了原始信号和滤波后信号的相位差,波形为:
1相位差0-100.020.040.060.080.10.120.140.160.180.2
二、刚才讲的是在simulink中搭建仿真模型,如果要用到嵌入式控制系统中,那又该怎么操作呢?首先回顾一下数字滤波器的知识。 数字滤波器是由数字乘法器、加法器和延时单元组成的一种算法或装置。数字滤波器的功能是对输入离散信号的数字代码进行运算处理,以达到改变信号频谱的目的,其实质是用有限精度算法实现的离散时间线性时不变系统,从而完成对信号进行滤波处理的功能。
数字滤波器对信号滤波的步骤如下图所示:
相对于模拟滤波器,数字滤波器没有漂移,能够处理低频信号,频率响应特性可做成非常接近于理想的特性,且精度可以达到很高,容易集成等,这些优势决定了数字滤波器的应用越来越广泛。同时,DSP和FPGA的迅速发展也促进了数字滤波器的发展,并为数字滤波器的硬件实现提供了更多的选择。
? 精度高:模拟电路中元件的精度很难达到1e-3以上,而数字系统17位字长就可以
达到1e-5精度。因此,在一些精度要求很高的滤波系统中,就必须采用数字滤波器来实现。 ? 灵活性大:数字滤波器的性能主要取决于乘法器的各系数,而这些系数是存放在系
统存储器中的,只要改变存储器存放的系数,就可以得到不同的系统,这些都比改变模拟滤波器系统的特性要容易和方便得多,因而具有很大的灵活性。
? 可靠性高:因为数字系统中只有两个电平信号,受噪声及环境条件的影响小,而模
拟滤波器各个参数都有一定的温度系数,易受温度、振动、电磁感应等影响。并且数字滤波器多采用大规模集成电路,大规模集成电路的故障率远比众多分立元件构成的模拟系统的故障率低。 综上,可以采用Matlab等软件来学习数字滤波器的基本知识,计算数字滤波器的系数,研究算法的可行性,对数字滤波器进行前期的仿真。可以采用DSP或FPGA来实现硬件电路。
数字滤波器根据其单位冲激响应函数的时域特性可分为两大类:无限冲激响应(IIR,Infinite Impulse Response)滤波器和有限冲激响应(FIR,Finite Impulse Response)滤波器。按功能分类又可分成:低通滤波器(LPF,Lowpass Filter)、高通滤波器(HPF,Highpass Filter)、带通滤波器(BPF,Bandpass Filter)、带阻滤波器(BSF,Bandstop Filter)。
IIR与FIR数字滤波器的比较:
? IIR滤波器系统函数的极点可以位于单位圆内的任何地方,因此可以用较低的阶数
获得高选择性,所用存储单元少,经济而效率高。但这些是以相位的非线性为代价的。选择性越好,则相位非线性越严重。相反,FIR滤波器却可以得到严格的线性相位,然而由于FIR滤波器系统函数的极点固定在原点,所以只能用较高的阶数获
得高选择性。对于同样的滤波器设计指标,FIR滤波器所要求的阶数可能比IIR滤波器高5-10倍,成本较高,信号延时也较大。如果按相同的选择性和相同的线性相位要求来说,则IIR滤波器必须加全通网络进行相位校正,这同样要大大增加滤波器的阶数和复杂性。
? FIR滤波器可以用非递归方法实现,有限精度的计算不会产生振荡,同时由量化舍
入以及系数的不准确所引起的误差的影响比IIR滤波器要小得多。显然,对IIR滤波器必须留心稳定性的问题,注意极点是否会位于单位圆之外,另外,有限字长效应有时会引起寄生振荡。
? IIR滤波器可以借助于模拟滤波器的成果,一般都有有效的封闭式设计公式可供准
确计算,计算工作量比较小,对计算工具要求不高。FIR滤波器没有现成的设计公式。窗函数法仅仅可以给出窗函数的计算公式,但计算通、阻带衰减仍无显示表达式,其他大多数设计FIR滤波器的方法都需要借助计算机辅助设计。
本文主要介绍FIR滤波器。总结其特点是:没有反馈回路,是无条件稳定系统,其单位脉冲响应是一个有限长序列。其滤波算法实际上是一种乘法累加运算,不断地输入样本,经延时做乘法累加,再输出滤波结果。
三、FDAtool软件详细介绍
FDATool界面左下侧排列了一组工具按钮,从上往下其功能分别如下所述: ? 多速率滤波器(Create a Multirate Filter) ? 滤波器转换(Transform Filter)
? 设置量化参数(Set Quantization Parameters) ? 实现模型(Realize Model)
? 零极点编辑器(Pole/Zero Editor)
? 导入滤波器(Import Filter from workspace) ? 设计滤波器(Design Filter)
点击最后一个按钮,即可进入设计滤波器界面,也即上图所示。
FDAtool界面总共分两大部分,一部分是Design Filter,在界面的下半部,用来设置滤波器的设计参数,另一部分则是特性区,在界面的上半部分,用来显示滤波器的各种特性。 Design Filter部分主要分为:
Response Type(滤波器类型)选项,包括Lowpass(低通)、Highpass(高通)、Bandpass(带通)、Bandstop(带阻)和特殊滤波器。
Design Method(设计方法)选项,包括IIR滤波器的Butterworth(巴特沃思)法、Chebyshev Type Ⅰ(切比雪夫Ⅰ型)法、Chebyshev Type Ⅱ(切比雪夫Ⅱ型)法、Elliptic(椭圆滤波器)法等以及FIR滤波器的Equiripple法、Least-squares(最小乘方)法、Window(窗函数)法等。
Filter Order(滤波器阶数)选项,定义滤波器的阶数,包括Specify order(指定阶数)和Minimum order(最小阶数)。在Specify order中填入所要设计的滤波器的阶数(N阶滤波器,Specify order=N-1),如果选择Minimum order则FDAtool会根据所选择的滤波器类型自动使用最小阶数。
Frequency Specifications选项,可以详细定义频带的各参数,包括采样频率Fs和频带的截止频率。它的具体选项由Response Type选项和Design Method选项决定,例如Bandpass(带通)滤波器需要定义Fstop1(下阻带截止频率)、Fpass1(通带下限截止频率)、Fpass2(通带上限截止频率)、Fstop2(上阻带截止频率),而Lowpass(低通)滤波器只需要定义Fstop1、Fpass1。采用窗函数设计滤波器时,由于过渡带是由窗函数的类型和阶数所决定的,所以只需要定义通带截止频率,而不必定义阻带参数。
Magnitude Specifications选项,可以定义幅值衰减的情况。例如设计带通滤波器时,可以定义wstop1(频率fstop1处的幅值衰减)、wpass(通带范围内的幅值衰减)、wstop2(频率fstop2处的幅值衰减)。当采用窗函数设计时,通带截止频率处的幅值衰减固定为6db,所以不必定义。
Options选项,当选取采用窗函数设计时,该选项可定义,它包含了各种窗函数。
当设计好滤波器后,就可以导出滤波器系数了。以本文所举的低通滤波器设计为例,具体操作为:Targets—Generate C Header,打开界面后,选择Double-precision floating-point,接着点击Generate,将生成.h头文件,里面包含长度为N的数组,此即h(n),将此文件另存下即可。如图所示:
四、为了验证此头文件中的系数,在PLECS软件中,添加信号源、C-Script、示波器等模块,仿真模型图如图所示:
其中,C-Script的Code declarations代码为:
#define in Input(0) #define out Output(0) int i;
float shuru[31]; float sum;
float xishu[31]= {
0, 0.00028297, 0.00120488, 0.00294137,
0.00572661, 0.00979771, 0.01532652, 0.02235230, 0.03072975, 0.04010467, 0.04992470, 0.05948641, 0.06801315, 0.07475209, 0.07907474, 0.08056427,
0.07907474, 0.07475209, 0.06801315, 0.05948641, 0.04992470, 0.04010467, 0.03072975, 0.02235230, 0.01532652, 0.00979771, 0.00572661, 0.00294137, 0.00120488, 0.00028297, 0 };
Output function code代码为: shuru[0]=in;
for(i=30;i>0;i--) {
shuru[i] = shuru[i-1]; }
sum=0;
for(i=0;i<=30;i++) {
sum+=(shuru[i]*xishu[i]); }
out = sum;
启动仿真,将得到和在simulink环境中低通滤波器设计完全一样的结果。需要特别注意的是,C-Script中的Sample time该和FDAtool中的一致,本例设置为1e-4。
更多参考:
1、 PLECS仿真模型(使用PLECS软件打开):
21jie.plecs 31jie.plecs 41jie.plecs 2、 MATLAB仿真模型
FIR_Bandpass.mdl FIR_Lowpass.mdl
3、 他山之石(从网上下载的)
网址:http://www.doc88.com/p-854247195022.html
正在阅读:
数字滤波器总结11-04
中学生志愿者活动方案04-05
关于加快生态城市建设的建议06-09
我在练琴中成长作文600字07-01
低压集抄改造分类及技术要求04-23
必修一Unit1词汇复习12-18
副井+1700回风平巷工程施工作业规程06-27
第01章 国际商务谈判概述01-21
《中庸》原文及译文07-30
普通v带的设计 - 图文09-30
- 高一物理牛顿运动定律全套学习学案
- 水处理一级反渗透加还原剂亚硫酸氢钠后为什么ORP会升高
- 毕业设计(论文)-正文董家口 - 图文
- 荣盛酒店经营管理公司录用通知及入职承诺书II
- 第二讲 大学英语四级快速阅读技巧
- 质量管理体系文件(2015年委托第三方医药物流配送企业专用版本)
- 214071收款办法
- 苏轼对《文选》选文的评价
- 《诊断学基础B》1-8作业
- 广东省东莞市高一数学下学期期末教学质量检查试题
- 海南电网公司VIS推广应用管理办法
- 红星照耀中国习题
- 苏教版小学语文六年级上册期末复习资料之生字词整理
- 局域网组建与应用—王向东
- 税务稽查内部管理文书样式
- 环保社会实践调查表
- 九年级思品第一单元复习
- 2016年全国注册咨询工程师继续教育公路路线设计规范试卷
- 毕业设计-青岛港董家口港区防波堤设计
- 撞背锻炼方法与益处
- 滤波器
- 总结
- 数字
- 钻孔灌注桩作业指导书 - 图文
- 新疆财经大学《中级财务会计》作业
- 2014年江西政法干警考试公告
- 2016年专业技术人员继续教育公需科目创新与创业能力建设(含答案)全题库
- 关于下一代无线通信网络的详细综述(论文谷歌翻译)
- 离散数学王元元习题解答(10)
- hdd tune - 图文
- 第三章 流体的运动习题解答
- 泰坦之旅 - 图文
- 问题分析与解决技巧
- 模拟电子技术试题及答案
- 世界上中古史1
- 编译原理及实现课后习题答案(1)
- 河南省百校联盟2017-2018学年高三11月教学质量监测物理试题(乙卷) Word版含答案 - 图文
- 2012专转本计算机试题(判断题737道)
- 王铎的行书《奉龚孝升书》
- 《现代教学艺术的理论与实践》讲义讲解
- 如何编写尼丝纺袖套项目可行性研究报告方案(可用于发改委立项及银行贷款+2013详细案例范文)
- 物理(八上)辅导教案第16讲期末总结复习及测验(学员版)
- 九年级物理下册期末试题及答案(人教版)-推荐 - 图文