You are on page 1of 25

第二章 数字信号处理基础

对采集到的信号进行处理,除了传统的时域分析之外,各种各样的变换发挥了重要作用,

从最熟悉的傅立叶(Fourier)变换,到现在的小波(wavelet)变换,以及主成分分析(principal

component analysis),独立成分分析(independent component analysis)和稀疏成分分析(sparse

component analysis)。每一种变换都有其独特的视野,为信号的分析处理提供了不同的思路。

这里我们将介绍最基本的一种变换,在线性时不变系统中广泛使用的傅立叶变换以及频谱分

析,本章还是以离散数据为主,介绍离散傅立叶变换(DFT)的有关知识。

第一节 傅立叶变换及其意义(Fourier Transform)

傅立叶分析方法的建立有过一段漫长的历史,涉及到很多人的工作和不同物理现象的研

究。在近代欧拉、伯努利、傅立叶、狄里赫利等学者的努力完善下,建立了傅立叶分析方法,

他们主要是集中在连续时间信号的分析问题上。与此同时,对于离散时间信号的傅立叶分析

方法却有着不同的发展过程,用于处理离散数据以产生数值近似的有关内插、积分和微分等

方面的公式早在 17 世纪的牛顿时代就被研究过,从事时间序列的研究曾吸引了 18、19 世纪

包括高斯在内的许多著名科学家,从而为离散傅立叶变换提供了数学基础。

在 20 世纪 60 年代中期,库利(Cooley)和图基(Tukey)独立发表了一篇论文,也就

是快速傅立叶变换算法(FFT)。FFT 是非常高效的算法,使得计算变换所需要的时间减少

了几个数量级,由于计算机速度的迅速提高,越来越多的连续时间信号被离散化,然后用计

算机进行处理。

2.1.1 傅立叶变换的意义及各种变换对

利用“三角函数和”的概念来描述周期性过程至少可以追溯到古代巴比伦人时代,三角

函数和也即是成谐波关系的正弦和余弦或周期复指数函数的和。这些成谐波关系的复指数函

数在 LTI 系统分析中变得十分有用:如果一个 LTI 系统的输入可以表示为周期复指数的线性

组合,则输出也一定能表示成这种形式,并且输出线性组合中的加权系数与输入中对应的系

jw
数有关,如图 2.1 所示, x (n) 表示输入或者激励, y (n) 表示系统输出或者响应, H (e ) 表
示系统单位脉冲响应 h(n) 的频率响应。

x (n) y (n) x(n) y (n)


jw jw
H (e ) H (e )
e jw0 n H (e jw0 )e jw0 n ∑A e
k
k
jwk n
∑ A H (e
k
k
jwk
)e jwk n

图 2.1 成谐波关系的复指数信号的响应

在研究 LTI 系统时,复指数信号的重要性就体现在图 2.1 中:一个 LTI 系统对复指数信号的

jwk
响应也是同样一个复指数信号,不同的只是乘了一个复振幅因子 H (e ) ,频率并没有发生

变化,由于是复数因子,就有了幅度和相位或者实部和虚部的变化。

表 2.1 简要地综合了连续和离散时间信号的傅立叶级数和傅立叶变换表达式,有时候为

了统一,也把周期信号的傅立叶级数表示利用单位脉冲序列或单位冲激函数表示成傅立叶变

换。

表 2.1 各种信号的傅立叶级数和傅立叶变换对

傅立叶级数 傅立叶变换

+∞
+∞
∑a e
1

~
x (t ) = jw0 kt
x(t ) = X ( jw)e jwt dt

k
−∞
时域 k = −∞

时域是连续非周期的
时域是连续周期的

1 +∞

频域
ak =
T0 ∫T0
~
x (t )e − jw0 kt dt X ( jw) = ∫ x(t )e − jwt dt
−∞

频域是连续非周期的
频域是离散非周期的

~
x ( n) = ∑ a~ e k
jk ( 2π / N ) n
x ( n) =
1
∫π X (e
jw
)e jwn dw
时域 k =( N ) 2π 2

时域是离散周期的
时域是离散非周期的

+∞
1
a~k =
N
∑ ~x (n)e − jk ( 2π / N ) n X (e jw ) = ∑ x ( n)e − jwn

频域 n =( N ) n = −∞

频域是离散周期的 频域是连续周期的

从表 2.1 可以发现傅立叶变换在 LTI 系统分析中的思想,就是把一个无论多复杂的输入

信号分解成复指数信号的线性组合,那么系统的输出也能通过图 2.1 的关系表达成相同复指

数信号的线性组合,并且在输出中的每一个频率的复指数函数上乘以系统在那个频率的频率
响应值。系数 {a k } 称为信号 ~
x (t ) 傅立叶级数系数或频谱系数或线谱等; X ( jw) 称为 x(t ) 的

jw
频谱; X (e ) 也称为 x(n) 的频谱。作为线性组合所取的形式从求和过渡到积分,就是利用

傅立叶的思想,一个非周期信号可以看成是周期无限长的周期信号,当周期增加时,基频 w0

越小,成谐波关系的各分量在频率上越来越近,当周期变得无穷大时,离散的线谱就形成了

一个连续谱,也就从求和变成了积分。

从表 2.1 中时域和频域的关系还能得到如下规律:时域的离散必然导致频域的周期化,

频域的离散必然导致时域的周期化。简单的说,就是一个域离散必然另外一个域周期,相反

的,如果一个域连续必然另外一个域是非周期的。掌握了这个规律,我们很快就能判断出一

个信号在频域的表现形式。

2.1.2 离散傅立叶变换(DFT)

表 2.1 中给的四对傅立叶级数和傅立叶变换对在理论上有重要的意义,但在实际中往往

难以实现,尤其在数字计算机上实现是不太现实的,例如计算机无法处理连续的周期的信号。

因此我们需要的是一种在时域和频域都离散、非周期的一对傅立叶变换对,这就是离散傅立

