摘 要:在数据传输过程中,信号常会受到干扰和噪声的影响,因此在获取有用信息前需要经过滤波处理。本文采用海明窗函数法和切比雪夫最佳一致逼近法完成了FIR数字低通滤波器的设计,分别对一幅加噪的图像进行滤波处理,通过分析比较,发现海明窗函数法设计的低通滤波器滤波效果更好。55847
毕业论文关键词:FIR,海明窗函数法,切比雪夫最佳一致逼近法,Matlab,图像处理
Abstract: During data transmission, the signal is often affected by interference and noise, so to obtain useful information before the need after filtering processing. This paper uses Hamming window function method and Chebyshev approximation method to complete the design of FIR digital low pass filter, respectively, of a noisy image is filtered, through analysis and comparison, find better low pass filter effect of Hamming window function method design.
Keywords: FIR, The Hamming window function method, Chebyshev approximation method, Matlab, image processing
目 录
1 绪论 4
1.1 研究的目的与意义 4
1.2 Matlab简介 4
1.3 论文的结构 6
2 数字滤波器 6
2.1 数字滤波器简介 6
2.2 IIR数字滤波器 7
2.3 FIR数字滤波器 7
2.4 FIR与IIR数字滤波器的区别 10
3 FIR数字滤波器的设计 11
3.1 窗函数法 12
3.2 切比雪夫最佳一致逼近法 14
4 FIR低通滤波器设计在Matlab中的实现 15
4.1 海明窗函数法在Matlab内的实现 15
4.2 切比雪夫最佳一致逼近法在Matlab中的实现 16
4.3 利用低通滤波器给图像去噪 18
结 论 21
参考文献 22
致 谢 23
1 绪论
1.1 研究的目的与意义
在大学的学习生活中,本人了解到了关于Matlab函数的相关知识以及一些数字滤波器实际运用方面的内容,使得我对利用Matlab仿真技术产生了不小的兴趣。
我希望利用此次毕业论文设计的时机,通过利用FIR数字滤波器的窗函数法和切比雪夫逼近法来设计数字低通滤波器,并且通过调用Matlab函数对该滤波器进行仿真设计。现实中总有一些图像因混有一些干扰成分导致它变得模糊不清,为了得到清楚一点的图像,必须用设计出的低通滤波器对加有噪声的图像进行滤波处理,通过观察滤波前后图像的效果来分析数字低通滤波器的滤波效果。通过滤波后的结果,用户可以知道数字低通滤波器对图像处理是否有好的效果。如果效果很好,那么这对生活中的一些图像处理也会有所帮助,并且这种设计方法简单方便,便于人们随时使用,将大大减少人们处理图像的工作量。
1.2 Matlab简介
1.2.1 MATLAB的发展
MATLAB是英文MATrix LABoratory 的缩写,由此可看出矩阵计算与Matlab的关系。Matlab不仅利用EISPACK和LINPACK两大软件包的子程序外,而且包含了用Fortran语言编写的、用于承担命令翻译的部分。在20世纪80年代初,John Little等人将原来的Matlab以C语言为基础进行改写,造就了新一代的Matlab。1984年,Cleve Moler和John Little等人成立Math Works公司,并向市场推出了第一个Matlab的商业版本,并且MathWorks公司在1993年推出了Matlab4.0。1994年推出的Matlab4.2在Matlab4.0的基础上增加了其它的功能,更是在设计图形界面方面提供了新方法;1997年推出的Matlab5.0添加了很多的数据结构,如细胞数组、多维数组、结构数组、类、对象等,Matlab得以成为一种更加完整和方便的编程语言。1999年推出的MATLAB5.3改进了Matlab的许多功能。2000年推出了Matlab6.0正式版(Release12) ,在界面设计、核心数值算法、应用桌面、外部接口等方面有了很大的改进。2002年推出的Matlab6.5,它的操作界面更加集成化,并且运用了JIT加成技术,明显提高了它的运算速度。MathWorks公司在2004年又推出了Matlab7.0(Release14),其中集成了Matlab7编译器、Simumlink6.0仿真软件以及很多工具箱,完善了编程环境、数据可视化、代码效率、文件I/O等方面的功能。在2005年,Mathworks公司推出了Matlab7.1 ,添加了新的时间序列分析工具,加强它对Macintosh平台的支持。除此之外,以前的两次范围较小的更新主要提供的是一个Linux平台上的64位版本,并使得在Linux和Macintosh平台上运行的基本线性代数子程序库得到优化。