一、设计目的
1、熟悉FIR滤波器设计的基本方法。
2、掌握用窗函数设计FIR滤波器的基本原理和方法,熟悉MATLAB语言。
3、熟悉线性相位FIR滤波器的幅频特性和相位特性。
4、了解各种不同窗函数对滤波器性能的影响。
5、熟悉MCS51系列单片机基本原理。
6、掌握MCS51系列单片机基本指令和编程。
7、利用MATLAB仿真的数据,用单片机实现FIR滤波器的设计。
二、原理和方法
(一)FIR滤波器的设计
滤波器是设计来进行频率选择或频率分辨任务的线性时不变系统的通用名称。离散时间LTI(线性时不变)系统称为数字滤波器。按照LTI系统的单位脉冲响应长度是否有限可以分为有限长度脉冲响应(FIR)滤波器和无限长度脉冲响应(IIR)滤波器。
LTI离散系统可以用下列形式的线性常系数差分方程来描述:
(1)
(1)式中的下列部分描述的是一个因果FIR滤波器。
(2)
(1)式中的下列部分描述的是一个递推滤波器,其中输出y(n)可用其以前算得的值
(3)
递推计算而得,所以也称为自回归(AR)滤波器。因为脉冲响应是无限长,所以称为IIR滤波器。FIR滤波器也称为非递推或滑动平均(MA)滤波器。式(1)中有两个部分:一个AR部分和一个MA部分。
FIR滤波器可以利用快速傅立叶变换进行快速卷积来实现,另外,FIR滤波器具有严格的相位特性,这对于语音信号处理和数据传输是很重要的。IIR滤波器的优异幅度响应是以相位的非线性为代价的,而非线性相位会引起频率色散。目前FIR滤波器的设计方法主要有三种:窗函数法、频率采样法和切比雪夫等波纹逼近的最优化设计方法。最常用的是窗函数法和切比雪夫等波纹逼近的最优化设计法。本设计中用的窗函数法