信号系统(四)——离散时间傅里叶

在连续时间傅里叶中我们介绍了连续时间周期信号的傅里叶级数,以及非周期信号与周期信号的狭义与广义傅里叶变换。那么,对于离散信号而言,也应当存在类似的级数与变换。

一、离散傅里叶级数的计算

1.离散傅里叶级数的特殊性

虽然离散信号与连续信号具有大量的相似性,但由于傅里叶级数的基底是复指数函数,这就导致离散傅里叶级数和连续情况下不同。对于连续信号 𝑥(𝑡) 而言,当它被展开成傅里叶级数时:

𝑥(𝑡)=∑𝑘=−∞+∞𝑐𝑘ej𝑘𝜔0𝑡=∑𝑘=−∞+∞𝑐𝑘ej𝑘2𝜋𝑇𝑡

可以看到 𝑘 从负无穷累加到正无穷,因此这是一个无限项级数;然而在简单信号与系统的性质中提到过:

注 1.

对任意自变量 𝑛 ,由于 ej2𝜋𝑛=1 也总是成立的,那么:

𝑥[𝑛]=ej𝜔0𝑛⋅1=ej𝜔0𝑛⋅ej2𝜋𝑛=ej(𝜔0+2𝜋)𝑛
因此让离散指数信号的频率 𝜔0 增加 2𝑘𝜋 ,那么得到的新离散指数信号与旧的并没有区别!

所以,对于以 𝑁 为(基波)周期的离散信号 𝑥[𝑛]=𝑥[𝑛+𝑁] 而言,离散复指数函数系:

[ej𝑘2𝜋𝑁𝑛]=[ej02𝜋𝑁𝑛,ej2𝜋𝑁𝑛,ej−2𝜋𝑁𝑛,…]

看似具有无穷多个元素,实际 𝑘 每增加 𝑁 ,就会得到一个重复的复指数函数——也就是说,离散复指数函数系中,只有 𝑁 个元素。

这就是导致离散傅里叶级数与连续傅里叶级数的结构稍有不同的原因。具体体现在:离散傅里叶级数是有限项级数、而连续傅里叶级数则是无限项的:

𝑥[𝑛]=∑𝑘=⟨𝑁⟩𝑐𝑘ej𝑘𝜔0𝑛=∑𝑘=⟨𝑁⟩𝑐𝑘ej𝑘2𝜋𝑁𝑛

这里求和号下 𝑘=⟨𝑁⟩ 表示的是, 𝑘 在一段 𝑁 内求和。由于离散复指数信号的性质,无论将 𝑘 在 [0,1,…,𝑁−1] 还是在 [𝑁,𝑁+1,…,2𝑁−1] 内求和,结果都是相同的。这也同时导出下式的结论:

𝑐𝑘=𝑐𝑘+𝑁

也就是说,即使我们将离散傅里叶级数系数视作无穷多个,这里面也仅有 𝑁 个是有意义的。

2.离散傅里叶级数系数的计算

完全类似于连续时间中的情况,对于离散复指数函数来说,当时间在一个周期上求和时:

∑𝑛=⟨𝑁⟩ej𝑘2𝜋𝑁𝑛={𝑁, 𝑘=0, −𝑁, −2𝑁…0, OtherCases

因此,类似于连续情况中的处理,在傅里叶级数展开式两边同时乘上 e−j𝑙2𝜋𝑁𝑛 :

𝑥[𝑛]e−j𝑙2𝜋𝑁𝑛=e−j𝑙2𝜋𝑁𝑛∑𝑘=⟨𝑁⟩𝑐𝑘ej𝑘2𝜋𝑁𝑛=∑𝑘=⟨𝑁⟩𝑐𝑘ej(𝑘−𝑙)2𝜋𝑁𝑛

然后两边再在一个时间周期上求和:

∑𝑛=⟨𝑁⟩𝑥[𝑛]e−j𝑙2𝜋𝑁𝑛=∑𝑛=⟨𝑁⟩∑𝑘=⟨𝑁⟩𝑐𝑘ej(𝑘−𝑙)2𝜋𝑁𝑛=∑𝑘=⟨𝑁⟩{𝑐𝑘∑𝑛=⟨𝑁⟩ej(𝑘−𝑙)2𝜋𝑁𝑛}=𝑁𝑐𝑙

所以:

𝑐𝑘=1𝑁∑𝑛=⟨𝑁⟩𝑥[𝑛]e−j𝑘2𝜋𝑁𝑛=1𝑁∑𝑛=⟨𝑁⟩𝑥[𝑛]e−j𝑘𝜔0𝑛

3.离散傅里叶级数的收敛

离散复指数函数的特殊性质还将导致离散傅里叶级数的另一性质:即离散傅里叶级数几乎必定收敛,与连续情况中大为不同。

证明. 要导出这个结论是很简单的:因为大部分信号 𝑥[𝑛] 的取值都是有限的,那么 𝑥[𝑛]e−j𝑘𝜔0𝑛 必定是有限值,而求和又只在有限区间内求和,所得值也必然是有限的——因此必然收敛。
□

吉布斯现象也自然不会在离散傅里叶级数中出现。

4.帕塞瓦尔定理

离散情况下的帕塞瓦尔定理也是类似的,将积分号替换为求和号即可:

定理 1.(离散的帕塞瓦尔定理)
1𝑁∑𝑛=0𝑁−1|𝑥[𝑛]|2=∑𝑘=0𝑁−1|𝑐𝑘|2

二、离散傅里叶级数的性质

离散傅里叶级数的性质与连续情况几乎相同,因此这里不再多做证明。但需要注意:离散情况下的信号相乘(系数卷积)与连续情况下稍有不同,这会在稍后说明。假设有信号 𝑥[𝑛]↔︎ℱ︀𝒮︀𝑐𝑘 ,周期为 𝑁=2𝜋𝜔0 :

1.时间平移

当时间发生平移 𝑛→𝑛−𝑛0 :

𝑥[𝑛−𝑛0]↔︎ℱ︀𝒮︀e−j𝑘𝜔0𝑛0𝑐𝑘

2.时间反演

当时间发生反演 𝑛→−𝑛 :

𝑥[−𝑛]↔︎ℱ︀𝒮︀𝑐−𝑘

因此,对于奇信号来说, 𝑐−𝑘=−𝑐𝑘 ;而对于偶信号, 𝑐−𝑘=𝑐𝑘 。

3.时间伸缩

当时间发生伸缩 𝑛→𝑛𝛼 ,此时应当注意只有 𝑛 是 𝛼 的整数倍时 𝑥[𝑛𝛼] 才取非零值:

𝑥[𝑛𝛼]↔︎ℱ︀𝒮︀1𝛼𝑐𝑘

4.信号共轭

当信号取共轭 :

按照上式,对于实信号来说存在 ,因此以下四式成立:

{ℛ︀ℯ︀{𝑐𝑘}=ℛ︀ℯ︀{𝑐−𝑘}ℐ︀𝓂︀{𝑐𝑘}=−ℐ︀𝓂︀{𝑐−𝑘}|𝑐𝑘|=|𝑐−𝑘|arg(𝑐𝑘)=−arg(𝑐−𝑘)

5.信号相加(线性)

假设两个具有相同周期的信号:

{𝑥[𝑛]↔︎ℱ︀𝒮︀𝑎𝑘𝑦[𝑛]↔︎ℱ︀𝒮︀𝑏𝑘

那么:

𝛼𝑥[𝑛]+𝛽𝑦[𝑛]↔︎ℱ︀𝒮︀𝛼𝑎𝑘+𝛽𝑏𝑘

6.信号相乘(系数卷积)

假设两个具有相同周期的信号:

{𝑥[𝑛]↔︎ℱ︀𝒮︀𝑎𝑘𝑦[𝑛]↔︎ℱ︀𝒮︀𝑏𝑘

那么:

𝑥[𝑛]𝑦[𝑛]↔︎ℱ︀𝒮︀∑𝑙=⟨𝑁⟩𝑎𝑙𝑏𝑘−𝑙=𝑎𝑘∗𝑏𝑘
注 2.

对比连续情况中:

𝑥(𝑡)𝑦(𝑡)↔︎ℱ︀𝒮︀∑𝑘=−∞+∞𝑎𝑘𝑏𝑛−𝑘=𝑎𝑛∗𝑏𝑛
可以看到两者的差别在于卷积和的上下限。离散者只在一个周期内卷积,将其称为周期卷积;连续者在正负无穷中卷积,称为非周期卷积。虽然后面都被简记为 𝑎𝑘∗𝑏𝑘 的形式,但务必注意其中差别。

7.信号卷积(系数相乘)

假设两个具有相同周期的信号:

{𝑥[𝑛]↔︎ℱ︀𝒮︀𝑎𝑘𝑦[𝑛]↔︎ℱ︀𝒮︀𝑏𝑘

那么对于这两个信号的周期卷积:

𝑥[𝑛]∗𝑦[𝑛]=∑𝑙=⟨𝑁⟩𝑥[𝑙]𝑦[𝑛−𝑙]↔︎ℱ︀𝒮︀𝑁𝑎𝑘𝑏𝑘

8.信号差分

离散信号虽然不具有导数的概念,但一个相似的概念是差分。信号的一阶差分定义为:

𝑥[𝑛]−𝑥[𝑛−1]

因此,信号的一阶差分的傅里叶级数系数就可以利用时间平移与线性性质得出:

𝑥[𝑛]−𝑥[𝑛−1]↔︎ℱ︀𝒮︀(1−e−j𝑘𝜔0)𝑐𝑘

9.信号求和

对于离散信号来说与积分相似的概念是求和:

∑𝑘=−∞𝑛𝑥[𝑘]

它的傅里叶级数系数是:

∑𝑘=−∞𝑛𝑥[𝑘]↔︎ℱ︀𝒮︀11−e−j𝑘𝜔0𝑐𝑘
注 3.

当然,在这里出现了离散傅里叶级数可能不收敛的情况,因为对信号本身的求和可能导致信号出现取值为无穷的情况。为了规避这个问题,注意到:

𝑐0=∑𝑘=⟨𝑁⟩𝑥[𝑘]
因此 𝑐0 代表了信号在一个周期上的求和值。当 𝑐0=0 时, ∑𝑘=−∞𝑛𝑥[𝑘] 才是有限的,此时傅里叶级数不发散。因此只有在 𝑐0=0 时,讨论信号求和的傅里叶级数才是有意义的。

10.信号奇偶

对于偶部:

ℰ︀𝓋︀{𝑥[𝑛]}↔︎ℱ︀𝒮︀12(𝑐𝑘+𝑐−𝑘)=ℛ︀ℯ︀{𝑐𝑘}

对于奇部:

𝒪︀𝒹︀{𝑥[𝑛]}↔︎ℱ︀𝒮︀12(𝑐𝑘−𝑐−𝑘)=jℐ︀𝓂︀{𝑐𝑘}

三、离散傅里叶变换的计算

1.非周期离散傅里叶变换

首先看回离散傅里叶级数系数的计算:

𝑐𝑘=1𝑁∑𝑛=⟨𝑁⟩𝑥[𝑛]e−j𝑘2𝜋𝑁𝑛=1𝑁∑𝑛=⟨𝑁⟩𝑥[𝑛]e−j𝑘𝜔0𝑛

将它代回 𝑥[𝑛]=∑𝑘=⟨𝑁⟩𝑐𝑘ej𝑘𝜔0𝑛 :

𝑥[𝑛]=∑𝑘=⟨𝑁⟩𝑐𝑘ej𝑘𝜔0𝑛=1𝑁∑𝑘=⟨𝑁⟩{∑𝑛=⟨𝑁⟩𝑥[𝑛]e−j𝑘𝜔0𝑛}⋅ej𝑘𝜔0𝑛=12𝜋∑𝑘=⟨𝑁⟩{∑𝑛=⟨𝑁⟩𝑥[𝑛]e−j𝑘𝜔0𝑛}⋅ej𝑘𝜔0𝑛⋅𝜔0

将非周期离散信号视作周期为无穷大的周期信号,也就是令 𝑁→+∞,𝜔0→0 ,此时不妨记 𝜔0 为 𝑑𝜔 ,于是上式大括号中可以化为:

∑𝑛=⟨𝑁⟩𝑥[𝑛]e−j𝑘𝜔0𝑛=∑𝑛=⟨+∞⟩𝑥[𝑛]e−j𝑛𝑘⋅𝑑𝜔=∑𝑛=−∞+∞𝑥[𝑛]e−j𝜔𝑛

观察上式可知,其运算结果为一个关于连续变量 𝜔 的函数。一般简便起见,视作关于 ej𝜔 的函数,也就是存在分析公式:

定义 1.(分析公式)
𝑋(ej𝜔)=ℱ︀{𝑥[𝑛]}=∑𝑛=−∞+∞𝑥[𝑛]e−j𝜔𝑛

按同样的极限分析 𝑥[𝑛] :

𝑥[𝑛]=12𝜋∑𝑘=⟨𝑁⟩𝑋(ej𝜔)⋅ej𝑘𝜔0𝑛⋅𝜔0=12𝜋∑𝑘=⟨+∞⟩𝑋(ej𝜔)⋅ej𝑘𝑛⋅𝑑𝜔⋅𝑑𝜔=12𝜋∑𝑘=−∞+∞𝑋(ej𝜔)⋅ej𝜔𝑛⋅𝑑𝜔=12𝜋∫𝑋(ej𝜔)ej𝜔𝑛𝑑𝜔

上式中我们发现,在倒数第二行中,求和号右边实际已经不存在变量 𝑘 了,因为被吸收进连续变量 𝜔=𝑘⋅𝑑𝜔 了。因此,最后是转化为了对 𝜔 的积分,但积分的上下限是什么?注意到 𝑑𝜔=𝜔0=2𝜋𝑁 ,因此对 𝜔 来说,只需要积分区间的长度为 2𝜋 即可:

定义 2.(综合公式)
𝑥[𝑛]=12𝜋∫2𝜋𝑋(ej𝜔)ej𝜔𝑛𝑑𝜔
注 4.

应当指出,使用记号 𝑋(ej𝜔) 在无形中指出了离散傅里叶变换的特殊性,即 𝑋(ej𝜔) 必定是周期的:

𝑋(ej(𝜔+2𝜋))=𝑋(ej𝜔)
而连续傅里叶变换 𝑋(𝑗𝜔) 则一般不是。

2.周期离散傅里叶变换

与连续情况中相同,狭义傅里叶变换并不能适应周期信号的傅里叶变换。例如对于基本复指数信号 𝑥[𝑛]=ej𝜔0𝑛 :

ℱ︀{ej𝜔0𝑛}=∑𝑛=−∞+∞ej(𝜔0−𝜔)𝑛

求和是不收敛的。但是通过引入单位冲激函数以及恒一函数的傅里叶变换:

{ℱ︀{𝛿[𝑛]}=1ℱ︀{1}=2𝜋∑𝑙=−∞+∞𝛿(𝜔−2𝜋𝑙)

就可以11 结合傅里叶变换的性质——具体地说,是频移性质定义基本复指数信号的傅里叶变换:

ℱ︀{ej𝜔0𝑛}=2𝜋∑𝑙=−∞+∞𝛿(𝜔−𝜔0−2𝜋𝑙)

所以,既然周期离散信号 𝑥[𝑛] 可以以傅里叶级数展开为:

𝑥[𝑛]=∑𝑘=⟨𝑁⟩𝑐𝑘ej𝑘𝜔0𝑛

那么其傅里叶变换就显然可以写出:

定义 3.(周期离散傅里叶变换)
𝑋(ej𝜔)=∑𝑘=⟨𝑁⟩𝑐𝑘{2𝜋∑𝑙=−∞+∞𝛿(𝜔−𝑘𝜔0−2𝜋𝑙)}=2𝜋∑𝑘=−∞+∞𝑐𝑘𝛿(𝜔−𝑘𝜔0)

此式在形式上与连续情况中是完全一致的。


四、离散傅里叶变换的性质

假设信号 𝑥[𝑛]↔︎ℱ︀𝑋(ej𝜔) ,其周期 𝑁=2𝜋𝜔0 :

1.时间平移

当时间发生平移 𝑛→𝑛−𝑛0 :

𝑥[𝑛−𝑛0]↔︎ℱ︀e−j𝜔𝑛0𝑋(ej𝜔)

2.时间反演

当时间发生反演 𝑛→−𝑛 :

𝑥[−𝑛]↔︎ℱ︀𝑋(e−j𝜔)

3.时间伸缩(频域伸缩)

当时间发生伸缩变换 𝑛→𝑛𝑘 :

𝑥[𝑛𝑘]↔︎ℱ︀𝑋(ej𝑘𝜔)

4.频域平移

当频域发生平移 𝜔→𝜔−𝜔0 :

ej𝜔0𝑛𝑥[𝑛]↔︎ℱ︀𝑋(ej(𝜔−𝜔0))

5.信号共轭

若取信号的共轭 :

根据这个结论展开对实信号的讨论。显然存在下四式:

{ℛ︀ℯ︀{𝑋(ej𝜔)}=ℛ︀ℯ︀{𝑋(e−j𝜔)}ℐ︀𝓂︀{𝑋(ej𝜔)}=−ℐ︀𝓂︀{𝑋(e−j𝜔)}|𝑋(ej𝜔)|=|𝑋(e−j𝜔)|arg(𝑋(ej𝜔))=−arg(𝑋(e−j𝜔))

6.信号相加(线性)

𝛼𝑥[𝑛]+𝛽𝑦[𝑛]↔︎ℱ︀𝛼𝑋(ej𝜔)+𝛽𝑌(ej𝜔)

7.信号差分

𝑥[𝑛]−𝑥[𝑛−1]↔︎ℱ︀(1−e−j𝜔)𝑋(ej𝜔)

8.信号累加

∑𝑘=−∞𝑛𝑥[𝑛]↔︎ℱ︀11−e−j𝜔𝑋(ej𝜔)
注 5.(与教科书的区别)

当然,在奥本海姆的教科书上给出的累加性质是:

∑𝑘=−∞𝑛𝑥[𝑛]↔︎ℱ︀11−e−j𝜔𝑋(ej𝜔)+𝜋𝑋(ej0)∑𝑘=−∞+∞𝛿(𝜔−2𝜋𝑘)

9.信号奇偶

{ℰ︀𝓋︀{𝑥[𝑛]}↔︎ℱ︀ℛ︀ℯ︀{𝑋(ej𝜔)}𝒪︀𝒹︀{𝑥[𝑛]}↔︎ℱ︀𝑗ℐ︀𝓂︀{𝑋(ej𝜔)}

10.时域相乘(频域卷积)

𝑥[𝑛]𝑦[𝑛]↔︎ℱ︀12𝜋∫2𝜋𝑋(ej𝜃)𝑌(ej(𝜔−𝜃))𝑑𝜃=𝑋(ej𝜔)∗𝑌(ej𝜔)

22 注意该式是周期卷积。

11.时域卷积(频域相乘)

𝑥[𝑛]∗𝑦[𝑛]↔︎ℱ︀𝑋(ej𝜔)𝑌(ej𝜔)

12.频域微分

𝑛𝑥[𝑛]↔︎ℱ︀j𝑑𝑋(ej𝜔)𝑑𝜔

五、基本傅里叶变换表

以下给出一些基本信号的离散傅里叶变换表:

表 1 基本傅里叶变换表

信号傅里叶变换条件或说明
𝑥[𝑛]𝑋(ej𝜔)=ℱ︀{𝑥[𝑛]}—
12𝜋∑𝑙=−∞+∞𝛿(𝜔−2𝜋𝑙)—
ej𝜔0𝑛2𝜋∑𝑙=−∞+∞𝛿(𝜔−𝜔0−2𝜋𝑙)—
∑𝑘=−∞+∞𝑎𝑘ej𝑘𝜔0𝑛2𝜋∑𝑘=−∞+∞𝑎𝑘𝛿(𝜔−𝑘𝜔0)—
𝛿[𝑛]1—
𝛿[𝑛−𝑛0]e−j𝜔𝑛0—
𝑢[𝑛]11−ej𝜔+𝜋∑𝑘=−∞+∞𝛿(𝜔−2𝜋𝑘)—
∑𝑘=−∞+∞𝛿[𝑛−𝑘𝑁]2𝜋𝑁∑𝑘=−∞+∞𝛿(𝜔−2𝑘𝜋𝑁)—
cos(𝜔0𝑛)𝜋∑𝑙=−∞+∞(𝛿(𝜔−𝜔0−2𝜋𝑙)+𝛿(𝜔+𝜔0−2𝜋𝑙))—
sin(𝜔0𝑛)𝜋j∑𝑙=−∞+∞(𝛿(𝜔−𝜔0−2𝜋𝑙)−𝛿(𝜔+𝜔0−2𝜋𝑙))—
𝑎𝑛𝑢[𝑛]11−𝑎e−j𝜔|𝑎|<1
𝑛𝑎𝑛𝑢[𝑛]1(1−𝑎e−j𝜔)2|𝑎|<1
(𝑛+𝑟−1)!𝑛!(𝑟−1)!𝑎𝑛𝑢[𝑛]1(1−𝑎e−j𝜔)𝑟|𝑎|<1
sin(𝑊𝑛)𝜋𝑛𝑋(𝜔)={1, |𝜔|<𝑊0, 𝑊<|𝜔|<𝜋—
{1, |𝑛|<𝑁10, |𝑛|>𝑁1sin(𝜔(𝑁1+12))sin(𝜔2)—
{1, |𝑛|<𝑁10, 𝑁1<|𝑛|≤𝑁2𝑥[𝑛+𝑁]=𝑥[𝑛]2𝜋∑𝑘=−∞+∞𝑐𝑘𝛿(𝜔−𝑘𝜔0)—