数字信号处理报告实验8 - -实验报告8

更新时间:2024-03-05 09:18:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实 验 报 告

实验名称课程名称

院 系 部: 学生姓名: 同 组 人: 指导教师: 实验日期:

______________________

专业班级: 学 号: 实验台号: 成 绩: 华北电力大学(北京)

一:实验目的及要求

加深理解FIR数字滤波器的时域特性和频域特性,掌握FIR数字滤波器的设计原理与设计方法,以及FIR数字滤波器的应用。

二:实验仪器

仪器名称 计算机 规格/型号 数量 一台 备注 装有Matlab 三:实验原理

FIR数字滤波器可以设计成具有线性相位,在数据通信、图像处理、语音信号处理等实际应用领域得到广泛应用。 M M阶FIR数字滤波器的系统函数为: H(z)?

?k?0h[k]z?kFIR数字滤波器的单位脉冲响应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数字滤波器窗口法设计。 可设计低通、高通、带通、带阻滤波器、多频带滤波器。 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

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对应于fsam/2,即数字频率?=?。 m指定各频带边界频率处的幅度响应, 因此f和m的长度相等,即length(f)=length(a)。 window指定窗函数,若不指定,默认为哈明窗。

四:实验步骤

第一:实验内容

?1.分别使用矩形窗、汉明窗、汉宁窗设计一个阶数 M=9的FIR数字低通滤波器,截频为 Ωc? (rad)3(1)画出各种方法设计的数字滤波器的单位脉冲响应。

(2)画出它们的幅频响应,并比较各滤波器的通带纹波和阻带纹波,有何结论?

??(3)若输入为 x[k]?1?2cos(4k) ?cos(2k)计算各滤波器的输出并画出其波形。

2.利用频率抽样方法设计FIR数字低通滤波器,并绘出衰耗特性。已知阶数M=15,给定指标为: m?0,1,2,3?1Ad[m]??0.389m?4

?0m?5,6,7?

改变Ad[4]的值,观察该FIR低通数字滤波器的衰耗特性的变化。

3.利用频率抽样方法设计FIR数字带通滤波器,并绘出衰耗特性。已知阶数M=15,给定指

?标为:

m?3,4,5

改变Ad[2]或Ad[6]的值,观察该FIR带通数字滤波器的衰耗特性的变化。 4. 设计一窄带通FIR数字滤波器,通带中心频率带宽不大于 Ω ? ? (rad) 。

0?0?Ad[m]?0?0.456?1?m?0,1,7m?2,6(1)利用fir1函数和kaiser窗设计该滤波器。

(2)利用fir3函数设计该滤波器,达到fir1函数的设计效果。 (3)分别画出上述两个滤波器的实现结构,并比较其经济性。

2

第二:实验程序,波形: 实验内容(1)

% Rectangular window

b1=fir1(9, 1/pi, boxcar(10));

[H1,w]=freqz(b1, 1, 512);H1_db=20*log10(abs(H1)); % hamming window

b2=fir1(9, 1/pi, hamming(10));

[H2,w]=freqz(b2, 1, 512);H2_db=20*log10(abs(H2)); %hanning window

b3=fir1(9, 1/pi, hanning(10));

[H3,w]=freqz(b3, 1, 512);H3_db=20*log10(abs(H3)); subplot(3,2,1); stem(b1);

title('矩形窗得到的FIR滤波器脉冲响应') subplot(3,2,3); stem(b2);

title('哈明窗得到的FIR滤波器脉冲响应') subplot(3,2,5); stem(b3);

title('汉宁窗得到的FIR滤波器脉冲响应') subplot(3,2,2); plot(w,H1_db);

title('rectangular window Frequency response');grid on subplot(3,2,4); plot(w,H2_db);

title('hamming window Frequency response');grid on subplot(3,2,6); plot(w,H3_db);

title('hanning window Frequency response');grid on

实验内容(2)

f=[0 1/pi 1/pi 1/pi 1/pi 1/pi 1/pi 1]; m=[1 1 1 1 0.389 0 0 0];

b=fir2(15,f,m);[h,w] = freqz(b, 1, 128); legend('Ideal', 'fir2 Designed')

figure(1); plot(f,m,w/pi,abs(h)) ; grid

title('Comparison of Frequency Response Magnitudes') figure(2); H_db=20*log10(abs(h));plot(w,H_db); grid %改变M的值 m=[1 1 1 1 0.589 0 0 0];

b2=fir2(15,f,m);[h2,w] = freqz(b2, 1, 128); legend('Ideal', 'fir2 Designed')

figure(3); plot(f,m,w/pi,abs(h2)) ; grid

title('Comparison of Frequency Response Magnitudes') figure(4); H_db=20*log10(abs(h2));plot(w,H_db); grid

本文来源:https://www.bwwdw.com/article/btoa.html

Top