叶变换,简称(DFT)。离散傅立叶变换的导出有多种方法,比较方便同时物理意义也比较

清晰的是从离散时间傅立叶变换(DTFT)和从离散傅立叶级数(DFS)入手。DTFT 变换

+∞
为: X (e
jw
)= ∑ x ( n )e
n = −∞
− jwn
,时域是离散非周期的,但频域是连续周期的,对连续变量 w

均匀采样,也就是对单位圆进行 N 等分,取一个周期的结果即得:

N −1 2π
−j
= ∑ x ( n )e
nk
jw
X (e ) 2π
N
,0 ≤ k ≤ N − 1 ,这样频谱变量由连续量 w 变成了离散变量。
w= k
N n=0

从 DFS 到 DFT 更加明显,DFS 对应的时域和频域都是离散周期信号,可以在这两个域中分

别取它们的主值,也就是限定在一个周期内,这样就得到了 DFT 变换对。具体给出如下:

N −1 2π
−j
X (k ) = DFT [ x(n)] = ∑ x(n)e
kn
N
,0 ≤ k ≤ N − 1 (2-1)
n =0

N −1 2π
1
∑ X ( k )e
j nk
x(n) = IDFT [ X (k )] = N
,0 ≤ n ≤ N − 1 (2-2)
N k =0

式(2-1)称为正变换,式(2-2)称为反变换。注意这一对变换对中信号 x (n) 的长
度为 N,它的频谱 X (k ) 点长也为 N,则 x (n) 和 X (k ) 具有唯一的映射对应关系。也有可能

给一个 7 点的时间序列,求该信号的四点 DFT 或者 10 点 DFT,明显前者求得的频谱不能真

实反映出信号,而后者不存在混叠现象,能反映出信号的频谱。因此在求 DFT 时要注意到

底是求多少点长的 DFT,只有时域样点数小于或等于频域样点数,频谱才是真实的反映。

【例 2-1】试计算常用信号 R N (n) 和 cos( n) R N (n) 的 N 点 DFT。
N
解: R N (n) 表示一个矩形窗,在滤波器设计中经常使用,我们在对一段未知信号进行

分析时的截取实际上就相当于乘了一个矩形窗,在实际分析信号时要注意矩形窗对信号频谱

的影响。

⎧ N,k = 0
N −1 −j
2π ⎪⎪ −j

X 1 ( k ) = ∑ R N ( n)e
kn kN
N
= ⎨1 − e N = Nδ (k ),0 ≤ k ≤ N − 1
n =0 ⎪ 2π
= 0, k = 1,2L , N − 1
−j
⎪⎩ 1 − e N
k

2π 2π 2π
N −1
4π −j 1 N −1 − j N n ( k − 2 ) 1 N −1 − j N n ( 2+ k )
X 2 (k ) = ∑ cos( n)e = ∑e + ∑e
kn
N

n =0 N 2 n =0 2 n =0

与 X 1 (k ) 的求法类似,可得:


N 1 N −1 − j n ( 2+ k − N ) N
X 2 (k ) = δ (k − 2) + ∑ e N = [δ (k − 2) + δ (k − ( N − 2))],0 ≤ k ≤ N − 1
2 2 n =0 2
2π 2π
−j −j
为了表示方便,一般用符合 W N 来表示正交序列集中的基 e N
,即 W N = e N
。因此

离散傅立叶变换对也可表示为:

N −1
X (k ) = DFT [ x(n)] = ∑ x(n)W Nnk ,0 ≤ k ≤ N − 1 (2-3)
n =0

N −1
1
x( n) = IDFT [ X (k )] =
N
∑ X (k )W
k =0
− nk
N ,0 ≤ n ≤ N − 1 (2-4)

WN 具有下列性质:

周期性, W Nn = W Nn + rN

共轭对称性, W Nn = (W N− n ) ∗

可约性, W Nrn = W Nn / r 或 WrNrn = W Nn


以上性质很容易证明,它们是计算傅立叶变换中非常有用的特性。

第二节 傅立叶变换的性质(Properties of the Fourier


Transform)

离散傅立叶变换是有限长序列的 z 变换在单位圆上抽样的结果,因而很多性质和序列傅

立叶变换性质类似,但由于 DFT 又可以从离散傅立叶级数引入,因而隐含了周期性,所以

又有些不同。

设序列 x (n) 和 y (n) 都是 N 点长,它们对应的 N 点 DFT 分别为 X (k ) 和 Y (k ) ,来讨论

傅立叶变换的一些性质。

1. 线性

DFT [ ax ( n) + by ( n)] = aX ( k ) + bY ( k ),0 ≤ k ≤ N − 1 (2-11)

a,b 为任意常数。如果两个序列的长度不同,则短的序列补零使得两个序列长度相同即可。

2. 时间翻转特性

DFT [ x ( N − n)] = X ( N − k ) (2-12)

N −1 N N
证明: DFT [ x ( N − n)] = ∑ x( N − n)WNnk = ∑ x(m)WN( N −m ) k = ∑ x(m)WNm( N −k )
n =0 m =1 m =1

这里需要补充 x ( N ) = x (0) ,因而有 DFT [ x ( N − n)] = X ( N − k )

3. 序列的循环移位
序列的循环移位在第六章详细介绍过,这里简单给出循环移位的定义:

f (n) = x((n + m)) N R N (n) (2-13)

上式表示的含义为,先将序列 x (n) 以 N 为周期进行周期性延拓,得到 ~


x ( n ) ,然后再进行

移位,得到 ~
x (n + m) = x((n + m)) N ,最后取主值序列,得到的 f (n) 仍然是一个 N 点长的

序列。循环移位后的 DFT 为:

