matlab工具箱设计滤波器计算机类

上传人:人*** 文档编号:510200799 上传时间:2023-09-04 格式:DOC 页数:5 大小:123KB
返回 下载 相关 举报
matlab工具箱设计滤波器计算机类_第1页
第1页 / 共5页
matlab工具箱设计滤波器计算机类_第2页
第2页 / 共5页
matlab工具箱设计滤波器计算机类_第3页
第3页 / 共5页
matlab工具箱设计滤波器计算机类_第4页
第4页 / 共5页
matlab工具箱设计滤波器计算机类_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《matlab工具箱设计滤波器计算机类》由会员分享,可在线阅读,更多相关《matlab工具箱设计滤波器计算机类(5页珍藏版)》请在金锄头文库上搜索。

1、MATLAB中用FDATool设计滤波器及使用该文章讲述了MATLAB中用FDATool设计滤波器及使用. 1. 在Matlab中键入fdatool运行Filter Design and Analysis Tool。具体使用请参见Matlab Help中的Signal Processing Toolbox-FDATool。2. 在fdatool工具中应该注意的几个问题:(a)Fstop(阻带截止频率)不能大于或等于采样频率Fs/2,这是由于数字滤波器设计的方式决定的。(b)将设计好的滤波器导出,可以采用两种方式Export the filter either as filter coeffic

