nbhkdz.com冰点文库

基于MATLAB的IIR滤波器的设计及应用(信号去噪)

时间:2013-01-17

基于 MATLAB 的 IIR 滤波器的设计及应用(信号去噪)
一、实验目的
1.学会 MATLAB 的使用,掌握 MATLAB 的程序设计方法; 2.掌握数字信号处理的基本概念、基本理论和基本方法; 3. 在 MATLAB 环境下产生噪声信号 4.掌握 MATLAB 设计 IIR 数字滤波器的方法; 5.学会用 MATLAB 对信号进行分析和处理。

二、实验原理
数字滤波器的设计 巴特沃斯(Butterworth)滤波器:具有单调下降的幅频特性; 切比雪夫(Chebyshev)滤波器:幅频特性在通带或者阻带有等波纹特性,可以 提高选择性; 椭圆(Ellipse)滤波器:选择性是最好的,但通带和阻带内均呈现等波纹幅频特 性; 设计 IIR 数字滤波器一般采用间接法(脉冲响应不变法和双线性不变法) 其设计步骤是: 先设计过渡模拟滤波器得到系统函数 Ha (s),然后将 Ha(s) 按某种方法转换成数字滤波器的系统函数 H(z)。

三、主要实验仪器及材料
微型计算机、MATLAB6.5 教学版、TC 编程环境

四、实验内容
1.噪声信号的频谱分析 2.设计数字滤波器和画出频率响应 低通滤波器性能指标,fp=1000Hz,fs=1200 Hz, As=100dB,Ap=1dB; 在 MATLAB 中, 可以利用函数 butte、 cheby1 和 ellip 设计 IIR 滤波器; 最后, 利用 MATLAB 中的函数 freqz 画出各滤波器的频率响应。 3.用滤波器对噪声信号进行滤波 4.比较几种滤波器去滤波前后噪声信号的波形及频谱

五、程序设计
巴特沃斯低通滤波器 function xt=mstg N=1000; Fs=5000;T=1/Fs;Tp=N*T; t=0:T:(N-1)*T;k=0:N-1;f=k/Tp; fm1=200;fc1=2000; xt=cos(2*pi*fm1*t)+cos(2*pi*fc1*t) fxt=fft(xt,N); abs(fxt); subplot(2,2,1);
1

stem(f,abs(fxt)/max(abs(fxt)),'.');grid; title('s(t)的频谱'); axis([0,Fs/2,0,1.2]); xlabel('f(Hz)');ylabel('幅度(dB)') fp=1000;fs=1800;Ap=1;As=100; wp=2*pi*fp;ws=2*pi*fs; T=8000;Fs=1/T; Wp=wp/T;Ws=ws/T; [N,wc]=buttord(Wp,Ws,Ap,As,'s'); [B,A]=butter(N,wc,'s'); [Bz,Az]=impinvar(B,A); [h,w]=freqz(Bz,Az); subplot(2,2,2); plot(w/pi,20*log10(abs(h)));grid; xlabel('频率(KHz)'); ylabel('幅度(dB)'); z=filter(Bz,Az,xt); N=1000; Fs=5000;T=1/Fs;Tp=N*T; f=k/Tp; m=fft(z,N); subplot(2,2,3); stem(f,abs(m)/max(abs(m)),'.');grid; title('滤波后信号的频谱'); axis([0,Fs/2,0,1.2]); xlabel('f(Hz)');ylabel('幅度'); 切比雪夫低通滤波器 function xt=mstg N=1000; Fs=5000;T=1/Fs;Tp=N*T; t=0:T:(N-1)*T;k=0:N-1;f=k/Tp; fm1=200;fc1=2000; xt=cos(2*pi*fm1*t)+cos(2*pi*fc1*t) fxt=fft(xt,N); abs(fxt); subplot(2,2,1); stem(f,abs(fxt)/max(abs(fxt)),'.');grid; title('s(t)的频谱'); axis([0,Fs/2,0,1.2]); xlabel('f(Hz)');ylabel('幅度(dB)'); fp=1000;fs=1800;Ap=1;As=100; wp=2*pi*fp;ws=2*pi*fs; T=5000;Fs=1/T; Wp=wp/T;Ws=ws/T;
2

[N,wc]=cheb1ord(Wp,Ws,Ap,As,'s'); [B,A]=cheby1(N,Ap,wc,'s'); [Bz,Az]=impinvar(B,A); [h,w]=freqz(Bz,Az); subplot(2,2,2); plot(w/pi,20*log10(abs(h)));grid xlabel('w/pi'); ylabel('幅度(dB)'); z=filter(Bz,Az,xt); N=1000; Fs=5000;T=1/Fs;Tp=N*T; f=k/Tp; m=fft(z,N); subplot(2,2,3); stem(f,abs(m)/max(abs(m)),'.');grid; title('滤波后信号的频谱'); axis([0,Fs/2,0,1.2]); xlabel('f(Hz)');ylabel('幅度') 椭圆低通滤波器 function xt=mstg N=1000; Fs=5000;T=1/Fs;Tp=N*T; t=0:T:(N-1)*T;k=0:N-1;f=k/Tp; fm1=200;fc1=2000; xt=cos(2*pi*fm1*t)+cos(2*pi*fc1*t) fxt=fft(xt,N); abs(fxt); subplot(2,2,1); stem(f,abs(fxt)/max(abs(fxt)),'.');grid; title('s(t)的频谱'); axis([0,Fs/2,0,1.2]); xlabel('f(Hz)');ylabel('幅度(dB)'); fp=1000;fs=1800;Ap=1;As=100; wp=2*pi*fp;ws=2*pi*fs; T=5000;Fs=1/T; Wp=wp/T;Ws=ws/T; [N,wc]=ellipord(Wp,Ws,Ap,As,'s'); [B,A]=ellip(N,Ap,As,wc,'s'); [Bz,Az]=impinvar(B,A); [h,w]=freqz(Bz,Az); subplot(2,2,2); plot(w/pi,20*log10(abs(h)));grid xlabel('w/pi'); ylabel('幅度(dB)');
3

z=filter(Bz,Az,xt); N=1000; Fs=5000;T=1/Fs;Tp=N*T; f=k/Tp; m=fft(z,N); subplot(2,2,3); stem(f,abs(m)/max(abs(m)),'.');grid; title('滤波后信号的频谱'); axis([0,Fs/2,0,1.2]); xlabel('f(Hz)');ylabel('幅度');

六、仿真结果及分析
巴特沃斯低通滤波器
s(t)的 频 谱 50 1
幅 度 ( dB) 幅 度 ( dB)

0 -50 -100 -150

0.5

0

0

500 1000 1500 2000 2500 f(Hz) 滤波后信号的频谱

0

0.5 频 率 (KHz)

1

1
幅度

0.5

0

0

500 1000 1500 2000 2500 f(Hz)

切比雪夫低通滤波器
4

s(t)的 频 谱 0 1
幅 度 ( dB) 幅 度 ( dB)

-50

0.5

-100

0

0

500 1000 1500 2000 2500 f(Hz) 滤波后信号的频谱

-150

0

0.5 w/pi

1

1
幅度

0.5

0

0

500 1000 1500 2000 2500 f(Hz)

椭圆低通滤波器
s(t)的 频 谱 50 1
幅 度 ( dB) 幅 度 ( dB)

0

0.5

-50

0

0

500 1000 1500 2000 2500 f(Hz) 滤波后信号的频谱

-100

0

0.5 w/pi

1

1
幅度

0.5

0

0

500 1000 1500 2000 2500 f(Hz)

七、心得体会
5

这次小学期使我进一步了解了信号的产生、采样及频谱分析的方法,以及对用 MATLAB 语言设计低通滤波器的熟悉,更深层次的知道了时域卷积频域相乘的理 论。让我感受到只有在了解课本知识的前提下,才能更好的应用这个工具;并且 熟练的应用 MATLAB 也可以很好的加深我对课程的理解,方便我的思维。这次设 计使我了解了 MATLAB 的使用方法,学会分析滤波器的优劣和性能,提高了分析 和动手实践能力。同时我相信,进一步加强对 MATLAB 的学习与研究对我今后的 学习将会起到很大的帮助。

八、参考文献
[1] 丁玉美,高西全.数字信号处理.西安电子科技大学出版社 [2] 胡广书.数字信号处理——理论、算法与实现(第二版) .电子工业出版社 [3] 高西全,丁玉美.数字信号处理(第二版) 学习指导书.清华大学出版社

6


基于MATLAB的IIR滤波器的设计及应用(图像去噪).doc

基于MATLAB的IIR滤波器的设计及应用(图像去噪) - ※※※ 2010 级数字信号处理 课程设计 ※※ ※※※...

基于MATLAB的FIR滤波器语音信号去噪_课程设计.doc

基于MATLAB的FIR滤波器语音信号去噪_课程设计 - *** 实践教学 **

基于Matlab的IIR数字滤波器设计方法比较及应用.pdf

基于Matlab的IIR数字滤波器设计方法比较及应用 - 滤波是信号处理的基础,滤波运算是信号处理中的基本运算,滤波器的设计也就相应成为数字信号处理的最基本问题之一....

基于Matlab的IIR数字滤波器设计.pdf