N −1
F ( k ) = DFT [ f ( n)] = ∑ x((n + m)) N W Nnk R N (n) = W N− mk X (k )
n=0
N −1
~
= R N (k )∑ ~ x (n + m)W Nnk = R N ( k ) DFS [ ~
x (n + m)] = R N ( k )W N− mk X (k ) = W N− mk X (k )
n=0

因此,序列循环移位后的 DFT 为:

F (k ) = W N− mk X (k ) (2-14)

即序列的循环移位相当于频域的相移。根据时域和频域的对偶性质,则频域的循环移位对应

时域的调制:

W Nmn x ( n) = IDFT [ X (( k + m)) N R N (k )] (2-15)

4. 循环卷积
第六章介绍了循环卷积的计算,这里考虑时域循环卷积结果和频域的关系。设

F (k ) = X ( k )Y (k )

则有

N −1
f (n) = ∑ x(m) y ((n − m)) N R N (n) (2-16)
m =0

证明:

N −1
1
f ( n) = IDFT [ X (k )Y (k )] =
N
∑ X (k )Y (k )W
k =0
− nk
N

N −1 N −1
1
=
N
∑ (∑ x(m)W
k =0 m =0
mk
N )Y (k )W N− nk

N −1
1 N −1
= ∑ x ( m) [∑ Y (k )W N−( n − m ) k ]
m =0 N k =0

N −1
= ∑ x(m) y ((n − m)) N R N (n)] (2-17)
m =0

通常把式(9-16)称为循环卷积,它的结果仍然是 N 点长的序列,循环卷积交换序列

的先后次序得到的结果都相同。时域和频域的对偶关系,可以得到频域循环卷积对应时域相

乘:

N −1
1
DFT [ x( n) y (n)] =
N
∑ X (l )Y ((k − l ))
l =0
N R N (k ) (2-18)

时域循环卷积对应于 DFT 的相乘,注意不要和线性卷积混淆,两个序列线性卷积对应

于 DTFT 的相乘:
⎧ DFT [ x(n) ⊗ ∗ y (n)] = DFT [ f (n)] = X (k )Y (k )
⎨ (2-19)
⎩ DTFT [ x(n) ∗ y (n)] = DTFT [e(n)] = X (e )Y (e )
jw jw

式中 ∗ 表示循环卷积运算符,式中 ∗ 表示线性卷积运算符。循环卷积和线性卷积存在一定关

系,由第六章知道,循环卷积 f (n) 是 N 点循环卷积结果,序列长度为 N,线性卷积 e(n) 序

列长度为 2N-1。假设序列 f 1 ( n) 是 x ( n ), y ( n ) 两个序列的 L 点循环卷积,L>N,就需要对

+∞
x ( n), y ( n) 补零,然后以 L 为周期进行周期延拓, ~
y ( n) L = ∑ y(n + kL) ,则它们的 L 点
k = −∞

循环卷积为:

L −1 L −1 +∞
f 1 ( n) = ∑ ~ y (n − m) L R L (n) = ∑ x(m) ∑ y (n + kL − m) R L (n)
x ( m) L ~
m =0 m =0 k = −∞

+∞ L −1 +∞
= ∑ ∑ x(m) y(n + kL − m)RL (n) =
k = −∞ m = 0
∑ e(n + kL) R
k = −∞
L ( n) (2-20)

式(9-20)表示循环卷积是线性卷积以 L 为周期进行周期延拓,然后取 L 点主值的结果。

明显,如果 L ≥ 2 N − 1 ,线性卷积就等于循环卷积结果,如果 L < 2 N − 1 ,则循环卷积是

线性卷积以 L 为周期延拓的混叠。

【例 2-2】设有两序列分别为

x(n) = [1,1],
1, y (n) = [2,3,4,5]

求它们的线性卷积和 5 点循环卷积。

2 2
解:线性卷积 e( n) = ∑ x(m) y(n − m) = ∑ y(n − m) ,直接计算得到 6 点序列值:
m =0 m =0

e(0) = 2 , e(1) = 5 , e( 2) = 9 , e(3) = 12 , e( 4) = 9 , e(5) = 5

e( n) = [ 2,5,9,12,9,5]

4
循环卷积 f (n) = ∑ x(m) y ((n − m))
m =0
5 R5 (n) ,用表格法来计算,如表 2.2 所示。

表 2.2 表格法求循环卷积

n x(m) 1 1 1 0 0 f (n)

0 2 0 5 4 3 7

1 3 2 0 5 4 5
2 4 3 2 0 5 9

3 5 4 3 2 0 12

4 0 5 4 3 2 9

f ( n) = [7,5,9,12,9]

我们利用上述结果来验证式(2-20)是否正确。对线性卷积结果 e(n) 以 5 为周期进行

+∞
周期延拓,则有 f 1 ( n) = ∑ e ( n + 5k ) R ( n )
k = −∞
5

f1 (0) = e(0) + e(5) = 7 , f1 (1) = e(1) = 5 ,

f1 (2) = e(2) = 9 , f1 (3) = e(3) = 12 , f1 (4) = e(4) = 9

结果和 5 点循环卷积 f (n) 相同,比较这两个卷积结果,发现只有两点(n=0,n=5)

发生了重叠,其它点结果都相同。

【例 2-3】利用快速傅立叶算法来求两个序列的循环卷积。

解:设 x (n) 序列长 M, y (n) 序列长 N,求它们的 L 点循环卷积可以从频域入手,它们

对应的 L 点 DFT 分别为 X ( k ) = FFT ( x ( n), L ), Y ( k ) = FFT ( y ( n), L ) ,,由式(2-19),可

以得到它们的 L 点循环卷积为 IFFT ( X ( k ) ⋅ Y ( k )) 。即利用快速傅立叶算法可以计算循环卷

积。

5. 共轭对称性
我们知道任意一个信号可以表示成它的奇对称部分和偶对称部分之和,那里的对称是关

于坐标原点或者纵坐标的对称性。DFT 中的复序列 x& (n) 和频域 X (k ) 都是在 0 到 N-1 的范