2、ients variables or as a dfilt or mfilt filter object variable。(详细说明参见Matlab Help中的Signal Processing Toolbox- FDATool- Exporting a Filter Design。导出:File-Export弹出EXPORT对话框,选择“Export As”为“Objects”,“Varable Names”可以更改,默认为Hd。3. (a)如果导出的是dfilt or mfilt filter object variable,则可以用b, a = tf(Hd)将dfilt filter

3、 object转换为传递函数形式,然后用 d=filter(b,a,x); 使用这个滤波器。其中:filter是默认函数,b、a是刚刚设计的传递函数参数,x是原始采集信号,d为滤波后的信号。 x=importdata(E:matlab_workxybbO6.txt);N=length(x); %取长度fs=4000; %采样频率t=(0:N-1)/fs; 输出Hd;b,a=tf(Hd);%得到传递函数d=filter(b,a,x); subplot(311); plot(t,x); title(原始信号);xlabel(t);ylabel(y); grid on;基于 fdatool工具的数字

4、滤波器的matlab设计数字滤波器的matlab设计1.1 fdatool界面设计1.1.1 fdatool的介绍fdatool(filter design & analysis tool)是matlab信号处理工具箱里专用的滤波器设计分析工具,matlab6.0以上的版本还专门增加了滤波器设计工具箱(filter design toolbox)。fdatool可以设计几乎所有的基本的常规滤波器,包括fir和iir的各种设计方法。它操作简单,方便灵活。fdatool界面总共分两大部分,一部分是design filter,在界面的下半部,用来设置滤波器的设计参数,另一部分则是特性区,在界面的上半

5、部分,用来显示滤波器的各种特性。design filter部分主要分为:filter type(滤波器类型)选项,包括lowpass(低通)、highpass(高通)、bandpass(带通)、bandstop(带阻)和特殊的fir滤波器。design method(设计方法)选项,包括iir滤波器的butterworth(巴特沃思)法、chebyshev type i(切比雪夫i型)法、 chebyshev type ii(切比雪夫ii型)法、elliptic(椭圆滤波器)法和fir滤波器的equiripple法、least-squares(最小乘方)法、window(窗函数)法。filte

6、r order(滤波器阶数)选项,定义滤波器的阶数,包括specify order(指定阶数)和minimum order(最小阶数)。在specify order中填入所要设计的滤波器的阶数(n阶滤波器,specify ordern-1),如果选择minimum order则matlab根据所选择的滤波器类型自动使用最小阶数。frenquency specifications选项,可以详细定义频带的各参数,包括采样频率fs和频带的截止频率。它的具体选项由filter type选项和design method选项决定,例如bandpass(带通)滤波器需要定义fstop1(下阻带截止频率)、f

7、pass1(通带下限截止频率)、fpass2(通带上限截止频率)、fstop2(上阻带截止频率),而lowpass(低通)滤波器只需要定义fstop1、fpass1。采用窗函数设计滤波器时,由于过渡带是由窗函数的类型和阶数所决定的,所以只需要定义通带截止频率,而不必定义阻带参数。magnitude specifications选项,可以定义幅值衰减的情况。例如设计带通滤波器时,可以定义wstop1(频率fstop1处的幅值衰减)、wpass(通带范围内的幅值衰减)、wstop2(频率fstop2处的幅值衰减)。当采用窗函数设计时,通带截止频率处的幅值衰减固定为6db,所以不必定义。window

8、 specifications选项,当选取采用窗函数设计时,该选项可定义,它包含了各种窗函数。1.1.2带通滤波器设计实例本文将以一个fir 滤波器的设计为例来说明如何使用matlab设计数字滤波器:在小电流接地系统中注入83.3hz的正弦信号,对其进行跟踪分析,要求设计一带通数字滤波器,滤除工频及整次谐波,以便在非常复杂的信号中分离出该注入信号。参数要求:96阶fir数字滤波器,采样频率1000hz,采用hamming窗函数设计。本例中,首先在filter type中选择bandpass(带通滤波器);在design method选项中选择fir window(fir滤波器窗函数法),接着在

9、window specifications选项中选取hamming;指定filter order项中的specify order95;由于采用窗函数法设计,只要给出通带下限截止频率fc1和通带上限截止频率fc2,选取fc170hz,fc284hz。设置完以后点击design filter即可得到所设计的fir滤波器。通过菜单选项analysis可以在特性区看到所设计滤波器的幅频响应、相频响应、零极点配置和滤波器系数等各种特性。设计完成后将结果保存为1.fda文件。在设计过程中,可以对比滤波器幅频相频特性和设计要求,随时调整参数和滤波器类型,以便得到最佳效果。其它类型的fir滤波器和iir滤波器

10、也都可以使用fdatool来设计。图1 滤波器幅频和相频响应(特性区) fig.1 magnitude response and phase response of the filter1.2 程序设计法在matlab中,对各种滤波器的设计都有相应的计算振幅响应的函数【3】,可以用来做滤波器的程序设计。上例的带通滤波器可以用程序设计:c=95; 定义滤波器阶数96阶w1=2*pi*fc1/fs;w2=2*pi*fc2/fs; %参数转换,将模拟滤波器的技术指标转换为数字滤波器的技术指标window=hamming(c+1); %使用hamming窗函数h=fir1(c,w1/pi w2/pi,

11、window); 使用标准响应的加窗设计函数fir1freqz(h,1,512); 数字滤波器频率响应在matlab环境下运行该程序即可得到滤波器幅频相频响应曲线和滤波器系数h。篇幅所限,这里不再将源程序详细列出。2 simulink仿真本文通过调用simulink中的功能模块构成数字滤波器的仿真框图,在仿真过程中,可以双击各功能模块,随时改变参数,获得不同状态下的仿真结果。例如构造以基波为主的原始信号,通过simulink环境下的digital filter design(数字滤波器设计)模块导入2.1.2中fdatool所设计的滤波器文件1.fda。仿真图和滤波效果图如图2所示。图2 simulink仿真图及滤波效果图fig.2 simulated connections and waveform可以看到经过离散采样、数字滤波后分离出了83.3hz的频率分量(scope1)。之所以选取上面的叠加信号作为原始信号,是由于在实际工作中是要对已经经过差分滤波的信号进一步做带通滤波,信号的各分量基本同一致,可以反映实际的情况。本例设计的滤波器已在实际工作中应用,取得了不错的效果。1网络软硬件

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号