仪器网(yiqi.com)欢迎您!

| 注册2 登录
网站首页-资讯-专题- 微头条-话题-产品- 品牌库-搜索-供应商- 展会-招标-采购- 社区-知识-技术-资料库-方案-产品库- 视频

问答社区

基于matlab数字滤波器的设计

小暧i 2018-05-09 11:31:52 389  浏览
  •  

参与评论

全部评论(1条)

  • 就上此网14 2018-05-09 17:55:03
    摘要 《数字信号处理》课程是一门理论性和实践性都很强, 它具备高等代数、数值分析、概率统计、随机过程等计算学科的知识; 要求我们学生掌握扎实的基础知识和理论基础。 又是跟其他学科密切相关,即与通信理论、计算机、微电子技术不可分,又是人工智能、模式识别、神经网络等新兴学科的理论基础之一。 本次数字滤波器设计方法是基于MATLAB的数字滤波器的设计。此次设计的主要内容为:IIR数字滤波器和FIR数字滤波器的设计 关键词:IIR、FIR、低通、高通、带阻、带通 Abstract "Digital Signal Processing" is a theoretical and practical nature are strong, and it has advanced algebra and numerical analysis, probability and statistics, random process such as calculation of discipline knowledge; requires students to acquire basic knowledge and a solid theoretical basis. Is closely related with other subjects, namely, and communication theory, computers, microelectronics can not be separated, but also in artificial intelligence, pattern recognition, neural network theory one of the emerging discipline. The digital filter design method is based on MATLAB for digital filter design. The main elements of design: IIR and FIR digital filter design of digital filter Key Words: IIR, FIR, low pass, high pass, band stop, band pass 目录 一、 前言 3 二、 课程设计的目的 3 三、 数字信号处理课程设计说明及要求 3 四、 滤波器的设计原理 4 4.1 数字滤波器简介 4 4.2 IIR滤波器的设计原理 4 4.3 FIR滤波器的设计原理 5 4.4 FIR滤波器的窗函数设计法 6 五、 设计内容 6 5.1 设计题目: 6 5.2设计程序代码及结果: 7 六、 结束语 15 七、 参考文献 16 一、 前言 数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。 随着信息时代和数字世界的到来,数字信号处理已成为今一门极其重要的学科和技术领域。数字信号处理在通信语音、图像、自动控制、雷达、军事、航空航天、YL和家用电器等众多领域得到了广泛的应用。在数字信号处理应用中,数字滤波器十分重要并已获得广泛应用。 二、 课程设计的目的 1) 三、 数字信号处理课程设计说明及要求 所需硬件:PC机 四、 滤波器的设计原理 4.1 数字滤波器简介 数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。可以设计系统的频率响应,让它满足一定的要求,从而对通过该系统的信号的某些特定的频率成分进行过滤,这就是滤波器的基本原理。如果系统是一个连续系统,则滤波器称为模拟滤波器。如果系统是一个离散系统,则滤波器称为数字滤波器。 信号 通过线性系统后,其输出 就是输入信号 和系统冲激响应 的卷积。除了 外, 的波形将不同于输入波形 。从频域分析来看,信号通过线性系统后,输出信号的频谱将是输入信号的频谱与系统传递函数的乘积。除非 为常数,否则输出信号的频谱将不同于输入信号的频谱,某些频率成分 较大的模,因此, 中这些频率成分将得到加强,而另外一些频率成分 的模很小甚至为零, 中这部分频率分量将被削弱或消失。因此,系统的作用相当于对输入信号的频谱进行加权。 4.2 IIR滤波器的设计原理 IIR数字滤波器的设计一般是利用目前已经很成熟的模拟滤波器的设计方法来进行设计,通常采用模拟滤波器原型有butterworth函数、chebyshev函数、bessel函数、椭圆滤波器函数等。 IIR数字滤波器的设计步骤: (1) 按照一定规则把给定的滤波器技术指标转换为模拟低通滤波器的技术指标; (2) 根据模拟滤波器技术指标设计为响应的模拟低通滤波器; (3) 很据脉冲响应不变法和双线性不变法把模拟滤波器转换为数字滤波器; (4) 如果要设计的滤波器是高通、带通或带阻滤波器,则首先把它们的技术指标转化为模拟低通滤波器的技术指标,设计为数字低通滤波器,Z后通过频率转换的方法来得到所要的滤波器。 4.3 FIR滤波器的设计原理 FIR滤波器通常采用窗函数方法来设计。窗设计的基本思想是,首先选择一个适当的理想选频滤波器(它总是具有一个非因果,无限持续时间脉冲响应),然后街区(加窗)它的脉冲响应得到线性相位和因果FIR滤波器。我们用Hd(e^jw)表示理想的选频滤波器,它在通带上具有单位增益和线性相位,在阻带上具有零响应。一个带宽wc<pi的低通滤波器由下式给定: 为了从hd(n)得到一个FIR滤波器,必须同时在两边截取hd(n)。而要得到一个因果的线性相位滤波器,它的h(n)长度为N,必须有: 这种操作叫做加窗,h(n)可以看做是hd(n)与窗函数w(n)的乘积: h(n)=hd(n)w(n) 其中 根据w(n)的不同定义,可以得到不同的窗结构。 在频域中,因果FIR滤波器响应H(e^jw)由Hd(e^jw)和窗响应W(e^jw)的周期卷积得到,即 常用的窗函数有矩形窗、巴特利特(BARTLETT)窗、汉宁(HANNING)窗、海明(HAMMING)窗、布莱克曼(BLACKMAN)窗、凯泽(KAISER)窗等。 4.4 FIR滤波器的窗函数设计法 FIR滤波器的设计方法有许多种,如窗函数设计法、频率采样设计法和Z优化设计法等。窗函数设计法的基本原理是用一定宽度窗函数截取无限脉冲响应序列获得有限长的脉冲响应序列,主要设计步骤为: (1) 通过傅里叶逆变换获得理想滤波器的单位脉冲响应hd(n)。 (2) 由性能指标确定窗函数W(n)和窗口长度N。 (3) 求得实际滤波器的单位脉冲响应h(n), h(n)即为所设计FIR滤波器系数向量b(n)。 五、 设计内容 5.1 设计题目: 1-1.SYMATLAB设计一巴特沃斯低通数字滤波器,要求通带截至频率Wp=30HZ,主带截至频率为Ws=35HZ,通带衰减不大于0.5DB,主带衰减不小于40DB,抽样频Fs=100HZ。 1-2.基于Butterworth模拟滤波器原型,使用双线性状换设计数字滤波器:各参数值为:通带截止频率Omega=0.2*pi,阻带截止频率Omega=0.3*pi,通带波动值Rp=1dB,阻带波动值Rs=15dB,设Fs=20000Hz。 1-3设计一巴特沃斯高通数字滤波器,要求通带截止频率0.6*pi,通带衰减不大于1dB,阻带衰减15DB,抽样T=1。 1-4.设计一巴特沃斯带阻数字滤波器,要求通带上下截至频率为0.8*PI、0.2*PI,通带衰减不大于1DB,阻带上下截至频率0.7*PI、0.4*PI 阻带衰减不小于30DB, 2-1.用窗函数法设计一个线性相位FIR低通滤波器,并满足性能指标:通带边界频率 Wp=0.5*pi,阻带边界频率Ws=0.66*pi,阻带衰减不小于40dB,通带波纹不大于3dB。选择汉宁窗。 2-4.用海明窗设计一个FIR滤波器,其中Wp=0.2*pi,Ws=0.3*pi,通带衰减不大于0.25dB,阻带衰减不小于50dB。 5.2设计程序代码及结果: 1-1一.SYMATLAB设计一巴特沃斯低通数字滤波器,要求通带截至频率Wp=30HZ,阻带截至频率为Ws=35HZ,通带衰减不大于0.5DB,阻带衰减不小于40DB,抽样频Fs=100HZ。 代码为: fp = 30; fs = 35; Fs = 100; wp = 2*pi*fp/Fs; ws = 2*pi*fs/Fs; wp = tan(wp/2); ws = tan(ws/2); % 通带Z大衰减为0.5dB,阻带Z小衰减为40dB [N, wn] = buttord(wp, ws, 0.5, 40, 's'); % 模拟低通滤波器极零点 [z, p, k] = buttap(N); % 由极零点获得转移函数参数 [b, a] = zp2tf(z, p, k); % 由原型滤波器获得实际低通滤波器 [B, A] = lp2lp(b, a, wp); [bz, az] = bilinear(B, A, .5); [h, w] = freqz(bz, az, 256, Fs); figure plot(w, abs(h)) grid on 图1 巴特沃斯数字低通滤波器 1-2基于Butterworth模拟滤波器原型,使用双线性状换设计数字滤波器:各参数值为:通带截止频率Omega=0.2*pi,阻带截止频率Omega=0.3*pi,通带波动值Rp=1dB,阻带波动值Rs=15dB,设Fs=4000Hz。 代码: wp=0.2*pi;ws=0.3*pi; Fs=4000;T=1/Fs; OmegaP=(2/T)*tan(wp/2); OmegaS=(2/T)*tan(ws/2); rp=1;rs=15;as=15; ripple=10^(-rp/20);attn=10^(-rs/20); [n,wn]=buttord(OmegaP,OmegaS,rp,rs,'s'); [z,p,k]=Buttap(n); [b,a]=zp2tf(z,p,k); [bt,at]=lp2lp(b,a,wn); [b,a]=bilinear(bt,at,Fs); [db,mag,pha,grd,w]=freqz_m(b,a); % %下面绘出各条曲线 subplot(2,2,1);plot(w/pi,mag);title('Magnitude Frequency幅频特性'); xlabel('w(/pi)');ylabel('|H(jw)|'); axis([0,1,0,1.1]); set(gca,'XTickMode','manual','XTick',[0 0.2 0.3 1]); set(gca,'YTickMode','manual','YTick',[0 attn ripple 1]);grid subplot(2,2,2);plot(w/pi,db);title('Magnitude Frequency幅频特性(db)'); xlabel('w(/pi)');ylabel('dB'); axis([0,1,-30,5]); set(gca,'XTickMode','manual','XTick',[0 0.2 0.3 1]); set(gca,'YTickMode','manual','YTick',[-60 -as -rp 0]);grid subplot(2,2,3);plot(w/pi,pha/pi);title('Phase Frequency相频特性'); xlabel('w(/pi)');ylabel('pha(/pi)'); axis([0,1,-1,1]); subplot(2,2,4);plot(w/pi,grd);title('Group Delay群延时'); xlabel('w(/pi)');ylabel('Sample'); axis([0,1,0,15]); set(gca,'XTickMode','manual','XTick',[0 0.2 0.3 1]);grid 运行结果: 图2巴特沃思数字低通滤波器幅频-相频特性 1-3设计一巴特沃斯高通数字滤波器,要求通带截止频率0.6*pi,通带衰减不大于1dB,阻带衰减15DB,抽样T=1。 Wp=0.6*pi; Ws=0.4*pi; Ap=1; As=15; [N,wn]=buttord(Wp/pi,Ws/pi,Ap,As); %计算巴特沃斯滤波器阶次和截止频率 %频率变换法设计巴特沃斯高通滤波器 [db,mag,pha,grd,w]=freqz_m(b,a); %数字滤波器响应 plot(w,mag); title('数字滤波器幅频响应|H(ej\Omega)|') 图3巴特沃斯数字高通滤波器 2-1用窗函数法设计一个线性相位FIR低通滤波器,并满足性能指标:通带边界频率 Wp=0.5*pi,阻带边界频率Ws=0.66*pi,阻带衰减不小于40dB,通带波纹不大于3dB。选择汉宁窗。 代码: wp =0.5*pi; ws=0.66*pi; wdelta =ws-wp; N= ceil(8*pi/wdelta) if rem(N,2)==0 N=N+1; end ); 运行结果: 给分就给你个全的! 图6低通FIR滤波器 六、 结束语 本次数字滤波器设计方法是基于MATLAB的数字滤波器的设计,是用学过的数字信号理论为依据,用MATLAB代码来实现。课程设计过程中,通过IIR数字滤波器和FIR数字滤波器的设计实例,说明如何利用MATLAB来完成数字滤波器的设计。窗函数法中相位响应有严格的线性,不存在稳定性问题, 设计简单。双线性变换不会出现由于高频部分超过折叠频率而混淆到低频部分去的现象,但会产生频率混碟现象,使数字滤波器的频响偏移模拟滤波器的频响。由滤波器的频谱图和滤波前后的语音信号的频谱图对比可知本设计选用双线性变换法设计的IIR滤波器比较好。在同样的技术指标的要求下,IIR滤波器所要求的阶数N也比较小,实现起来比较容易。 通过综合运用数字信号处理的理论知识进行滤波器设计,通过理论推导得出相应结论,再利用 MATLAB 作为编程工具进行计算机实现,从而加深了对所学知识的理解,建立概念。对以前在课本上所学的东西有了更深入的理解和掌握。Z后,无论做什么课程设计,都需要要有一定的理论知识作为基础,同时通过这次课程设计,我对于以前所学的数字信号处理知识有了更深的理解。 七、 参考文献 1. 程佩青《数字信号处理教程》北京清华大学出版社2007年2月. 2. 赵知劲、刘顺兰《数字信号处理实验》.浙江大学出版社. 3. S.K.Mitra.Digital Signal Processing:A Computer-Based Approach. NewYork,NewYork:McGraw-Hill,thirded,2006. 4. 肖伟、刘忠等《 MATLAB程序设计与应用》清华大学出版社、北京交通大学出版社. 5. 胡良剑、孙晓君 《 MATLAB数学实验》.高等教育出版社.

    赞(12)

    回复(0)

    评论

