应用 MATLAB 的矩形时间窗频谱泄漏分析
陈向东 黄庆华
(黄淮学院 河南 驻马店 463000)
[摘要]在对加了矩形时间窗的信号进行 DFT 频谱分析时,常存在频谱泄漏,影响了待分析信号的频谱
强度分布。应用功能强大的 MATLAB 作为基本分析工具,不仅可以清楚、直观地揭示出频谱泄漏的原因,
还能发现频谱泄漏的一些重要特点,对纯理论分析起到弥补作用。
[关键词] MATLAB;矩形时间窗;频谱泄漏;基本频谱分量
[中图分类号]TN911.6 [文献标识码]A
1 前言
在进行信号分析处理时,为了便于计算机处理,必须对实际模拟信号进行采样并在时间
上截取一定片段,这段时间就是所谓的时间窗。任何在时域上对采样信号的截取都可以看作
对信号在时域上加窗。如果窗外的信号均认为是零,窗内的信号保持原值不变,就是对信号
加了矩形窗。在对窗内的信号采用离散傅立叶变换(DFT)进行频谱分析时,通常会存在频
谱泄漏现象,尤以矩形窗最为严重,影响到信号的处理。分析频谱泄漏的成因和特点并加以
利用,很有必要。利用 MATLAB 作为基本工具对频谱泄漏进行分析,可以起到事半功倍的
效果。
2 矩形窗频谱泄漏分析
2.1 矩形窗频谱泄漏成因
对采样后的无限长正弦波 cosΩ0n 截取后的有限长正弦波 x[n]可以看作是正弦波 cosΩ0n
和矩形窗 p[n-q]的乘积,即 x[n]=(cosΩ0n)p[n-q]。已知矩形窗 p[n-q]的离散时间傅立叶变换
(DTFT)为 Ω−Ω
Ω+
=Ω jqe
/2)sin(
])
2
1sin[(q
)P( ,设 q=10,用 MATLAB 程序可画出其 0≤Ω≤π/2 频段
的频谱图形(见图 1)。显然,波瓣宽度为 2π/(2q+1)≈0.3。现在研究有限长正弦波
x[n]=(cosΩ0n)p[n-q],其中 0≤Ω0≤π,由矩形脉冲 p[n]的定义可知:
无限长正弦波 cosΩ0n,-∞
表示,此时没有频谱
泄漏;当 Ω0 和 (2 π
κ)/(2q+1)中的任一个值
都不相等时,所有的 Xκ
都不和频谱图的零点重
合,值都不为 0(见图 4
和图 5),发生了所谓频
谱泄漏,x[n]的 N 点 DFT 和正弦信号 cosΩ0n 在 0≤Ω0≤π 区间的 DTFT 相差很大。从图中
可以清楚地看出频谱泄漏的原理。理论计算表明:x[n]的 N 点 DFT 为
0
0
2 1 2X ( ) [ ( )
2 1 2 2 1
2 ( )]
2 1
X P
q q
P
q
κ
πκ πκ
πκ
= = +Ω+ +
+ −Ω+
,κ =0,1,2, …, 2q
图 5 q=10,Ω0=9π/21 的│X(Ω)│
Ω0
图 6 q=10,Ω0=10π/21 的│X(Ω)│
Ω0
图 3 q=10,Ω0=8π/21 的│X(Ω)│
Ω0
图 4 q=10,Ω0=8.5π/21 的│X(Ω)│
Ω0
式中:
0
0
0
0
1 2sin[( )( )]
2 2 2 1( ) 22 1 sin[( ) / 2]
2 1
2 exp[ ( )]
2 1
q
qP
q
q
jq
q
πκ
πκ
πκ
πκ
+ ±Ω+±Ω =+ ±Ω+
− ±Ω+
假设当 n 从 n=0 变化到 n=2q 时 cosΩ0n 经历 r 个完整周期(0≤r≤q),此时 Ω0=(2π
r)/(2q+1)。那么:
0
0
0
0
1 2sin[( )( )]
2 2 2 1( ) 22 1 sin[( ) / 2]
2 1
2 exp[ ( )]
2 1
q
qP
q
q
jq
q
πκ
πκ
πκ
πκ
+ ±Ω+±Ω =+ ±Ω+
− ±Ω+
2 1 2 2sin[( )( )]
2 2 1 2 20 exp[ ]2 2 2 1sin[( ) / 2]
2 1
q r
q rjqr q
q
πκ π
πκ π
πκ π
+ ±
+ ±= −± +
+
sin( ) 2 2exp[ ]2 2 2 1sin[( ) / 2]
2 1
r rjqr q
q
πκ π πκ π
πκ π
± ±= −± +
+
,κ =0,1,2, …, 2q
这样: 0
2 1 , r 2( )
0, =0,1, ...,r-1,r 1,..., 2q 2 1
q
P
q
κπκ
κ
+ =⎧⎪−Ω = ⎨ ++ ⎪⎩
0
2 1 , 2 1 r 2( )
0, =0,1, ...,2q-r,2q 2-r,..., 2q 2 1
q q
P
q
κπκ
κ
+ = + −⎧⎪+Ω = ⎨ ++ ⎪⎩
最后,由下式给出 DFT 的 Xκ:
⎪⎪
⎪
⎩
⎪⎪
⎪
⎨
⎧ +
≤≤
++=
r = ,
2
1
2q= 0 0
r -12q= ,
2
1
κ
κκ
κκ
q
qX
的所有其它,
(1)
由于κ=r对应于频率点Ω0=(2πr)/(2q+1),这表明,在频率范围从 0 到π这一区域的DFT,
频谱分量出现在预期的位置,所以,该 DFT 是正弦信号 cosΩ0n 的 DTFT 的一个真实表示。
假设 Ω0 是从 0 到π的任一不等于 2πκ/(2q+1)频率,此时 Ω0和基本频谱分量 2πκ/(2q+1)
不重合,(1)式不再成立,不仅 Ω0 两侧的两个最近基本频谱分量的值不为 0,附近的基本
频谱分量的值都不为 0(具体值的大小分布情况与 Ω0 和基本频谱分量 Xκ的偏移量有关),
这种现象称为泄漏,意思是集中在 Ω0 处的频谱分量扩展(或泄漏)到 Ω0 附近的基本频谱分
量 2πβ/(2q+1)(β是整数)中,这和图中显示的结果是一致的。当 q=10,N=2q+1=21,且
Ω0=2πm/21(m=4.0,4.1,4.2, …,5)时,用 MATLAB 算出 DFT Xκ的值如表 1 所示。从表中
可见,当 m为整数(如 m 等于 4 和 5)时,Ω0 准确地出现在对应的位置上,基本频谱分量的
功率值为(q+0.5)2 ,其它基本频谱分量的值都为 0;当 Ω0 处于任何两个基本频谱分量之间(如
4
书