数字信号处理课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
山东工商学院
数字信号处理课程设计
题目:有限冲击响应数字滤波器设计姓名:李迎
学号:
联系方式:
指导老师:
目录
目录 --------------------------------------------- 01 摘要 --------------------------------------------- 02 关键词 --------------------------------------------- 04 引言 --------------------------------------------- 05 正文
1.常见窗体函数简介 -------------------------------- 06 1.1.海明窗函数 ---------------------------------- 06 1.2.布莱克曼窗函数 ------------------------------ 07
1.3.凯塞窗 --------------------------------- 08
2.数字滤波器设计的基本步骤 ------------------------- 11
3.窗函数法设计FIR滤波器的MATLAB仿真 -------------- 11
4.具体FIR低通滤波器的设计
4.1.用海明窗设计 -------------------------------- 13 4.2.用布拉克曼窗设计 ---------------------------- 14
4.3.用凯塞窗设计 -------------------------------- 15
5.结论 --------------------------------------------- 16
6.参考文献 ----------------------------------------- 16
摘要
现代图像、语音、数据通信对线性相位的要求是普遍的。
正是因为如此,使得具有线性相位的FIR数字滤波器得到大力发展和广泛应用。
在实际进行数字信号处理时,往往需要把信号的观察时间限制在一定的时间间隔内,只需要选择一段时间信号对其进行分析。
这样,取用有限个数据,即将信号数据截断的过程,就等于将信号进行加窗函数操作。
而这样操作以后,常常会发生频谱分量从其正常频率扩展开来的现象,即所谓的“频率泄露”。
当其进行离散傅立叶变换时,时域中的截断是必需的,因此泄漏效应也是离散傅立叶变换所固有的,必须进行抑制。
而要对频谱泄漏进行抑制,可以通过窗函数加权抑制DFT的等效滤波器的振幅特性的副瓣,或用窗函数加权使有限长度的输入信号周期延拓后在边界上尽量减少不连续程度的方法实现。
而在后面的FIR滤波器的设计中,为获得有限长单位取样响应,需要用窗函数截断无限长单位取样响应序列。
另外,在功率谱估计中也要遇到窗函数加权问题。
由此可见,窗函数加权技术在数字信号处理中的重要地位。
Abstrack
The modern image, sound, and data communications to linear phase requirements are common. Because of this, that has linear phase FIR digital filters to get a development and the widespread application.
In the practical digital signal processing, often need to signal observation time limit in a certain time intervals, only need to choose a time signal on the analysis. So, take with limited data, is the process of truncated signal data, as will signal is added a window function operation. And so after operation, often happen spectrum component from its normal frequency spread phenomenon, the so-called "frequency leak". When the discrete Fourier transform, the time domain truncation is necessary, so leakage effect is also the discrete Fourier transform the inherent, must be restrained. And to the frequency spectrum leakage control, can through the window function weighted inhibit the DFT equivalent of amplitude characteristics of filter vice disc, or with window function to the length of the weighted limited input signal period after the extension in the border to reduce as far as possible the degree of discontinuous method. And in the back of the FIR filters design, to acquire limited long unit sampling response, need to use the window function truncation infinite long unit sampling response sequence. In addition, in the power spectrum estimation to meet a window function and weighted problem. This shows, window function weighted technology in the digital signal processing to the important position.
关键词:
中文:有限冲击响应数字滤波器
FIR低通滤波器
窗函数设计法
English:Limited shock response digital filter Window function design method
FIR low-pass filter
引言
MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
FIR(Finite Impulse Response)滤波器:有限长单位冲激响应滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。
因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。
1.常见窗函数简介
1.1.海明窗函数
海明窗函数的时域形式可以表示为
⎪⎭⎫ ⎝⎛--=1π2cos 46.054.0)(N k k w N k ,,2,1 =
它的频域特性为
⎥⎦⎤⎢⎣
⎡⎪⎭⎫ ⎝⎛-++⎪⎭⎫ ⎝⎛--+=1π21π223.0)(54.0)(N W N W W W R R R ωωωω 其中,)(ωR
W 为矩形窗函数的幅度频率特性函数。
海明窗函数的最大旁瓣值比主瓣值低41dB ,但它和汉宁窗函数的主瓣宽度是一样大的。
Hamming 函数:生成海明窗
调用方式
(1) w = hamming(n):输入参数n 是窗函数的长度;输出参数w 是由窗函数的值组成的n 阶向量。
(2) w = hamming(n,sflag):参数sflag 用来控制窗函数首尾的两个元素值;其取值为symmetric 或periodic ;默认值为symmetric 。
应用说明
例:生成一个长度为50的海明窗,
并观察其频率特性(使用归一化的幅
值和频率),结果如图5-5所示。
程序
n=51; window=hamming(n); [h,w]=freqz(window,1); subplot(1,2,1)
stem(window); subplot(1,2,2);
plot(w/pi,20*log(abs(h)/abs(h(1))));
1.2.布莱克曼窗函数
布莱克曼窗函数的时域形式可以表示为
⎪⎭⎫ ⎝⎛--+⎪⎭⎫ ⎝⎛---=11π4cos 08.011π2cos 5.042.0)(N k N k k w N k ,,2,1 =
它的频域特性为
=)(ωW 42.0()ωR W +25.0+⎥⎦
⎤⎢⎣⎡⎪⎭⎫ ⎝⎛-++⎪⎭⎫ ⎝⎛--1212N W N W R R πωπω ⎥⎦
⎤⎢⎣⎡⎪⎭⎫ ⎝⎛-++⎪⎭⎫ ⎝⎛--1π41π404.0N W N W R R ωω 其中,)(ωR
W 为矩形窗函数的幅度频率特性函数。
布莱克曼窗函数的最大旁瓣值比主瓣值低57dB ,但是主瓣宽度是矩形窗函数的主瓣宽度的3倍,为12π/N 。
Blackman 函数:生成海明窗
调用方式
(1) w = blackman (n):输入参数n 是窗函数的长度;输出参数w 是由窗函数的值组成的n 阶向量。
(2) w = blackman (n,sflag):参数sflag 用来控制窗函数首尾的两个元素值;其取值为symmetric 或periodic ;默认值为symmetric 。
应用说明
例:生成一个长度为50的布
莱克曼窗,并观察其频率特性(使用
归一化的幅值和频率),结果如图5-6
所示。
程序
n=51; window=blackman(n); [h,w]=freqz(window,1); subplot(1,2,1) stem(window); subplot(1,2,2); plot(w/pi,20*log(abs(h)/abs(h(1))));
1.3 .凯 塞 窗
上面所讨论的几种窗函数,在获得旁瓣抑制的同时却增加了主瓣的宽度。
而凯塞窗定义了一组可调的窗函数,它是由零阶贝塞尔函数构成的,其主瓣能量和旁瓣能量的比例是近乎最大的。
而且,这种窗函数可以在主瓣宽度和旁瓣高度之间自由选择它们的比重,使用户的设计变得非常灵活。
凯塞窗函数的时域形式可表示为
图5-6 布莱克曼窗及其频谱特性
)(1211)(020ββI N k I k w ⎥⎥⎦⎤⎢⎢⎣⎡⎪⎭⎫ ⎝⎛---= 10-≤≤N k
其中,)(0βI 是第1类变形零阶贝塞尔函数,β是窗函数的形状参数,由下式确定:
⎪⎩
⎪⎨⎧<≤≤-+->-=21,05021),21(07886.0)21(5482.050),7.8(1102.04.0ααααααβ
其中,α为凯塞窗函数的主瓣值和旁瓣值之间的差值(dB)。
改变β的取值,可以对主瓣宽度和旁瓣衰减进行自由选择。
β的值越大,窗函数频谱的旁瓣值就越小,而其主瓣宽度就越宽。
Kaiser 函数:生成凯塞窗
调用方式
w = kaiser(n,beta):输入参数n 是窗函
数的长度;输入参数beta 用于控制旁
瓣的高度;输出参数w 是由窗函数的
值组成的n 阶向量。
n 一定时,beta 越大,其频谱的旁瓣就
越小,但主瓣宽度相应的增加;当beta
一定时,n 发生变化,其旁瓣高度不会发生变化。
应用说明
例1:beta 的取值影响频谱的旁瓣高度与主瓣宽度,结果如图5-7所示。
图5-7 不同beta 系数凯塞窗的比较结果图
程序
n=50; w1=kaiser(n,1); w2=kaiser(n,4); w3=kaiser(n,9); [W1,f]=freqz(w1/sum(w1),1,512,2); [W2,f]=freqz(w2/sum(w2),1,512,2); [W3,f]=freqz(w3/sum(w3),1,512,2); plot(f,20*log10(abs(W1)),f,20*log10(abs(W2)),':',f,20*log10(abs(W3)),'*'); legend('beta=1','beta=4','beta=9');
例2:beta 一定而n 发生变
化时不会影响频谱的旁瓣高
度,结果如图5-8所示。
程序
w1=kaiser(20,4); w2=kaiser(60,4); w3=kaiser(90,4); [W1,f]=freqz(w1/sum(w1),1,512,2); [W2,f]=freqz(w2/sum(w2),1,512,2); [W3,f]=freqz(w3/sum(w3),1,512,2); plot(f,20*log10(abs(W1)),f,20*log10(abs(W2)),':',f,20*log10(abs(W3)),'-.'); legend('n=20','n=60','n=90');
图5-8 不同长度凯塞窗的比较结果图
2.数字滤波器设计的基本步骤
(1) 确定指标。
在设计一个滤波器之前,必须首先根据工程实际需要确定滤波器的技术指标。
在很多实际应用中,数字滤波器常常被用来实现选频操作。
因此,指标的形式一般在频域中给出幅度响应和相位响应。
幅度指标主要以两种方式给出。
第一是绝对指标,它提供对幅度响应函数的要求,一般应用于FIR滤波器的设计。
第二种指标是相对指标。
它以分贝值的形式给出要求,在工程实际中,比较受到欢迎。
对于相位响应指标形式,通常希望系统在通频带中仍然有线性相位。
运用线性相位响应的指标进行滤波器设计具有如下优点:①只包含实数算法,不涉及复数运算;②不存在延迟失真,只有固定数量的延迟;③长度为N的滤波器(阶数为N-1),计算量为N/2数量级。
(2)逼近。
确定了技术指标后,就可以建立一个目标的数字滤波器模型。
通常采用理想的数字滤波器模型。
之后,利用数字滤波器的设计方法,设计出一个实际滤波器模型来逼近给定的目标。
(3)性能分析和计算机仿真。
上两步的结果是得到以差分或系统函数或冲激响应描述的滤波器。
根据这个描述就可以分析其频率特性和相位特性,以验证设计结果是否满足指标要求,或者利用计算机仿真实现设计的滤波器,再分析滤波结果来判断。
3.窗函数法设计FIR滤波器的MATLAB仿真
MATLAB是一套用于科学计算的可视化高性能语言与软件环境。
它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个界面友好的用户环境。
它的信号处理工具箱包含了各种经典的和现代的数字信号处理技术,是一个优秀的算法研究与辅助设计的工具。
对于线性相位FIR滤波器通常采用窗函数法设计。
窗函数设计FIR滤波器基本
h n用一定形状的窗函数截取成有思想,就是从时域出发, 把理想的无限长的()
d
限长的()h n ,以此()h n 来逼近()d h n ,从而使所得到的频率响应()jw H e 与所要求的理想频率响应()jw d H e 相接近。
理想的数字滤波器频率特性()jw d H e 是无法实现的,FIR 的设计就是要寻找一个可以得到的频率特性()jw H e 来逼近()jw d H e , 这相当于用一个可实现的单位脉冲响应()h n 去逼近一个理想单位脉冲响()d h n 。
要想用一个有限长的因果序列去逼近它,最简单的方法是截取n 从0~N-1的一段来表示它,即:()()d h n h n = (0≦n ≦N-1);当n 为其他的数时,()h n =0。
同时,为了保证线性相位,还要满足偶对称:()(1)h n h N n =-- ,这就好像通过一个窗口观看到的一段()d h n ,因此()h n 就表示成()d h n 和一个“ 窗口函数” 的乘积。
这样,对()h n 的求解就变为:()()()d h n h n W n =*这里的()W n 就称为窗口函数。
窗口函数相当于对()d h n 在时域上截取一段,势必造成频域的矩形窗口的失真,结果就是截取出的信号也相应失真。
为了补偿这种失真,只有改变原来窗 口的形状,修正经过时域截取后的窗口失真。
改善窗口函数的标准:(1)尽量减少窗口频谱的旁瓣,使能量集中在主瓣中,以减少波动的幅度和次数,提高阻带衰减。
这样,主瓣就不能太窄;(2)主瓣的宽度应尽量窄,以得到尽量窄的过渡带。
工程中常用的窗函数有以下六种:矩形窗,三角形窗,汉宁窗,汉明窗,布莱克曼窗,凯泽窗(可变窗函数)。
表1为六种窗函数的性能指标。
表1 常用窗函数的性能指标
4.具体FIR 低通滤波器的设计:
用窗函数设计法设计一个FIR 低通滤波器。
只是如下:
用海明窗、布拉克曼窗、凯塞窗分别设计FIR 低通滤波器,通带边界频率πω3.0=p ,阻带边界频率πω5.0=s ,阻带衰减不小于50dB 。
4.1.用海明窗设计
wn=hamming(36);
nn=[0:1:35];
alfa=(36-1)/2;
hd=sin(0.4*pi*(nn-alfa+eps))./(pi*(nn-alfa+eps));
h=hd.*wn';
[h1,w1]=freqz(h,1);
plot(w1/pi,20*log10(abs(h1)));
axis([0,1,-100,10]);
grid;
xlabel('归一化频率/pi');
ylabel('幅度/dB');
归一化频率/pi 幅度/d B
4.2.用布拉克曼窗设计
wn=blackman(55);
nn=[0:1:54];
alfa=(55-1)/2;
hd=sin(0.4*pi*(nn-alfa+eps))./(pi*(nn-alfa+eps));
h=hd.*wn';
[h1,w1]=freqz(h,1);
plot(w1/pi,20*log10(abs(h1)));
axis([0,1,-100,10]);
grid;
xlabel('归一化频率/p');
归一化频率/p
4.3.用凯塞窗设计
wn=kaiser(51,7.856);
nn=[0:1:50];
alfa=(51-1)/2;
hd=sin(0.4*pi*(nn-alfa+eps))./(pi*(nn-alfa+eps));
h=hd.*wn';
[h1,w1]=freqz(h,1);
plot(w1/pi,20*log10(abs(h1)));
axis([0,1,-100,10]);
grid;
xlabel('归一化频率/p');
ylabel('幅度/dB');
归一化频率/p 幅度/d B
5.结论:
由题目要求阻带衰减
不小于50dB,查表知,设计此低通滤波
2
器符合的函数有海明窗函数,布拉曼窗函数,凯塞窗函数。
Wp=0.3*pi,Wst=0.5*pi,得Wc=(0.3*pi+0.5*pi)=0.4*pi
有设计结果得出低通滤波器频率特性曲线与0.5*pi处交点低于-50db 满足题目要求。
由结果分析知海明窗在阻带最高频率0.5*pi后的衰减程度小于布拉克曼窗和凯塞窗。
所以布拉克曼窗与凯塞窗都比海明窗要好。
6. 参考文献:
《数字信号处理教程》(第三版)清华大学出版社陈佩青
《数字信号处理及MATLAB 实现》北京机械工业出版社李辉主
《MA TLAB 辅助现代工程数字信号处理》西安电子科技大学出版社李益华。