热门问答

基于matlab数字滤波器的设计
 
2018-05-09 11:31:52 389 1
求助,基于MATLAB的声卡数据采集系统设计
 
2017-04-08 05:44:43 268 1
基于LabVIEW的数字滤波器设计平台设计,毕业论文这个要怎么写啊
具体大纲要怎么搞?或者LabVIEW的设计图也行,求大神... 具体大纲要怎么搞?或者LabVIEW的设计图也行,求大神 展开
2015-03-03 09:46:08 244 2
matlab的数字滤波器的仿真怎么实现
 
2018-04-12 03:38:09 463 1
怎样打开matlab simulink 数字滤波器模块
 
2012-05-15 00:29:15 376 2
椭圆低通滤波器基于matlab设计程序如下,求每句注释
%连续信号的产生及采样 clear Fs=100; t=(1:100)/Fs; s1=sin(2*pi*t*5); s2=sin(2*pi*t*15); s3=sin(2*pi*t*30); s=s1+s2+s3; plot(t,s); xlabel('时间(s)'); ylabel('幅值'); grid; %椭圆低通滤波器的设计 [b,a]=ellip(5,0.1,40,5*2/Fs); [H,w]=freqz(b,a,51... %连续信号的产生及采样 clear Fs=100; t=(1:100)/Fs; s1=sin(2*pi*t*5); s2=sin(2*pi*t*15); s3=sin(2*pi*t*30); s=s1+s2+s3; plot(t,s); xlabel('时间(s)'); ylabel('幅值'); grid; %椭圆低通滤波器的设计 [b,a]=ellip(5,0.1,40,5*2/Fs); [H,w]=freqz(b,a,512); plot(w*Fs/(2*pi),abs(H)); xlabel('频率(Hz)');ylabel('频率响应图'); grid; %对滤波后的信号进行分析和变换 sf=filter(b,a,s); plot(t,sf); xlabel('时间 (s)'); ylabel('幅值'); axis([0 1 -1 1]); S=fft(s,512); SF=fft(sf,512); w=(0:255)/256*(Fs/2); plot(w,abs([S(1:256)' SF(1:256)'])); xlabel('频率(Hz)'); ylabel('傅立叶变换图'); grid; legend({'before','after'}); 展开
2012-06-23 12:02:12 445 2
基于MATLAB的数据采集系统的设计研究 开题报告怎么写?
请问基于MATLAB的数据采集系统的设计研究的开题报告怎么写?本科生的毕业论文开题报告,知道的帮下忙,谢谢……... 请问 基于MATLAB的数据采集系统的设计研究 的开题报告怎么写?本科生的毕业论文开题报告,知道的帮下忙,谢谢…… 展开
2013-11-16 03:11:15 325 1
数字滤波器设计的主要性能指标有哪些
 
2018-03-03 05:08:14 358 1
基于matlab设计线性相位fir滤波器的程序 急!万分感谢
 
2018-12-04 02:48:33 374 0
基于matlab的连续信号的频谱分析
怎么在matlab中对连续信号X(t)=COS(4*pi*t)+SIN(2*pi*t)+COS(8*pi*t)进行DFT变换 。要求画出X(exp(jw))与f的频谱图。抽样间隔随意
2009-07-11 12:03:28 472 1
基于单片机的频率计设计
设计要求设计一个以单片机为核心的频率测量装置。使用AT89C51单片机的定时器/计数器的定时和计数功能,外部扩展6位LED数码管,要求累计每秒进入单片机的外部脉冲个数,用LED数码管显示出来。(1)被测频率fx<110Hz,采用测周法,显示频率×××. ×××;fx>1... 设计要求设计一个以单片机为核心的频率测量装置。使用AT89C51单片机的定时器/计数器的定时和计数功能,外部扩展6位LED数码管,要求累计每秒进入单片机的外部脉冲个数,用LED数码管显示出来。(1)被测频率fx<110Hz,采用测周法,显示频率×××. ×××;fx>110Hz,采用测频法,显示频率××××××。(2)利用键盘分段测量和自动分段测量。(3)完成单脉冲测量,输入脉冲宽度范围是100ms~0.1s。(4)显示脉冲宽度要求如下。Tx<1000ms,显示脉冲宽度×××。Tx>1000ms,显示脉冲宽度××××。 求大神给个程序,给个设计方,您之前给的失效了,谢谢大神 展开
2016-07-07 19:24:28 349 1
基于MATLAB和声卡的虚拟信号发生器
软件部分已经作出来了,但是应该怎样把计算机跟示波器连起来呢,怎么调试?... 软件部分已经作出来了,但是应该怎样把计算机跟示波器连起来呢,怎么调试? 展开
2009-05-25 21:31:07 381 1
求大神 基于MATLAB的7位周期m序列伪随机数字信号发生器的设计
 
2016-03-07 04:30:22 249 1
MATLAB 全通系统将IIR数字滤波器相位线性化的实例
滤波器设计我会,但不知道怎么将其相位线性化…
2011-12-05 10:17:15 479 3
matlab中设计fir滤波器
 
2011-11-30 15:44:48 326 3
用matlab设计一个滤波器
数字滤波器设计及在语音信号分析中的应用。 步骤: 1、语音信号采集 录制一段课程设计学生的语音信号并保存为文件,要求长度不小于10秒,并对录制的信号进行采样;录制时可以使用Windows自带的录音机,或者使用其它专业的录音软件,录制时需要配备录音硬件... 数字滤波器设计及在语音信号分析中的应用。 步骤: 1、语音信号采集 录制一段课程设计学生的语音信号并保存为文件,要求长度不小于10秒,并对录制的信号进行采样;录制时可以使用Windows自带的录音机,或者使用其它专业的录音软件,录制时需要配备录音硬件(如麦克风),为便于比较,需要在安静、干扰小的环境下录音。 2、语音信号分析 使用MATLAB绘出采样后的语音信号的时域波形和频谱图。根据频谱图求出其带宽,并说明语音信号的采样频率不能低于多少赫兹。 3、含噪语音信号合成 在MATLAB软件平台下,给原始的语音信号叠加上噪声,噪声类型分为如下几种:(1)白噪声;(2)单频噪色(正弦干扰);(3)多频噪声(多正弦干扰);(4)其它干扰,可设置为低频、高频、带限噪声,或Chirp干扰、冲激干扰。绘出叠加噪声后的语音信号时域和频谱图,在视觉上与原始语音信号图形对比,也可通过Windows播放软件从听觉上进行对比,分析并体会含噪语音信号频谱和时域波形的改变。 4、数字滤波器设计及滤波,完成以下题目中的一个 给定滤波器的规一化性能指标(参考指标,实际中依据每个同学所叠加噪声情况而定)例如:通带截止频率wp=0.25*pi, 阻通带截止频率ws=0.3*pi; 通带Z大衰减Rp=1 dB; 阻带Z小衰减Rs=15 dB,每个题目至少设计出5个用不同方法的不同类型滤波器。 题目(1):采用窗函数法与等波纹法分别设计各型FIR滤波器(低通、高通、带通、带阻中的至少3种类型)来对叠加噪声前后的语音信号进行滤波处理,绘出滤波器的频域响应,绘出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;在相同的性能指标下比较各方法的滤波效果,并从理论上进行分析(或解释)。 题目(2):采用双线性变换法与脉冲响应不变法,分别利用不同的原型低通滤波器(Butterworth型与切比雪夫I型)来设计各型IIR滤波器(低通、高通、带通、带阻中的至少3种类型),绘出滤波器的频域响应;并用这些数字滤波器对含噪语音信号分别进行滤波处理,比较不同方法下设计出来的数字滤波器的滤波效果,并从理论上进行分析(或解释)。 5、回放语音信号 对滤波后的语音信号进行回放,感觉滤波前后语音信号的变化。 6、设计一个语音信号分析与处理系统界面(选作) 利用MATLAB的界面设计功能,设计一个MATLAB环境下的人机交互界面,完成上述滤波器的设计及滤波过程,要求能够接收输入的设计参数,查看设计结果及滤波结果。我的邮箱是471147021@QQ.com 哪位高手知道这方面的问题,给我点提示嘛,或者将答案发到我的邮箱里,谢谢了!!! 展开
2009-06-24 07:58:04 668 2
用MATLAB设计一个低通滤波器
Z好解释一下各种参数怎么设置 都是怎么计算出来的
2018-11-20 10:57:29 368 0
基于FPGA 的简易频率计设计
基于FPGA 的简易频率计设计 利用FFT模块(点数512)对信号进行频谱分析,用SignalTap 显示频谱 设计程序找出频率值。
2015-11-21 07:30:29 457 1
基于fpga的信号发生器设计怎么做
 
2018-11-22 01:25:10 392 0
基于AT89S51单片机的信号发生器设计
波形输出:正弦波,方波,三角波... 波形输出:正弦波,方波,三角波 展开
2018-11-19 19:51:53 235 0

12月突出贡献榜

推荐主页

最新话题