数字滤波器设计(6)

2019-04-21 18:44

是线性相位FIR滤波器的群延迟引起的,此滤波器留的群延迟r=(N)/2=13),所以我们可以说该滤波器基本满足了以上所提出的滤波要求。

3.2 利用信号处理工具箱SPTOOL设计法

SPTOOL是信号处理工具箱中一个具有交互式图形用户界面的信号处理工具,专门用于完成常用的数字信号处理任务。通过这个工具,只需要鼠标简单的操纵鼠标(点击或拖动),就可以完成载入、观察、分析、实现和设计数字滤波器并进行谱分析等甚至十分复杂的数字信号处理任务,而不需要用户对数字滤波器的设计原理非常熟悉。下面是用SPTOOL工具设计的IIR滤波器对上述信号进行滤波。SPTOOL使用步骤:导入信号、滤波器、频谱,设计滤波器,对信号滤波,分析输入输出信号的谱。 1 IIR滤波器的设计

创建并导入信号源,

在MATLAB命令窗口输入命令:

fs=4000;(这里取采样频率为4000Hz); n=0:100;

s1=sin(pi*0.2*n); s2=sin(pi*0.6*n); s3=sin(pi*0.9*n); s4=s1+s3; s=s1+s2+s3; 此时,变量fs、n、s、s1、s2、s3、s4将显示在MATLAB的workspace列表中。在MTLAB命令窗口中输入sptool,即可弹出SPTOOL的主界面,如图所示:

图20 SPTOOL的主界面

这里我们首先来设计前面的IIR带阻滤波器,前面的数字指标转化为模拟指标为:通带频率分别为500Hz和1600Hz,阻带频率为800Hz和1400Hz,通带波动为1db,最小阻带衰减为40db。以上三个信号转换为模拟域的频率分别为400Hz,1200Hz,1800Hz。

1)导入信号。使用【file/import】可以导入信号、滤波器和谱。信号的来源可以是MATLAB工作空间变量或MAT数据文件,也可以是在DATA前面的文本框中直接输入信号的数据。这里信号源仍然利用前面程序设计法中的混频信号,将信号s和采样频率fs=4kHz导入并命名为sig1,将信号s2导入命名为sig2,将信号s4导入命名为sig4。

2)滤波器的设计。单击Filter栏中的New按钮打开滤波器设计工具。在界面的最上面制定滤波器的名字、采样频率和设计方法。这里命名滤波器名称为filt1,采样频率fs=4kHz和设计方法为chebyshev typeII IIR;左侧的Specification面板用来指定设计指标;minimum order,type为bandstop,通带频率分别为500Hz和1600Hz,阻带频率为800Hz和1400Hz,通带波动为1db,最小阻带衰减为40db。完成以上输入之后单击Apply按钮,则完成了滤波器的设计;中间的Frequency Response面板则根据设计指标自动绘出滤波器的幅频响应,而右侧的Measurements面板显示了滤波器设计完成后的实测参数。此时在Filters栏中,选中filt1按下View按钮即弹出界面,我们还可以观察到滤波器的相位响应、幅频相位响应、脉冲响应、阶跃响应等等(只须

点击界面上的相应快捷按钮)。

图21 所设计的滤波器的幅值响应

3)将滤波器应用到sig1信号序列。分别在Signals、Filters栏中选择sig2、filt1单击Filters栏列表下的Apply按钮,在弹出的Apply Filter对话框中将输出信号命名为Sig3(滤波后信号)。同时按下Alt与Shift键选中Sig3与Sig2点击Signals栏下的View可观察到它们的时域波形(其中红色是信号sig3,蓝色是信号sig2),如图所示。由图可观察出信号s2通过该带阻滤波器后得到很大的衰减,几乎衰减为0。

图22 信号s2滤波前后的比较

分别在Signals、Filters栏中选择sig1、filt1单击Filters栏列表下的

Apply按钮,在弹出的Apply Filter对话框中将输出信号命名为Sig5(滤波后信号)。同时按下Alt与Shift键选中Sig4与Sig5点击Signals栏下的View可观察到它们的时域波形(其中红色是信号sig5,蓝色是信号sig4),如图所示。由图可观察出信号s通过滤波器后所得的信号与s4基本吻合,只是相位上有点偏差,即该带阻滤波器基本滤除了信号s2,滤波效果良好。

图23 滤波后的信号与s4的比较

4)进行频谱分析。在Signals中选择sig1,单击Spectra栏下的Create按钮,在弹出的Spectra Viewer界面中选择method为FFT,nfft=512,单击Apply按钮生成s的频谱spect1同理得到sig4的频谱spect4,sig5的频谱spect5,同时按下Alt与Shift键选中spect1与spect5,点击Spectra栏下的View可观察到它们的频谱,下图是sig1和sig5的频谱,其中红色代表滤波后信号的频谱(sig5),蓝色代表滤波前信号的频谱(sig1)。

图24 滤波前后信号的频谱的比较

由频谱可以看出,混频信号s中频率为1200Hz的部分基本被滤除了,频率为400Hz和1800Hz的部分基本被保留下来,未受滤波的影响。同时按下Alt与Shift键选中spect4与spect5,点击Spectra栏下的View可观察到它们的频谱,下图是sig4和sig5的频谱,其中红色代表滤波后信号的频谱(sig5),蓝色代表滤波前信号的频谱(sig4),如下图。

图25 滤波后的信号与信号s4频谱的比较

由上图可以看出,s4与滤波后的信号频谱基本一致,所以我们可以得出结论:该带阻滤波器的滤波效果较好。 2 FIR滤波器的设计

与1的设计过程类似,这里就简述过程。 创建并导入信号源,

在MATLAB命令窗口输入命令:

fs=4000Hz; l=0:100;

s1=sin(0.1*pi*l); s2=sin(0.4*pi*l); s3=sin(pi*0.9*l); s=s1+s2+s3; s4=s1+s3;

前面的数字指标转化为模拟指标为:通带频率分别为700Hz和1300Hz,阻带频率为400Hz和1600Hz,通带波动为1db,最小阻带衰减为60db,以上三个信号转换为模拟域的频率分别为200Hz,800Hz,1800Hz。

1)导入信号。将信号s和采样频率fs=4kHz导入并命名为sig1,将信号s2导入命名为sig2,将信号s4导入命名为sig4。 2) 滤波器的设计。

图26 所设计的滤波器的幅值响应


数字滤波器设计(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:第十章 经理查询系统

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: