3.4 分布式算法原理 14
4 FIR数字滤波器的MATLAB设计 18
4.1 窗函数法设计 18
4.2 采用fir1函数设计 19
4.3 采用FDATOOL工具设计 20
4.4 本文设计实例 22
4.5 输入模块 26
5 FIR数字滤波器的FPGA设计 28
5.1 采用FIR IP核设计 28
5.2 并行分布式FIR数字滤波器设计 33
结 论 36
致 谢 37
参考文献 38
附 录 40
1 绪论
1.1 本课题背景和研究意义
数字信号处理技术(DSP)在很多领域具有广泛的用途,如图像处理、雷达、数字电视、数据压缩和数字通信机等等。数字滤波技术是数字信号分析、处理技术的重要分支。数字滤波器在数字信号处理中占有很重要的位置,涉及的领域也广,如通信系统、系统控制、生物医学工程、机械振动、遥感遥测、地质勘探、航空航天、电力系统、故障检测、自动化仪器等[1]。
数字滤波在图像和语音处理、模式识别、谱分析、HDTV等应用中经常用到。与模拟滤波相比,数字滤波具有很多优点。如可以满足滤波器对相位和幅度特性的严格要求。也可以避免模拟滤波无法克服的温度漂移、电压漂移和噪声等问题。有限长冲激响应(FIR)滤波器,由于FIR系统具有系统稳定、只有零点,便于实现FFT算法且运算速度快、线性相位的特性和设计更为灵活等突出优点而在实际工程中获得更为广泛的应用。所以,对数字滤波器的工作原理、硬件结构、设计方法和硬件实现方式进行研究具有重要意义。文献综述
随着数字技术日益广泛的应用,以现场可编程门阵列FPGA为代表的可编程逻辑器件PLD得到了迅速普及和发展,且器件集成度和速度都在高速增长。FPGA既具有可编程逻辑器件的可编程特性,又具有门阵列的高逻辑密度和高可靠性。可以缩短设计周期,减少系统设计和维护的风险,降低产品成本。FPGA采用CMOS、SRAM工艺制作,结构上与简单的阵列型PLD不同。FPGA内部由许多独立的可编程逻辑单元构成,各逻辑单元之间可以灵活地互相连接,具有密度高、速度快、可重新配置、编程灵活等优点。因此,FPGA成为当今主流的PLD器件之一。
MATLAB是由美国Math Works公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境[2]。MATLAB可以进行绘制函数、矩阵运算、创建用户界面、链接其他编程语言的程序等。主要应用于控制设计、工程计算、图像处理、信号检测、信息处理与通讯、金融建模设计与分析等领域。
MATLAB具有强大的函数功能,从本质上讲,可将其分为三类[2]:MATLAB的内部函数。这类函数由MATLAB自身提供,用户不能修改。如快速傅里叶函数、调试函数等;MATLAB各种工具箱中提供的大量实用函数。这类函数多是针对不同领域。如机械、通信等提供的函数集。用户可以根据自身需要对M类型的函数文件进行修改,以完成特定功能[2];第三类函数是由用户自己编写的函数。需要说明的是,虽然MATLAB函数具有几种不同类型,但用户使用的方法是一样的。用户在自己编写的函数文件中可以调用其他种类的函数[2]。所以本文也用MATLAB的不同方法设计了不同种类(低通、高通、带通)FIR数字滤波器,并自己编写了一个无符号数转换成有符号数的函数供程序调用。