数字信号处理实验八

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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)

=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 π

π++=

相关文档
最新文档