数字信号处理实验八
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
实验名称:FIR数字滤波器设计及应用
课程名称____数字信号处理________
院系部:电气与电子工程专业班级:信息1002
学生姓名:王萌学号: ***********同组人:实验台号:
指导教师:范杰清成绩:
实验日期:
华北电力大学
一、实验目的
加深理解FIR 数字滤波器的时域特性和频域特性,掌握FIR 数字滤波器的设计原理与设计方法,以及FIR 数字滤波器的应用。
二、 实验原理
FIR 数字滤波器可以设计成具有线性相位,在数据通信、图像处理、语音信号处理等实际应用领域得到广泛应用。
M 阶FIR 数字滤波器的系统函数为:
FIR 数字滤波器的单位脉冲响应h [k ]是长度为M +1的有限长因果序列。当满足对称条件时,该FIR 数字滤波器具有线性相位。FIR 数字滤波器设计方法主要有窗口法、频率取样法及优化设计法。 MATLAB 中提供的常用FIR 数字滤波器设计函数有:
fir1 窗函数法设计FIR 数字滤波器(低通、高通、带通、
带阻、多频带滤波器)
fir2 频率取样法设计FIR 数字滤波器:任意频率响应
firls FIR 数字滤波器设计:指定频率响应
firrcos 升余弦型 FIR 数字滤波器设计
intfilt 内插FIR 数字滤波器设计
kaiserord 凯塞(Kaiser)窗函数设计法的阶数估计
firpm Parks-McClellan 算法实现FIR 数字滤波器优化设计
firpmord Parks-McClellan 数字滤波器的阶数选择
cremez 复系数非线性相位FIR 等波纹滤波器设计
1、 窗口法设计FIR 数字滤波器
fir1函数可以很容易地实现FIR 数字滤波器窗口法设计。 可设计低通、高通、带通、带阻滤波器、多频带滤波器。 k M
k z k h z H -=∑=][)(0
b = fir1(M, Wc)
b = fir1(M, Wc, 'ftype')
b = fir1(M, Wc, window)
b = fir1(M, Wc, 'ftype', window)
b = fir1(M,Wc,‘ ftype',window)
输出参数:b 为FIR 数字滤波器的M +1个系数构成的矩阵
(即系统的单位脉冲响应)
输入参数:M 为FIR 数字滤波器的阶数。 Wc 为3dB 截频:0 < Wc < 1, 1 对应数字频率。 ftype 指定滤波器类型,当ftype 为:
’high ’, 指定一个截频为Wc 的高通滤波器;
’stop ’ 指定一个带阻滤波器,其阻带截止频率为Wc=[w1,w2];
’DC-0’ 在多频带滤波器中,使第一个频带0 ’DC-1’ 在多频带滤波器中,使第一个频带0 window 指定窗函数,若不指定,默认为哈明窗。 2. 频率取样法设计FIR 滤波器 fir2函数可以实现FIR 数字滤波器的频率取样法设计。 可设计任意形状频率响应的滤波器。格式如下: b = fir2(M, f, m) b = fir2(M, f, m, window) 输出参数:b 为FIR 数字滤波器的M +1个系数构成的矩阵。 输入参数:M 为滤波器的阶数。 f 指定归一化的各频带边界频率,从0到1递增, 1对应于f sam /2,即数字频率Ω=π。 m 指定各频带边界频率处的幅度响应, 因此f 和m 的长度相等,即length(f)=length(a)。 window 指定窗函数,若不指定,默认为哈明窗。 三、实验内容 1.分别使用矩形窗、汉明窗、汉宁窗设计一个阶数 M=9的FIR 数字 (rad) 3π =c Ω 低通滤波器,截频为 (1)画出各种方法设计的数字滤波器的单位脉冲响应。 (2)画出它们的幅频响应,并比较各滤波器的通带纹波和阻带纹波,有何结论? (3)若输入为 计算各滤波器的输出并画出其波形. 解答: (1) b1=fir1(9,1/3,boxcar(10)); [H1,w]=freqz(b1,1,512); H1_db=20*log10(abs(H1)); b2=fir1(9,1/3,hamming(10)); [H2,w]=freqz(b2,1,512); H2_db=20*log10(abs(H2)); b3=fir1(9,1/3,hanning(10)); [H3,w]=freqz(b3,1,512); H3_db=20*log10(abs(H3)); subplot(4,1,1); stem(b1); title('矩形窗得到的FIR 滤波器脉冲响应') subplot(4,1,2); stem(b2); title('哈明窗得到的FIR 滤波器脉冲响应') subplot(4,1,3); stem(b3); title('汉宁窗得到的FIR 滤波器脉冲响应') subplot(4,1,4); plot(w,H1_db,w,H2_db,'r--',w,H3_db,'y--'); title('Frequency response') legend('rectangular window','hamming window','hanning window') grid on )2cos( )4cos(21][k k k x π π++=