第5章 窗
函
关于工期滞后的函关于工程严重滞后的函关于工程进度滞后的回复函关于征求同志党风廉政意见的函关于征求廉洁自律情况的复函
数
本章对数字信号处理过程中所用到的有关窗函数进行了说明,这些窗函数主要有:矩
形窗函数、三角窗函数、巴特利特窗函数、广义余弦窗、汉宁窗函数、海明窗函数、布莱
克曼窗函数、凯塞窗函数和切比雪夫窗函数等。
本章的学习目标:
● 理解窗函数的基本概念以及加窗原理
● 掌握基本窗函数产生的
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
● 掌握广义余弦窗函数产生的各种方法
● 了解凯塞窗函数和切比雪夫窗函数产生的方法
5.1 窗函数基本概念
在实际进行数字信号处理时,往往需要把信号的观察时间限制在一定的时间间隔内,
只需要选择一段时间信号对其进行
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
。这样,取用有限个数据,即将信号数据截断的过
程,就等于将信号进行加窗函数操作。而这样操作以后,常常会发生频谱分量从其正常频
谱扩展开来的现象,即所谓的“频谱泄漏”。当进行离散傅立叶变换时,时域中的截断是
必需的,因此泄漏效应也是离散傅立叶变换所固有的,必须进行抑制。而要对频谱泄漏进
行抑制,可以通过窗函数加权抑制 DFT的等效滤波器的振幅特性的副瓣,或用窗函数加权
使有限长度的输入信号周期延拓后在边界上尽量减少不连续程度的方法实现。而在后面的
FIR 滤波器的设计中,为获得有限长单位取样响应,需要用窗函数截断无限长单位取样响
应序列。另外,在功率谱估计中也要遇到窗函数加权问
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
。由此可见,窗函数加权技术在
数字信号处理中的重要地位。
下面介绍窗函数的基本概念。设x(n)是一个长序列,w(n)是长度为N的窗函数,用w(n)
截断x(n),得到N点序列xn(n),即
xn(n) = x(n) w(n)
在频域上则有
( ) ( ) ( )( )∫ − −⋅= ππ jjj deπ21e θθωθω WeXX N
MATLAB在数字信号处理中的应用 • 154 •
由此可见,窗函数 w(n)不仅仅会影响原信号 x(n)在时域上的波形,而且也会影响到频
域内的形状。
MATLAB信号工具箱主要提供了以下几种窗函数,如
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
5-1所示。
表 5-1 MATLAB窗函数
窗 窗 函 数
矩形窗 Boxcar
巴特利特窗 Barlett
三角窗 Triang
布莱克曼窗 Blackman
海明窗 Hamming
汉宁窗 Hanning
凯塞窗 Kaiser
切比雪夫窗 Chebwin
5.2 基本窗函数
数字信号处理领域中所用到的基本窗函数主要有:矩形窗函数、三角窗函数和巴特利
特窗函数。下面就对这些窗函数展开介绍。
5.2.1 矩形窗函数
矩形窗(Rectangular Window)函数的时域形式可以表示为:
⎩⎨
⎧ −≤≤==
其他,0
10,1
)()(
Nn
nRnw N
它的频域特性为
( )
⎟⎠
⎞⎜⎝
⎛
⎟⎠
⎞⎜⎝
⎛
= ⎟⎠
⎞⎜⎝
⎛ −−
2
sin
2
sin
ee 2
1j
j
ω
ω
ωω
N
W
N
R
第 5章 窗 函 数 • 155 •
Boxcar函数:生成矩形窗
调用方式
w = boxcar (n):输入参数 n是窗函数的长度;输出参数 w是由窗函数的值组成的 n阶
向量。
从功能上讲,该函数又等价于 w = ones(n,1)。
应用说明
例:生成一个长度为 50的矩形窗,并观察其频率特性(使用归一化的幅值和频率),结
果如图 5-1所示。
图 5-1 矩形窗及其频谱特性
程序
n=50;
window=boxcar(n);
[h,w]=freqz(window,1);
subplot(2,1,1)
stem(window);
subplot(2,1,2);
plot(w/pi,20*log(abs(h)/abs(h(1))));
5.2.2 三角窗函数
三角窗是最简单的频谱函数 为非负的一种窗函数。三角窗函数的时域形式可以
表示为:
)W(e jω
当 n为奇数时
⎪⎩
⎪⎨
⎧
≤≤++
+−
+≤≤+=
nkn
n
kn
nk
n
k
kw
2
1,
1
)1(2
2
11,
1
2
)(
当 n为偶数时
⎪⎩
⎪⎨
⎧
≤≤+−
≤≤−
=
nkn
n
kn
nk
n
k
kw
2
,)1(2
2
1,12
)(
MATLAB在数字信号处理中的应用 • 156 •
它的频域特性为:
( )
( ) 2
2
1
j
j
2
sin
4
1sin
1
2ee
⎟⎟
⎟⎟
⎠
⎞
⎜⎜
⎜⎜
⎝
⎛
⎟⎠
⎞⎜⎝
⎛
⎟⎠
⎞⎜⎝
⎛ −
−=
⎟⎠
⎞⎜⎝
⎛ −−
ω
ω
ωω
N
N
W
N
R
三角窗函数的主瓣宽度为
N
π8 ,比矩形窗函数的主瓣宽度增加了一倍,但是它的旁瓣宽
度却小得多。
Triang函数:生成三角窗
调用方式
w = triang(n):输入参数 n是窗函数的长度;输出参数 w是由窗函数的值组成的 n阶
向量。
三角窗也是两个矩形窗的卷积。
三角窗函数的首尾两个数值通常是不为零的。当 n是偶数时,三角窗的傅立叶变换总
是非负数。
应用说明
例:生成一个长度为 50的三角窗,并观察其频率特性(使用归一化的幅值和频率),结
果如图 5-2所示。
图 5-2 三角窗及其频谱特性
程序
n=31;
window=triang(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))));
5.2.3 巴特利特窗函数
巴特利特窗函数的时域形式可以表示为
当 n为奇数时
⎪⎩
⎪⎨
⎧
≤≤+−
−−
+≤≤−
−
=
nkn
n
k
nk
n
k
kw
2
1,
1
)1(2
2
2
11,
1
)1(2
)(
第 5章 窗 函 数 • 157 •
当 n为偶数时
( )
⎪⎩
⎪⎨
⎧
≤≤−
−
≤≤−
−
=
nkn
n
kn
nk
n
k
kw
2
,
1
)(2
2
1,
1
)1(2
Bartlett函数:生成巴特利特窗
调用方式
w = bartlett(n):
(1) 输入参数 n是窗函数的长度;
(2) 输出参数 w是由窗函数的值组成的 n阶向量。
(3) 巴特利特窗是两个矩形窗的卷积。
(4) 此函数生成的巴特利特窗的两端总是 0。
(5) 该函数与三角窗函数非常类似。当 n是奇数时,则有 bartlett(n+2)的中间部分等于
triang(n);当 n是偶数时,巴特利特窗的傅立叶变换是负数。
应用说明
例:生成一个长度为 50的巴特利特窗,并观察其频率特性(使用归一化的幅值和频率),
结果如图 5-3所示。
图 5-3 巴特利特窗及其频谱特性
程序
n=51;
window=bartlett(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))));
5.3 广义余弦窗
汉宁窗、海明窗和布莱克曼窗,都可以用一种通用的形式表示,这就是广义余弦窗。
这些窗都是广义余弦窗的特例,汉宁窗又被称为余弦平方窗或升余弦窗,海明窗又被称为
改进的升余弦窗,而布莱克曼窗又被称为二阶升余弦窗。采用这些窗可以有效地降低旁瓣
的高度,但是同时会增加主瓣的宽度。
这些窗都是频率为 0、2π/(N–1)和 4π/(N–1)的余弦曲线的合成,其中 为窗的长度。
通常采用下面的命令来生成这些窗:
N
MATLAB在数字信号处理中的应用 • 158 •
( ) ( )1Nπ21N:0ind ' −∗∗−=
ind)*cos(2Ccos(ind)BAwindow ∗+∗−=
其中,A、B、C适用于自己定义的常数。根据它们取值的不同,可以形成不同的窗函
数,
● 布莱克曼窗 A=0.5,B=0.5,C=0.08;
5.3.1 汉宁窗函数
汉宁窗函数的时域形式可以表示为:
分别是:
● 汉宁窗 A=0.5,B=0.5,C=0;
● 海明窗 A=0.54,B=0.54,C=0;
⎟⎟⎠
⎞⎜⎜⎝
⎛ ⎟⎠
⎞⎜⎝
⎛
+−= 1π2cos15.0)( n
kkw Nk ,,2,1 L=
它的频域特性为:
( ) ( ) ⎟⎠⎞⎜⎝⎛ −−
⎭⎬
⎫
⎩⎨
⎧
⎥⎦
⎤⎢⎣
⎡ ⎟⎠
⎞⎜⎝
⎛
−++⎟⎠
⎞⎜⎝
⎛
−−+=
2
1j
e
1
π2
1
π225.05.0
N
RRR N
W
N
WWW
ωωωωω
其中, )(ωRW 为矩形窗函数的幅度频率特性函数。
汉宁窗函数的最大旁瓣值比主瓣值低 31dB,但是主瓣宽度比矩形窗函数的主瓣宽度增
加了
函数:生成汉宁窗
nning(n):输入参数 n是窗函数的长度;输出参数 w是由窗函数的值组成的
n阶向量。
。
函数返回包括
为零 的首尾两个元素。
(使用归一化的幅值和频率),结果如图5-4
1倍,为 8π/N。
hanning
调用方式
(1) w = ha
注意:此函数不返回是零点的窗函数的首尾两个元素
(2) w = hanning(n,'symmetric'):与上面相类似。
(3) w = hanning(n,'periodic'):此
点的窗函数
应用说明
例:生成一个长度为 50 的汉宁窗,并观察其
频率特性
图 5-4 汉宁窗及其频谱特性
第 5章 窗 函 数 • 159 •
所示
程序
ndow,1);
plot(w/pi,20*log(abs(h)/abs(h(1))));
5.3.2 海明窗函数
海明窗函数的时域形式可以表示为
。
n=51;
window=hanning(n);
[h,w]=freqz(wi
subplot(1,2,1)
stem(window);
subplot(1,2,2);
⎟⎠
⎞⎜⎝
⎛
−−= 1π2cos46.054.0)( N
kkw Nk ,,2,1 L=
它的频域特性为
⎥⎦
⎤⎢⎣
⎡ ⎟⎠
⎞⎜⎝
⎛
−++⎟⎠
⎞⎜⎝
⎛
−−+= 1
π2
1
π223.0)(54.0)(
N
W
N
WWW RRR ωωωω
其中, )(ωRW 为矩形窗函数的幅度频率特性函数。
海明窗函数的最大旁瓣值比主瓣值低 41dB,但它和汉宁窗函数的主瓣宽度是一样大
的。
函数:生成海明窗
hamming(n):输入参数 n是窗函数的长度;输出参数 w是由窗函数的值组成的
n阶
来控制窗函数首尾的两个元素值;其取值为
sym riodic;默认值为 symmetric。
用归一化的幅值和频率),结果如
图 5-5
程序
Hamming
调用方式
(1) w =
向量。
(2) w = hamming(n,sflag):参数 sflag 用
metric或 pe
应用说明
例:生成一个长度为 50的海明窗,并观察
其频率特性(使
所示。
n=51;
图 5-5 海明窗及其频谱特性
MATLAB在数字信号处理中的应用 • 160 •
window=hamming(n);
[h,w]=freqz(window,1);
plot(w/pi,20*log(abs(h)/abs(h(1))));
5.3.3 布莱克曼窗函数
布莱克曼窗函数的时域形式可以表示为
subplot(1,2,1)
stem(window);
subplot(1,2,2);
⎟⎠
⎞⎜⎝
⎛
−
−+⎟⎠
⎞⎜⎝
⎛
−
−−=
1
1
π4cos08.0
1
1
π2cos5.042.0)(
N
k
N
kkw Nk ,,2,1 L=
它的频域特性为
=)(ωW 42.0 ( )ωRW + 25.0 +⎥⎦
⎤⎢⎣
⎡ ⎟⎠
⎞⎜⎝
⎛
−++⎟⎠
⎞⎜⎝
⎛
−− 1
2
1
2
N
W
N
W RR
πωπω
⎥⎦
⎤⎢⎣
⎡ ⎟⎠
⎞⎜⎝
⎛
−++⎟⎠
⎞⎜⎝
⎛
−− 1
π4
1
π404.0
N
W
N
W RR ωω
其中, )(ωRW 为矩形窗函数的幅度频率特性函数。
布莱克曼窗函数的最大旁瓣值比主瓣值低 57dB,但是主瓣宽度是矩形窗函数的主瓣宽
度的 3倍,为 12π/N。
Blackman函数:生成海明窗
ckman (n):输入参数 n是窗函数的长度;输出参数 w是由窗函数的值组成
的 n
来控制窗函数首尾的两个元素值;其取值为
symmetric或 periodic;默认值为 symmetric。
用归一化的幅值和频率),结
果如图 5-6所示。
程序
调用方式
(1) w = bla
阶向量。
(2) w = blackman (n,sflag):参数 sflag用
应用说明
例:生成一个长度为 50 的布莱克曼窗,并
观察其频率特性(使
n=51;
window=blackman(n); 图 5-6 布莱克曼窗及其频谱特性
第 5章 窗 函 数 • 161 •
[h,w]=freqz(window,1);
plot(w/pi,20*log(abs(h)/abs(h(1))));
5.4
数可以在主瓣宽度和旁瓣高度之间自由选择它们的比重,使
用户
凯塞窗函数的时域形式可表示为
subplot(1,2,1)
stem(window);
subplot(1,2,2);
凯 塞 窗
上面所讨论的几种窗函数,在获得旁瓣抑制的同时却增加了主瓣的宽度。而凯塞窗定
义了一组可调的窗函数,它是由零阶贝塞尔函数构成的,其主瓣能量和旁瓣能量的比例是
近乎最大的。而且,这种窗函
的设计变得非常灵活。
)(
1
211
)(
0
2
0
β
β
I
N
kI
kw
⎥⎥⎦
⎤
⎢⎢⎣
⎡
⎟⎠
⎞⎜⎝
⎛
−−−
= 10 −≤≤ Nk
是第 1类变形零阶贝塞尔函数, β 是窗函数的形状参数,由下式确定: )(0 βI其中,
⎪⎩
⎪⎨
⎧
<
≤≤−+−
>−
=
21,0
5021),21(07886.0)21(5482.0
50),7.8(1102.0
4.0
α
ααα
αα
β
其中,α为凯塞窗函数的主瓣值和旁瓣值之间的差值(dB)。改变 β 的取值,可以对主
瓣宽度和旁瓣衰减进行自由选择。β 的值越大,窗函数频谱的旁瓣值就越小,而其主瓣宽
度就越
Kaiser函数:生成凯塞窗
度;输入参数 beta用于控制旁瓣的高度;
输出
定时,n发生变
化,其旁瓣高度不会发生变化。
谱的旁瓣高度与主瓣
宽度,结果如图 5-7所示。
宽。
调用方式
w = kaiser(n,beta):输入参数 n是窗函数的长
参数 w是由窗函数的值组成的 n阶向量。
n一定时,beta越大,其频谱的旁瓣就越小,
但主瓣宽度相应的增加;当 beta一
应用说明
例 1:beta的取值影响频
图 5-7 不同 beta系数凯塞窗的比较结果图
MATLAB在数字信号处理中的应用 • 162 •
程序
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');
图 5-8 不同长度凯塞窗的比较结果图
例 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.5 切比雪夫窗
对于给定的旁瓣高度,切比雪夫窗的主瓣宽度最小。这是因为它的旁瓣具有相同的高
度,也就是具有等波纹性。切比雪夫窗在边沿的采样点有尖峰。
Chebwin函数:生成切比雪夫窗
调用方式
图 5-9 切比雪夫窗及其频谱特性
w = chebwin(n,r):输入参数 n是窗函数的长
度;输入参数 r 用于控制旁瓣的峰值低于主瓣的
分贝数。
应用说明
例:生成长度为 50,频谱的旁瓣峰值低于主
瓣 50dB的切比雪夫窗,其频率特性如图 5-9所示。
第 5章 窗 函 数 • 163 •
程序
n=50;
r=50;
window=chebwin(n,r);
[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))));
5.6 小 结
本章主要介绍了数字信号处理领域中窗函数的有关知识。实际中遇到的离散时间信号
总是有限长的,因此不可避免地要遇到数据截断问题。而在信号处理中,对离散序列的数
据截断是通过序列与窗函数相乘来实现的。而且,有关滤波器的设计、功率谱估计等基本
概念也要用到窗函数。
本章对经常用到的下面 8 个窗函数:矩形窗函数、三角窗函数、巴特利特窗函数、汉
宁窗函数、海明窗函函数、布莱克曼窗函数、凯塞窗函数以及切比雪夫窗函数,先是做了
基本概念上的阐释,然后对其 MATLAB 实现函数做出了说明,最后又结合具体的实例,
对这些窗函数的频域特性等进行了介绍。
通过本章的学习,相信用户已经切实掌握了窗函数的基本知识及其实际应用的技巧了。
5.7 习 题
1. 简单叙述矩形窗函数、三角窗函数、巴特利特窗函数、广义余弦窗、汉宁窗函数、
海明窗函数、布莱克曼窗函数、凯塞窗函数和切比雪夫窗函数的各自特点。
2. 分别生成下列窗函数,并使用归一化的幅值和频率观察其频率特性。
(1) 长度为 30的矩形窗
(2) 长度为 50的三角窗
(3) 长度为 40的巴特利特窗
(4) 长度为 60的汉宁窗
(5) 长度为 90的海明窗
(6) 长度为 80的布莱克曼窗
3. 通过MATLAB程序,观察 beta的取值如何影响凯塞窗的频谱旁瓣高度与主瓣宽度。
4. 生成长度为 50,频谱的旁瓣峰值低于主瓣 50dB的切比雪夫窗。
第5章 窗 函 数
5.1 窗函数基本概念
5.2 基本窗函数
5.2.1 矩形窗函数
Boxcar函数:生成矩形窗
5.2.2 三角窗函数
Triang函数:生成三角窗
5.2.3 巴特利特窗函数
Bartlett函数:生成巴特利特窗
5.3 广义余弦窗
5.3.1 汉宁窗函数
hanning函数:生成汉宁窗
5.3.2 海明窗函数
Hamming函数:生成海明窗
程序
5.3.3 布莱克曼窗函数
Blackman函数:生成海明窗
程序
5.4 凯 塞 窗
Kaiser函数:生成凯塞窗
程序
程序
5.5 切比雪夫窗
Chebwin函数:生成切比雪夫窗
程序
5.6 小 结
5.7 习 题