哈尔滨工业大学威海校区_《数字信号处理》实验三

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数字信号处理

实验报告

实验名称:实验三FIR滤波器设计实验日期:2011.11.20

姓名:尤伟

学号:090240328

哈尔滨工业大学(威海)

实验三FIR滤波器设计

一、实验目的

1、熟悉FIR 滤波器设计的基本方法;

2、掌握窗函数法设计FIR 滤波器的原理和方法;

3、熟悉线性相位FIR 滤波器的幅频特性和相位特性;

4、了解不同窗函数对滤波器性能的响应。

二、实验原理

1、窗函数法设计FIR 滤波器原理

采用理想滤波器的截断单位脉冲响应序列实现实际滤波器。

对理想低通滤波器的单位脉冲响应h(n)进行长度为N 的截取,得到长度为N 的序列h(n),截取时保证因果性和对滤波(d) 器线性相位的要求。

为减少吉布斯效应,对h(n)进行加窗,选择合适的窗函数以保证阻带衰减和过渡带要求。注意窗函数的副瓣影响滤波器的阻带衰减,主瓣宽度影响滤波器的过渡带宽。

理想低通频率响应

理想低通单位取样响应

关于α偶对称,实序列

全通系统的单位取样响应

2、窗函数法设计FIR 低通过程

1) 取理想低通单位取样响应的N 点,N 奇数(N-1 阶滤波器)

2) 根据阻带衰减和过渡带要求选取窗函数—在保证阻带衰减满足要求的情况下,尽量选择主瓣窄的函数w(n)

3) 得到加窗后的序列h(n)=hd(n)w(n) 。w(n) 时关于(N-1)/2 偶对称,所以h(n)对称性取决于hd(n)

4) 验证h(n)的频率响应是否满足设计要求。若满足,则终止;否则重复2、3、4 步骤。

3、窗函数法设计高通

高通= 全通—低通.

与低通设计的不同只在第1)步骤,选取理想高通的单位取样响应序列N 点

4、设计带通

带通= 低通1 —低通2 带通截止频率为ωc1 >ωc2,选择低通1 截止频率ωc1,低通1 截止频率ωc2 5、设计带阻

带阻= 低通+ 高通

6、频率采样法设计FIR 滤波器原理

若要求设计的滤波器Hd(ejw)公式复杂或者根本不能用封闭公式给出,对Hd(ejw)进行频率域取样,得到N 点离散取样值H(k), 用N 点频率取样值得到滤波器。H(k) 要满足线性相位FIR 的频率响应要求。

三、实验内容

1、验证窗函数N 变化时,验证其频谱主瓣副瓣比、主瓣宽度的变化。

a)矩形窗函数的N 变化时,验证其其频谱主瓣副瓣幅度比基本不会发生变化,而主瓣宽度将会变窄。这说明,当用矩形窗函数设计滤波器时,增大N 不能使得阻带衰减减小,但能够减小过渡带。

b)再选取其他的窗如hamming/hanning 窗,验证当N 变化时,其频谱主瓣宽度变化、主瓣副瓣比值变化情况。

程序:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% 数字信号处理实验 - FIR滤波器设计

% 1 验证窗函数N变化时,验证其频谱主瓣副瓣比、主瓣宽度的变化

% a)矩形窗函数的N变化时,验证其其频谱主瓣副瓣幅度比基本不会发生变

化,

% 而主瓣宽度将会变窄。这说明,当用矩形窗函数设计滤波器时,增大N 不

能使

% 得阻带衰减减小,但能够减小过渡带。

% b)再选取其他的窗如hamming/hanning 窗,验证当N 变化时,其频谱主瓣宽

% 度变化、主瓣副瓣比值变化情况。

% 姓名:尤伟

% 学号:090240328

% 时间:2011.11.19 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% clc,clear all,close all;

N_array =[ 21 81 ];

Point_array =[ 'b', 'r' ];

for I=1:length(N_array)

N = N_array(I);

rect_window = ones(1,N);

hanning_window = hanning(N);

hamming_window = hanning(N);

H_rect = freqz( rect_window, 1, 512 );

H_hann = freqz( hanning_window, 1, 512 );

H_hamm = freqz( hamming_window, 1, 512 );

freq_norm = [0:511]/512; %归一化的频率轴

subplot(3,1,1);

plot( freq_norm,20*log10(abs(H_rect)/max(abs(H_rect))) ,Point_array(I ) ); hold on;

title( '矩形窗频谱' );

xlabel( '归一化频率 w/pi' ); ylabel( '幅度(dB)' );

subplot(3,1,2);

plot( freq_norm,20*log10(abs(H_hann)/max(abs(H_hann))) ,Point_array(I ) ); hold on;

title( 'Hanning窗频谱' );

xlabel( '归一化频率 w/pi' ); ylabel( '幅度(dB)' );

subplot(3,1,3);

plot( freq_norm,20*log10(abs(H_hamm)/max(abs(H_hamm))) ,Point_array(I ) ); hold on;

title( 'Hamming窗频谱' );

xlabel( '归一化频率 w/pi' ); ylabel( '幅度(dB)' );

end

subplot( 3,1,1); legend( ['N=' num2str(N_array(1))], ['N='

相关文档
最新文档