基于Matlab的IIR数字滤波器设计 - 滤波器在数字信号处理中具有重要的作用.传统的设计方法存在效率低、方法复杂等缺点,不能满足高效高精度的需要.利用Matlab软件强大的...

基于MATLAB的IIR滤波器设计.doc

18 第一章、引言 1.1 目的 利用 MATLAB 设计 IIR 数字滤波器 1.2 意义 利用 Matlab 信号处理工具箱可以快速有效地设计各种数字滤波器,设计简单方便。 第二章...

基于MATLAB的IIR数字滤波器的课程设计.doc

本课程设 计主要使用 Matlab 软件进行一个数字带通 IIR 滤波器的设计,使之可以对加噪 的语音信号进行滤波去噪处理。 文主要介绍了利用双线性变换法设计切...

基于matlab的iir数字滤波器的设计.doc

基于matlab的iir数字滤波器的设计 - Matlab 程序设计任务书 分院(系) 学生姓名 设计题目 内容及要求: 数字滤波是数字信号处理的重要内容,是由乘法器、加法器...

基于MATLAB语音信号处理去噪毕业设计(含源文件).doc

基于MATLAB语音信号处理去噪毕业设计(含源文件)_其它语言学习_外语学习_教育专区...在设计过程中, 通过设计 FIR 数字滤波 器和 IIR 数字滤波器来完成滤波处理。...

基于Matlab的IIR数字滤波器设计(论文).doc

基于Matlab的IIR数字滤波器设计(论文) - 摘要 在现代通信系统,由于信号中经常混有各种复杂成分,所以很多信号分 析都是基于滤波器而进行的,而数字滤波器是通过...

基于MATLAB信号处理工具箱的IIR滤波器设计与仿真.doc

基于MATLAB信号处理工具箱的IIR滤波器设计与仿真 - 基于 MATLAB 信号处理工具箱地 IIR 滤波器地设计与仿真 摘要 在现今通信,信号中总是夹杂着噪声和许多无用地...

基于matlab的IIR数字滤波器的设计毕业设计(论文).doc

基于matlab 的 IIR 数字滤波器的设计 摘要:IIR 数字滤波器在 MATLAB 环境下的...数字信号处理主要是研究数字或 符号的序列表示信号波形, 并用数字的方式去处理...

基于MATLAB 的IIR滤波器的设计与仿真_图文.pdf

基于MATLAB 的IIR滤波器的设计与仿真 - 毕业论文(设计)材料 题目:基于 MATLAB 的 IIR 滤波器的设计 与仿真 学生姓名: 学生学号: 系专届别: 业: 别: ...

基于matlab的IIR滤波器设计.doc

二.课程设计题目描述和要求 2.1 课程设计题目 基于 matlab 的 IIR 滤波器设计 目标: (1)语音采集 (2)设计滤波器,将采集的语音信号进行 IIR 滤波. (3)回放...

基于MATLAB的FIR和IIR数字滤波器的设计与仿真 推荐.doc

基于MATLAB的FIR和IIR数字滤波器的设计与仿真 推荐 - 安徽工业大学

基于MATLAB的IIR数字滤波器设计与实例.pdf

科技展望 2015/02 基于 MATLAB 的 IIR 数字滤波器设计与实例吴颖君 耿攀朱军 (上海海事大学物流工程学院,上海 201306)【摘要】 数字滤波器应用广泛, 与模拟滤波...

基于MATLAB的IIR数字滤波器的设计及应用_图文.doc

基于MATLAB的IIR数字滤波器的设计及应用_信息与通信_...或信号波形,让有用的频率分量通过,抑制无用的信号...点痕等,之后通过去噪和滤波达到获取 合格零件的目的...

基于MATLAB的IIR数字滤波器的设计与仿真(论文).doc

尤其是Matlab中信号处理工具箱 使各个领域的研究人员可以直观方便地进行科学研究工程应用。 本文根据模拟滤波器的设计原理,提出了IIR数字滤波器的设计方法,并在 ...

基于MATLAB信号处理工具箱的IIR滤波器设计与仿真.doc

基于MATLAB信号处理工具箱的IIR滤波器设计与仿真 - 基于 MATLAB 信号处理工具箱的 IIR 滤波器的设计与仿真 I 摘要 在现今通信中,信号中总是夹杂着噪声和许多无用...

基于MATLAB的频谱分析与信号去噪.doc

学生毕业设计报告 基于 MATLAB 的频谱分析与信号去噪 作专年学日 者业级号期...可知利用 MATLAB 信号处理工具箱可以有效快捷地设计 FIR 和 IIR 数字滤波器,...

(精品)基于MATLAB的IIR数字滤波器的设计与DSP实现毕业设计.doc

(精品)基于MATLAB的IIR数字滤波器的设计与DSP实现毕业设计 - 毕业论