设计步骤:
(1) 根据对过渡带及阻带衰减的指标要求,选择窗函数的类型,并估计窗口长度N。先按照阻带衰减选择窗函数类型。原则是在保证阻带衰减满足要求的情况下,尽量选择主瓣窄的窗函数。然后根据过渡带宽度估计窗口长度N。待求滤波器的过渡带宽度Bt近似等于窗函数主瓣宽度,且近似与窗口长度N成反比。
(2) 构造希望逼近的频率响应函数Hd(ejω),即 对所谓的“标准窗函数法”,就是选择Hd(ejω)为线性相位理想滤波器(理想低通、理想高通、理想带通、理想带阻)。
(3) 计算hd(n)
如果给出待求滤波器的频响函数为Hd(ejω),那么单位脉冲响应用下式求出:
(如果频响函数比较复杂,或不能用封闭公式表示,该式不能用于求解hd(n))
(4)加窗得到设计结果h(n)=hd(n)w(n)
(2)(3)(4)通过MATLAB的一个命令来实现,即hn=fir1()
例题
% ------要求通带边界频率ωp=pi/2 rad,------%
% ------阻带截止频率ωs=pi/4 rad,通带最大衰减Rp=1dB,阻带最小衰减Rs=40 dB-----%
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37clc; clear all; close all; % (1) 滤波器的技术指标 wp=pi/2; ws=pi/4; Rp=1; Rs=40; Bt=wp-ws; % 计算过渡带宽度 N0=ceil(6.2*pi/Bt); N=N0+mod(N0+1,2); % 确保h(n)长度N是奇数 wc=(wp+ws)/2/pi; % 计算理想高通滤波器通带截止频率(关于pi归一化) M=N-1; % 滤波器的阶数 hn=fir1(M,wc,'high',hanning(N)); % 调用fir1计算高通FIR数字滤波器的h(n) % 绘制单位脉冲响应h(n)的波形 n=0:N-1; subplot(2,2,1); stem(n,hn,'.','r'); axis([0,30,-0.5,1]); xlabel('n');ylabel('h(n)'); % 绘制幅频特性曲线 subplot(2,2,2); [H,w]=freqz(hn,1); % 如果要画出h(n)的频响特性曲线,freqz(hn)或者freqz(hn,1)都可以,默认频谱是0~pi上的512点 w=w/pi; plot(w,abs(H)); axis([0,1,-0.1,1.1]); xlabel('w/pi');ylabel('|Hg(w)|'); % 绘制损耗函数的曲线 subplot(2,2,3); [H,w]=freqz(hn,1); w=w/pi; plot(w,20*log10(abs(H))); axis([0,1,-80,5]); xlabel('w/pi');ylabel('20lg|Hg(w)|');
最后
以上就是友好爆米花最近收集整理的关于数字信号处理——窗函数法设计线性相位高通滤波器的全部内容,更多相关数字信号处理——窗函数法设计线性相位高通滤波器内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复