围内,因而它的对称是在主值范围内的对称,称为周期共轭对称 x& e (n) 和周期共轭反对称

x& o (n) ,它们的对称关系如下:

⎧ x& e (n) = x& e∗ ( N − n)


⎨ ∗
0 ≤ n ≤ N −1 (2-21)
⎩ x& o (n) = − x& o ( N − n)

严格说上式当 n=0 时有 x& e∗ (N ) 出现,已经超过主值范围,所以一般补充认为 N 点的值就等

于在 0 点的值。
设任意有限长复序列 x& (n) 可以分解成周期共轭对称分量 x& e (n) 和周期共轭反对称分量

x& o (n) 之和:

x& (n) = x& e (n) + x& o (n) (2-22)

其中易证

⎧ 1
⎪ x& e (n) = [ x& (n) + x& ∗ ( N − n)]
2
⎨ 1
(2-23)
⎪ x& o (n) = [ x& (n) − x& ∗ ( N − n)]
⎩ 2
当 x (n) 是实数序列时,共轭可以去掉,得:

⎧ x e ( n) = x e ( N − n )
⎨ 0 ≤ n ≤ N −1 (2-24)
⎩ x o ( n) = − x o ( N − n)

x ( n) = x e ( n ) + x o ( n) (2-25)

⎧ 1
⎪ x e ( n) = 2
[ x(n) + x( N − n)]
⎨ 1
(2-26)
⎪ x o ( n) = [ x(n) − x( N − n)]
⎩ 2
同理,频域序列也可以分解成周期共轭对称分量和周期共额反对称分量之和:

⎧ X e (k ) = X e∗ ( N − k )
⎨ ∗
0 ≤ k ≤ N −1 (2-27)
⎩ X o ( n) = − X o ( N − k )

X (k ) = X e (k ) + X o (k ) (2-28)

周期共轭对称分量的含义是模数相等,幅角相反,周期共额反对称分量的含义是实部相

反,虚部相等。

易证明 DFT 的共轭对称性可以用下式表示:

⎧ DFT [ x& e (n)] = Re[ X ( k )]


⎪ DFT [ x& (n)] = j Im[ X (k )]
⎪ o
⎨ (2-29)
⎪ DFT [Re[ x& (n)]] = X e (k )
⎪⎩ DFT [ j Im[ x& (n)]] = X o (k )

【例 2-4】已知 X ( k ) = DFT [ x ( n)] ,若 x (n) 是实序列,并且 x ( n) = x ( N − n) ,试证

明 X (k ) 也是实偶对称的。

证明:由于 x (n) 偶对称,则 xo (n) = 0 ,由式(2-29)知 Im[ X ( k )] = 0 ,即 X (k ) 为


实序列。由于 x (n) 是实序列,则 Im[ x ( n)] = 0 ,因而 X o ( k ) = 0 ,即 X (k ) 为偶对称。证

毕。

6. 帕塞瓦尔(Parseval)定理

帕塞瓦尔(Parseval)定理是序列的能量定理,若 X ( k ) = DFT [ x& ( n)] ,则有

N −1
1 N −1
∑ x& (n) = ∑
2 2
X (k ) (2-30)
n=0 N k =0

证明:

N −1 N −1

∑ x& (n) = ∑ x& (n) x& ∗ (n)


2

n=0 n =0

N −1 N −1
1
= ∑[ ∑ X (k )W − nk
N ]x& ∗ (n)
n=0 N k =0

N −1 N −1
1
=∑ X (k )[∑ W Nnk x& (n)]∗
k =0 N n =0

N −1
1
=
N
∑ X (k )[ X (k )]
k =0

N −1
1
= ∑ X (k )
2

N k =0

计算序列的能量可以从时域或者频域入手。

【例 2-5】已知 x ( n) = [1,2,3,4,5,6] ,N=6,不求它的 DFT 结果,来计算下值:

N −1 N −1

∑ X (k ) ;(3) ∑ X (k )
2
(1) X (0) ;(2)
k =0 k =0

N −1
解:(1)利用正变换公式 X ( k ) = DFT [ x( n)] = ∑ x(n)W
n =0
nk
N ,令 k=0,得

N −1
X (0) = ∑ x(n) = 21
n=0

X (0) 即所有序列值之和。

N −1
1
(2)利用反变换公式 x (n) = IDFT [ X ( k )] =
N
∑ X (k )W
n =0
− nk
N ,令 n=0,得
N −1

∑ X (k ) = Nx(0) = 6
k =0

N −1
1 N −1
∑ x& (n) = ∑
2 2
(3)利用帕塞伐尔定理 X (k ) ,得
n=0 N k =0

N −1

∑ = N (1 + 4 + 9 + 16 + 25 + 36) = 546
2
X (k )
k =0

表 2.3 列出了 N 点 DFT 的主要性质。

表 2.3 DFT 的性质表

时域 频域

ax ( n) + by ( n) aX ( k ) + bY ( k )

x((n + m)) N R N (n) W N− mk X (k )

W Nmn x (n) X ((k + m)) N R N (k )

∗ y ( n)
x( n) ⊗ X ( k )Y ( k )

1
x (n) y ( n) X (k ) ⊗
∗ Y (k )
N
x ∗ (n) X ∗ (N − k)

xe (n) Re[ X ( k )]

xo (n) j Im[ X ( k )]

Re[ x( n)] X e (k )

j Im[ x ( n)] X o (k )

N −1 N −1
1
∑ ∑ X (k )
2 2
x(n)
n=0 N k =0

第三节 频域分析(Frequency Domain analysis)

离散傅立叶变换作为傅立叶变换的一种近似而得到广泛应用,它的快速算法保证了 DFT

在实时信号处理中的应用。下面介绍频谱分析中常用的几种。
1. 幅度谱

N 点长序列 x (n) 的 DFT 结果 X (k ) ,是离散的复序列,可以用下式表示:

X (k ) = X (k ) e j∠X ( k ) (2-31)

代入傅立叶变换的反变换公式有:

N −1 2π
1 kn + ∠X ( k )]
∑ X (k ) e
j[
x ( n) = N
(2-32)
N k =0

离散傅立叶变换的模 X (k ) = [Re( X (k ))] + [Im( X (k ))] ,表示信号 x (n) 的各复指


2 2


数信号的频率分量( ω k = k ,0 ≤ k ≤ N − 1 )的相对大小。例如,在 k=0 附近小范围以
N
外 X (k ) = 0 ,那么 x (n) 所呈现的仅是相当低的频率。


如果序列 x (n) 是实序列,根据例题 2-4,则 X (k ) 偶对称, X (k ) = X ( N − k ) ,即模

数相等 X (k ) = X ( N − k ) ,幅角相反 ∠X ( k ) = −∠X ( N − k ) 。这时画出的幅度谱就是偶

对称的,往往只需要画一半即可。

画幅度谱时,采用对数坐标也是很常用的,即幅度大小用 20 log10 X (k ) 来代替,这时

纵坐标的单位就是分贝(dB),0 分贝对应模等于 1,20 分贝就对应 10 倍的增益,-20 分

贝对应于衰减 0.1,等等。
3π π 1 5π π
【例 2-6】已知信号 x( n) = [cos( n + ) + cos( n + )]R N (n) ,N 取一个周期
16 3 2 16 4
的大小,画出该信号的幅度谱并解释该图。

2π 32m
解:信号的第一个成分的周期为,Q N 1 = m= ∴ N1 = 32 ,第二个成分的周
3π 3
16

2π 32m
期为,Q N 2 = m= ∴ N 2 = 32 ,因而 x(n) 的周期为 N=32。
5π 5
16

31
3π π 1 5π π − j nk
X (k ) = ∑ [cos( n + ) + cos( n + )]e 32
n =0 16 3 2 16 4

31 ⎧ π 2π π 2π π 2π π 2π
1 j − j n ( k −3) 1 − j 3 − j 32 n ( k +3) 1 j 4 − j 32 ( k −5) 1 − j 4 − j 32 n ( k +5) ⎫
= ∑ ⎨ e 3 e 32 + e e + e e + e e ⎬
n =0 ⎩ 2 2 4 4 ⎭
π π π π
j −j j −j
= 16e δ (k − 3) + 16e
3 3
δ (k + 3 − N ) + 8e δ (k − 5) + 8e
4 4
δ (k + 5 − N )
π π π π
j −j j −j
= 16e 3 δ (k − 3) + 16e 3
δ (k − 29) + 8e 4 δ (k − 5) + 8e 4
δ (k − 27),0 ≤ k ≤ N − 1
幅度谱为:

⎧16 k = 3, or , k = 29

X (k ) = ⎨ 8 k = 5, or , k = 27
⎪0
⎩ others

因此信号的幅度谱如图 2.6 所示。

图 2.6 信号的幅度谱

由幅度谱可以看出信号只在 k=3,5,27,29 有大小,它代表的含义是信号所包含的各个复

指数频率分量的大小,即只有四个复指数频率分量存在:
2π 3π 2π 5π 2π 27π 2π 29π
ω3 = 3= , ω5 = 5= , ω 27 = 27 = , ω 29 = 29 =
N 16 N 16 N 16 N 16
k=3,29 的复指数分量大小是 k=5,27 的复指数分量的一倍。这些和信号 x (n) 的幅度、

频率信息相符合,但是没有给出该信号的相位信息。由于幅度谱的偶对称性,往往只画出一

半的幅度谱即可。

2. 相位谱

Im[ X (k )]
∠X (k ) 表示相位角, ∠X (k ) = tg −1 ( ) ,它的大小不会影响各复指数频率分
Re[ X (k )]

量的大小,但能提供这些频率的初始相位信息。∠X (k ) 对信号 x (n) 的性质有着显著的影响,

因此一般包含了信号的大量信息,用相同的幅度谱和不同的相位谱得到的信号完全不同。

如果序列 x (n) 是实序列, ∠X ( k ) = −∠X ( N − k ) ,即相位谱是奇对称。

【例 2-7】画出例题 2-6 的相位谱并解释该图。


解:因为

X (k )
π π π π
j −j j −j
= 16e 3 δ (k − 3) + 16e 3
δ (k − 29) + 8e 4 δ (k − 5) + 8e 4
δ (k − 27),0 ≤ k ≤ N − 1
相位谱为:

⎧π
⎪ 3 k =3
⎪ π
⎪− k = 29
⎪ 3
∠X (k ) = ⎨ π
⎪ 4 k =5
⎪ π
⎪− k = 27
⎪ 4
⎩ 0 others

因此信号的相位谱如图 2.7 所示,纵坐标表示相位角除以 π 的大小,由相位谱可以看出信号

只在 k=3,5,27,29 有值,它代表的含义是信号所包含的各个复指数频率分量的初相位,
5π π
例如 k=5 表示信号的复指数频率分量为 的初相位为 。这些和信号 x (n) 的相位信息相
16 4
符合,但是没有给出该信号的幅度信息。由于相位谱的奇对称性,往往只画出一半即可以得

到另外一半的图形。

图 2.7 信号的相位谱

3. 功率谱

信号 x (n) 的离散傅利叶变换 X (k ) 一般是一个复数, X (k ) 与其共轭 X (k ) 之积称为

自功率谱,简称自谱或功率谱。其他文献多叫功率谱密度(函数),其表示为:
1 1
P(k ) = X (k ) X ∗ (k ) = X ( k ) ,0 ≤ k ≤ N − 1
2
(2-33)
N N
系数 1/N 是为了满足式能量定理而进行的调整。 P (k ) 反映的是信号的功率密度,在图
形上与幅度谱类似,只是大小不同,功率谱不含相位信息,所以由功率谱不能恢复原始信号,

因为存在多义性。

可以证明,线性自相关函数和功率谱是一对离散时间傅立叶变换对(DTFT),相应的循

环自相关函数和功率谱是一对离散傅立叶变换对(DFT),考虑序列 x (n) 可能是复数,由于

实际得到的 x (n) 是一段样本序列,因而它的自相关利用第三章的定义式(3-21),因而:

N −1
1
DFT [ R xx ( m)] = DFT [
N
∑ x ( n) x
n =0

((n + m)) N R N (n)]

N −1 N −1
1
=
N

m =0
[∑ x (n) x ∗ ((n + m)) N R N (n)]W Nmk
n =0

N −1 N −1
1
=
N
∑ x ( n) ∑ x
n=0 m =0

((n + m)) N R N (n)W Nmk

N −1
1
=
N
∑ x(n)DFS[ x
n =0

((n + m)) N ]R N (k )

N −1
1
=
N
∑ x(n)[W
n =0
− nk
N X (( k )) N ]∗ R N (k )

N −1
1 1
=
N
∑ x(n)W
n=0
nk
N X ∗ (k ) =
N
X (k ) X ∗ (k ) = P(k )

功率谱是正、实序列。当 x (n) 是实序列时,自相关序列也是实序列,则功率谱是偶对

称的。从功率谱和自相关函数之间的关系,我们知道功率谱蕴涵着集合统计的实质,一个随

机信号的自相关和功率谱都表达了随机信号的统计平均特性。

同样,可以给出两个信号之间的互功率谱的定义:
1 ∗
Pxy (k ) = X (k )Y (k ),0 ≤ k ≤ N − 1 (2-34)
N
【例 2-8】画出例题 2-6 的功率谱并解释该图。

⎧16 k = 3, or , k = 29

解:由例题 2-6 知 X (k ) = ⎨ 8 k = 5, or , k = 27
⎪0
⎩ others
1 1
Q P(k ) = X (k ) X ∗ (k ) = X ( k ) ,0 ≤ k ≤ N − 1
2

N N
⎧8 k = 3, or , k = 29
1 ⎪
∴ P(k ) = | X (k ) | = ⎨2 k = 5, or , k = 27
2

32 ⎪0
⎩ others

因此功率谱如图 2.8 所示,该图表示信号各复指数频率分量的功率,波形与幅度谱类似,

大小略有不同,也没有包含相位信息。

图 2.8 信号的功率谱

一般信号都是包含多种频率分量的,数据点也比较长,这时可以利用计算机的快速傅立

叶变换来计算 DFT,然后画出该信号的幅度谱、相位谱、功率谱进行分析。图 2.9 是心电信

号及其功率谱。

图 2.9(a)心电信号(b)功率谱

第四节 频域分辨率和谱图表示(Frequency Resolution in


Frequency Domain)

利用离散傅立叶变换进行频谱分析时会引起误差,常见的就是由于离散傅立叶变换本身
采样和截断过程所引起的混叠、泄漏、栅栏现象等。如果要分析的信号是连续信号,就必须

先采样,当采样频谱比信号最高频率的两倍要小,即 f s < 2 Fh ,就会发生混叠现象,可以

提高采样率来避免混叠现象。如果要分析的信号是周期连续信号,就必须要对该信号截取一

段来进行分析,即加了一个窗,便会发生泄漏现象,这时离散傅立叶变换的结果似乎是将原

信号频谱扩展到整个频率范围,使得无法反映真正的频谱,要想减少泄漏可以通过加不同的

窗函数来截取信号。离散傅立叶变换是对离散时间傅立叶变换的采样,它只给出频谱在离散

点( ω k =k )上的值,而无法反映这些点之间的频谱内容,这就是栅栏现象,改善栅
N

栏效应的一种方法是信号后面补若干个零,通过补零来调整坐标上 ω k = k 的位置。
M
在时域中,数字信号的时间分辨率由采样间隔Δt 决定。在频域中,频域分辨率 Δf (两

相邻谱线间的频率差值)由采样频率 f s 和采样点数 N 决定:

fs
Δf = (2-35)
N

式中 f s 由采样定理决定,因此,要提高频域分辨率,就得增加采样点数 N。如果数据

量略有不足,传统方法是在数据尾部填 0 来解决,称为高密度频谱(the high density

spectrum)。但是补零并不能提高频域分辨率,我们认为填入适当的现有数据会更好,称为

高分辨率频谱(the high resolution spectrum)。

一般说来,功率谱、幅度谱、位相谱等皆为离散值而非连续值,把上述谱绘成连续谱线

图是不恰当的,是误解,在由频率分辨率决定的两条谱线间的值是不能确定的或不存在的,

如 果 将 谱 线绘 成 连 续 曲线 则 会 误 解为 两 条 谱 线间 的 值 是 确定 的 。 假 如频 率 分 辨 率为

f 0 =1Hz,而原始信号中又确有如 1.3Hz 或 1.7Hz 的频率成分存在,在谱线中是表现不出来

的。

【例 2-9】高密度频谱和高分辨率频谱的比较。设信号为:

x( n) = cos( 0.48πn) + cos( 0.52πn)

利用有限长序列的 FFT 来分析下列情况的幅度谱,

(a)采集数据长度 N=10,即 0 ≤ n ≤ 9 ,做 10 点的 DFT,画出幅度谱。

(b)采集数据长度 10 点,但补 90 个零,做 100 点的 DFT,画出幅度谱。

(c)采集数据长度 100 点,同样画出幅度谱。


解:利用 FFT 编程实现上述三种情况下的幅度谱,分别计算 10 点 FFT、100 点 FFT,

为了比较频率,把坐标 k 通过 ω k = k 转化成频率的坐标,由于幅度谱的偶对称只画出
N
一半的 DFT 结果即可,因此 ω k 的范围是从 0~ π ,把它归一化,则最后结果如图 2.11 所示。

图 2.11 三种情况下的幅度谱图

图 2.11 的第一列是三种信号,第二列是对应信号的 DFT 幅度谱。第一行是采集 10 点,



然后做 DFT,由于取的点数太少,分辨率太低: = 0.2π ,从幅度谱中无法确定该信号
10
的频率分布情况。第二行是补 90 个零后的幅度谱,即高密度频谱,从图中看成最大成分是

ω = 0.5π ,这个结果也和原信号包含两个频率成分不相符合。前面两种情况都发生了泄漏
现象。第三行就采集了 100 个数据,由于有足够的数据,幅度谱清楚的反映了原信号包含的

两个频率成分 0.48π ,0.52π ,这就是高分辨率频率,能够分辩靠得很近的频率成分。我们


可以计算它的分辨率达到: = 0.02π 。
100
通过上述讨论,利用 FFT 做谱分析时各参数的选择为:

1. 采样频率应满足采样定理:

f s ≥ 2 Fh (2-36)


T ≤ 1 / 2 Fh (2-37)

往往一段信号的频谱是无限大的,因而要先通过一个带通滤波器,来限制信号的最高频率。

2. 离散傅立叶变换的 N 为:

f s 2 Fh
N= ≥ (2-38)
Δf Δf

一般,为了 FFT 计算快速,N 都尽量取成 2 的幂次。

3. 采集信号的持续时间为:

t p = NT (2-39)

【例 2-10】已知一连续信号为

x(t ) = cos(2π × 1.25 × 10 3 t ) + 0.5 cos(2π × 1 × 10 3 t ) + 0.25 cos(2π × 0.8 × 10 3 t )

试用 DFT 计算其幅度谱,并且与原信号进行比较。

解:由于 x (t ) 是周期信号,首先要确定该信号的周期,如果截断信号时没有完整的一

个周期的信号则会发生泄漏现象。第一部分的周期为 0.8ms,第二部分的周期为 1ms,第三

部分周期为 1.25ms,整个信号的周期为 20ms,因此截取信号的持续时间最好为 20ms 的整

数倍。信号的最高频率为 Fh = 1.25 × 10 3 Hz ,因此采样频率或采样间隔

1
f s ≥ 2 Fh = 2.5 × 10 3 , T ≤ = 0.4ms
2 Fs

取采样频率和采样间隔分别为: f s = 5kHz, T = 0.2ms

频率分辨率为 Δf ≤ 0.2 × 10 ,很容易满足该条件,因此 DFT 的点长 N 从持续时间中


3

算得:

tp 20ms
N= = = 100
T 0.2ms

令 t = nT , n = 0,1,2 L 99 ,代入原信号,利用 FFT 计算 100 点的 DFT,幅度谱如图 2.12

所示。或者为了 FFT 计算,令 N 为 2 的幂次,但是要保证 NT 是 20ms 的整数倍,比如 N

取 128,T 取 0.1563ms。只看前半图,从图 2.12 可以看出信号的频率成分包含 k=16、20、

25,即包含三个数字频率成分
2π 2π 2π
ω16 = 16 = 0.32π , ω 20 = 20 = 0.4π , ω 25 = 25 = 0.5π
100 100 100
转换成模拟频率为

ω16 ω 20
Ω1 = = 1.6π × 10 3 rad / s , Ω 2 = = 2π × 10 3 rad / s ,
T T

ω 25
Ω3 = = 2.5π × 10 3 rad / s
T
ω
或者利用等式: f = f s 来求相应的 Hz 为单位的模拟频率。

幅度谱的大小和频率和原信号完全一致。如果 N 取得不合适就会发生泄漏现象,整个频率

上都会有一定幅度大小。因此要注意取法,当然,正确的采样频率和 N 的组合是多种的。

图 2.12 信号的幅度谱

第五节 幅值平方相干函数(Magnitude-Squared Coherent


Function)

相干函数表示两个函数之间的振幅、频率和相位角的关联性,在脑电研究领域里,该函

数表示了大脑不同部位活动的相干性。第三章我们已经介绍了有关时域相干函数,这里将介

绍频域相干函数,也称为幅值平方相干函数,设有两个信号 x ( n ), y ( n ) ,它们的幅值平方相

干函数定义如下:
2
Pxy (k )
γ xy (k ) = (2-40)
Px (k ) Py (k )

其中 Pxy (k ) 表示两个信号的互功率谱,即这两个信号的循环互相关函数的离散傅立叶变换,

Px ( k ), Py ( k ) 为各自的功率谱,这里的 k 代表含义即频率 ω k = k 。 γ xy (k ) 的取值范围
N
为 0~1 之间,当它等于 1 时,说明两个信号是完全相干的,即一个信号可以完全由另外一

个信号决定;当它等于 0 时,说明这两个信号不相干,即这两个信号是完全独立的;当它在

(0,1)之间时,说明这两个信号存在部分相干性,即非线性关系或者有外界的干扰存在。

可见,频域相干函数可以从频域上表示两个信号各频率成分互相关联的程度。例如,频域相

干函数可以刻画大脑不同部位的活动在节律上的一致性,但不能取得大脑活动的瞬态特性。

【例 2-11】设有两个信号 x (n) 和 y (n) ,测量这两个信号时,假设含有了不相关的噪声

w1 (n) 和 w2 (n) ,即测量得到的两个信号为 s1 (n) = x(n) + w1 (n) 和 s 2 (n) = y (n) + w2 (n) ,

比较理想信号和测量信号的幅值相干函数。

解:设 x (n) 和 y (n) 的功率谱分别为 Px ( k ), Py ( k ) ,互功率谱为 Pxy (k ) ,利用式(2-40),

理想的相干函数为

2
1 ∗
2 X ( k )Y ( k )
Pxy (k ) N
γ xy (k ) = = =1
Px (k ) Py (k ) 1 2 1 2
X (k ) Y (k )
N N

设噪声的功率谱为 Pw1 (k ), Pw 2 (k ) ,由于信号和噪声不相关,则噪声和信号的互相关函

数为零,因此测量信号的功率谱和互功率谱为:
1 ∗
Ps1 (k ) = Px (k ) + Pw1 (k ) , Ps 2 (k ) = Py ( k ) + Pw 2 ( k ) , Ps1s 2 (k ) = S1 (k ) S 2 (k ) = Pxy (k )
N
因此测量信号的幅值相干函数:
2 2
Ps1s 2 (k ) Pxy (k )
γ s1s 2 (k ) = =
Ps1 (k ) Ps 2 (k ) [ Px ( k ) + Pw1 ( k )][ Py ( k ) + Pw 2 (k )]
2
Pxy (k ) 1
= = (2-41)
Pw1 (k ) P (k ) Pw1 (k ) Pw 2 (k ) Pw1 (k ) Pw 2 (k )
Px (k ) Py (k )[1 + ][1 + w 2 ] [1 + + + ⋅ ]
Px (k ) Py (k ) Px (k ) Py (k ) Px (k ) Py (k )
由于功率谱是非负的,因此上式满足

γ s1s 2 (k ) < 1

例 2-11 就是在有不相关噪声干扰下,频域相干函数将小于 1。一般我们能得到的信号都

是测量信号而非理想信号,因此要从测量信号的相干曲线来判断理想信号各频率成分互相关
联的程度。下面用实际算例来看相干曲线。

【例 2-12】设信号

x(n) = ( N − 1 − n) R N (n) , y (n) = nR N (n)

假设观测时引入的噪声均为白噪声,它们的功率谱密度都为 1;观测记录 N=10 点,比较理

想信号和观测值的幅值相干函数。

解:先利用 FFT 求出 x (n) 和 y (n) 的功率谱,再利用式(2-40)、


(2-41)计算相干函数,

MATLAB 程序如下:

N=10;n=0:N-1; x=N-1:-1:0;y=0:N-1;

px=abs(fft(x)).^2/N; py=abs(fft(y)).^2/N;

pxy=abs(conj(fft(x)).*fft(y)/N).^2;

rxy=pxy./(px.*py);

r=1./(1+1./px+1./py+1./(px.*py));

figure(1); subplot(1,2,1); stem(n,px);xlabel('k');title('x(n)功率谱')

subplot(1,2,2);stem(n,py);xlabel('k');title('y(n)功率谱')

figure(2);subplot(1,2,1);stem(n,rxy);xlabel('k');title('理想相干函数')

subplot(1,2,2);stem(n,r);xlabel('k');title('有白噪干扰的相干函数')

结果如图 2.13 和 2.14 所示,2.13 给出了 x (n) 和 y (n) 两个信号的功率谱图,两者完全

相同,但要注意功率谱无法给出相位信息,事实上它们的相位谱是完全不同的。从该图马上

可以判断出,在每一个频率分量上都是互相关联的,这里的 k 表示频率 k ,必然 rxy=[1,
N
1,1,1,1,1,1,1,1,1],这与计算结果如图 2.14 左图是相符合的。但是有了干扰以

后,计算结果 r=[0.9902,0.9278,0.7719,0.6281,0.5392,0.5102,0.5392,0.6281,0.7719,

0.9278],相干函数的值都小于 1,如图 2.14 右图。

从图 2.14 右图可以看出,在低频部分相干函数值最大,等于 0.9902;当频率逐渐增加

时,相干函数越来越小;到最高频率 π 时,相干最小等于 0.5102。这是由于干扰的存在,

因此相干函数小于 1,并且白噪的功率谱为 1,和 x (n) 和 y (n) 的高频分量( π )的功率谱

大小(2.5000)接近,因此干扰对信号高频成分影响大,相干值变小。由于频域相干函数是

从功率谱中定义出来的,因此无论 N 取什么值都无法给出相位的信息。
图 2.13 x 和 y 信号的功率谱图

图 2.14 理想的和有干扰的频域相干函数

第六节 频域滤波(Filtering in Frequency Domain)

理想的数字滤波器幅度谱如图 2.15 所示,这些频率特性都是以 2π为周期的连续函数,

当单位脉冲响应 h(n) 是实数序列时,幅度谱周期偶对称,相位谱周期奇对称,因而只需要

给出一半的频谱图即可。
H (e jω )

低通
− 2π −π 0 π 2π ω

H (e jω )

高通
− 2π −π 0 π 2π ω
H (e jω )

带通
− 2π −π 0 π 2π ω

H (e jω )

带阻
− 2π −π 0 π 2π ω
图 2.15 各类理想数字滤波器频率特性

数字频域滤波可以用硬件和软件的方法实现,滤波器的设计方法多种多样,大致分为

IIR 滤波器的设计和 FIR 滤波器设计,前者主要利用传统的模拟滤波器设计方法,后者多采

用窗函数和频率取样设计法,这里不详细介绍。频域滤波用软件方法实现,更灵活。如不考

虑信号因果性(非实时分析),则滤波特性十分陡直,实现方法也很简单,只需令欲滤波的

频段对应的幅度为 0,再作 IFFT 即可获得滤波后的时域波形,这对干净的滤去 50Hz 工频干

扰是十分有效的。如果要实现实时分析,就要设计出因果的滤波器,在 Matlab 中有滤波器

设计工具箱,可以参考。图 2.16 是房颤波的频域滤波例子。a)是房颤波,b)是滤去大于 4Hz

的成分(低通滤波器)而剩下相对的低频成分经 IFFT 后的时域图形,c)是保留 4~12Hz 的成

分(带通滤波器)经 IFFT 后的时域图形,d)是滤去小于 12Hz 的成分(高通滤波器)而剩

下相对的高频成分经 IFFT 后的时域图形。

图 2.16 房颤波的频域滤波

You might also like