开刷:《信号与系统》 Lec #10 离散时间傅里叶级数和变换

课本是电子工业出版社出版的奥本海姆《信号与系统》第二版,刘树棠译。

视频课可以在网易公开课看到,搜索MIT的信号与系统,老师就是课本的作者。

0. 涉及内容

p.133 - p.147
p.150 - p.152
p.155 - p.159
p.227 - p.236

1. LTI系统对离散复指数信号的响应

首先我们证明复指数信号z^n是LTI系统的特征函数,假设LTI系统的单位脉冲响应为h[n],输入x[n]=z^n,那么输出可以通过卷积和得到,
\begin{align*} y[n]&=x[n]*h[n] \\ &=\sum_{k=-\infty}^{+\infty} h[k] x[n-k] \\ &= \sum_{k=-\infty}^{+\infty} h[k] z^{n-k} \\ &= z^n \sum_{k=-\infty}^{+\infty} h[k] z^{-k} \end{align*}

H(z) = \sum_{k=-\infty}^{+\infty} h[k] z^{-k},那么
y[n] = H(z) z^n

得证z^n是离散LTI系统的特征函数,H(z)是特征值。

在傅里叶分析中,只考虑\vert z^n \vert = 1的情况,也即z = e^{j \omega},因此仅考虑e^{j \omega n}形式的复函数。

2. 离散时间周期信号的傅里叶级数表示

回忆第一章学习离散时间周期信号时,一个与连续时间周期信号非常重要的不同点,就是成谐波关系的周期信号只有N个,因为在频率上相差2 \pi的整数倍的离散时间复指数信号是一模一样的!那么这就意味着离散时间周期信号的傅里叶级数是一个有限项级数

2.1 成谐波关系的复指数信号的线性组合

定义一个离散时间周期信号x[n]
x[n] = x[n+N]

基波周期为使上式成立的最小正整数N,基波频率\omega _0 = 2\pi / N。傅里叶分析中我们使用复指数函数e^{j(2 \pi /N)n}就是一个典型的离散时间周期信号。下面这个式子定义了一组成谐波关系的复指数信号,它们都是周期的,其基波频率都是2 \pi /N的倍数,
\phi _k [n] = e^{jk \omega _0 n} = e^{jk(2 \pi /N)n}, \quad k = 0, \pm 1, \pm 2, ...

因为对于谐波函数来说,频率相差2 \pi的整数倍时,两函数相等,具体来说就是谐波函数只有N个,
\phi _0 [n] = \phi _N [n]
\phi _1 [n] = \phi _{N+1} [n]
\phi _k [n] = \phi _{k+rN} [n]

我们希望利用\phi _k [n]的线性组合来表示一个更为一般的周期信号x[n],即
x[n] = \sum_{k=<N>} a_k \phi _k [n] = \sum_{k=<N>} a_k e^{jk (2 \pi /N)n}

注意上面求和中,求和限为<N>k可以从0到N-1,也可以1到N,也可以其他任意N个连续整数。

2.2 周期信号傅里叶级数系数的确定

对于复指数e^{jk(2 \pi /N)n}这样一个周期信号,在一个周期内对自变量n求和,
\sum_{n=<N>} e^{jk(2 \pi /N)n} = \begin{cases} N, & k = 0, \pm N, \pm 2N, ... \\\\ 0, & k \neq 0, \pm N, \pm 2N, ... \end{cases}

仔细观察上面的求和式,当k=0, \pm N, \pm 2N, ...时,e^{jk(2 \pi /N)n} = e^{j2 \pi m} = 1为一个常数1,这时对n求和结果就是N;而当k取其他值时,e^{jk(2 \pi /N)n}是一个周期信号,周期为N,那么在周期内对n求和结果为0。

基于以上推导,我们现在来想办法求傅里叶级数系数a_k。将x[n]的傅里叶级数表达式重写在下面,
x[n] = \sum_{k=<N>} a_k e^{jk (2 \pi /N)n}

首先,左右两边同时乘以e^{-jr(2\pi /N)n}
x[n] \cdot e^{-jr(2\pi /N)n} = \sum_{k=<N>} a_k e^{jk (2 \pi /N)n} \cdot e^{-jr(2\pi /N)n} = \sum_{k=<N>} a_k e^{j(k-r) (2 \pi /N)n}

再对自变量nN内求和,
\sum_{n=<N>} x[n] \cdot e^{-jr(2\pi /N)n} = \sum_{n=<N>} \sum_{k=<N>} a_k e^{j(k-r) (2 \pi /N)n}

交换上式等号右边的求和顺序可得,
\sum_{n=<N>} x[n] \cdot e^{-jr(2\pi /N)n} = \sum_{k=<N>} a_k \sum_{n=<N>} e^{j(k-r) (2 \pi /N)n}

想不明白上面求和顺序变换的话,可以笨办法展开求和,发现求和顺序变化不影响求和结果。我的理解是求一个NN列的矩阵元素的和,你可以横着求和也可以竖着求和;又或者说在程序里用for循环求二阶矩阵的和,可以for i包含for j,也可以for j包含for i,这个求和顺序不会影响求和结果。

回到上面的等式,等号右边有一个求和
\sum_{n=<N>} e^{j(k-r) (2 \pi /N)n}

k=r时(或者说相差N的整数倍,我这里就简单点不严谨一下),这个求和结果等于N;如果k \neq r,这个求和结果为0。

那么可以写出下面这个式子,
\sum_{n=<N>} x[n] \cdot e^{-jr(2\pi /N)n} = N \cdot a_r

这样离散时间周期信号傅里叶级数系数就求出来了,
a_k = \frac{1}{N} \sum_{n=<N>} x[n] \cdot e^{-jr(2\pi /N)n}

回想连续时间周期信号傅里叶级数系数的求解,和这里思路一模一样,都是利用了直流为0的周期信号在周期内求和结果等于0的性质。

此外,除了x[n]的傅里叶级数表达是一个有限项级数,与连续时间不同的是,因为
\phi _k [n] = \phi _{k+N} [n]

所以,
a_k = a_{k+N}

也就是说,a_k的值是以N为周期重复的。

由于x[n]的傅里叶级数表达是一个有限项级数,因此离散时间周期信号的傅里叶级数不存在收敛问题,也不存在吉布斯现象。

3. 离散时间傅里叶级数性质

3.1 相乘

x[n] y[n] \xleftrightarrow{FS} \sum_{l=<N>} a_l b_{k-l}

上面的求和就是周期卷积

3.2 一次差分

x[n] \xleftrightarrow{FS} a_k

x[n-1] \xleftrightarrow{FS} e^{-jk(2\pi /N)} \cdot a_k

x[n] - x[n-1] \xleftrightarrow{FS} (1 - e^{-jk(2\pi /N)}) \cdot a_k

3.3 离散时间周期信号的帕斯瓦尔定理

\frac{1}{N} \sum_{n=<N>} \vert x[n] \vert ^2 = \sum_{k=<N>} \vert {a_k} \vert ^2

4. 傅里叶级数与LTI系统

这篇笔记一开始,我们定义了H(z)
H(z) = \sum_{k=-\infty}^{+\infty} h[k] z^{-k}

其中h[k]是LTI系统的单位脉冲响应。H(z)被称作系统函数,将z局限在e^{j\omega}形式的系统函数被称为系统的频率响应
H(e^{j\omega}) = \sum_{n=-\infty}^{+\infty} h[n] e^{-j \omega n}

令LTI系统输入x[n]为一个周期信号,其傅里叶级数表示为,
x[n] = \sum_{k=<N>} a_k e^{jk (2\pi /N)n}

输出就是,
y[n] = \sum_{k=<N>} a_k H(e^{j \omega}) e^{jk (2\pi /N)n} = \sum_{k=<N>} a_k H(e^{j2\pi k/N}) e^{jk (2\pi /N)n}

5. 离散时间傅里叶变换

5.1 非周期信号的表示:离散时间傅里叶变换

5.1.1 离散时间傅里叶变换的导出

考虑某一序列x[n],具有有限持续期,也就是说对于整数N_1N_2,在N_1 \leq n \leq N_2的范围之外,x[n]=0。由这个非周期信号可以构成一个周期序列\tilde{x}[n],使得对\tilde{x}[n]来说,x[n]是它的一个周期。随着\tilde{x}[n]的周期N增大,\tilde{x}[n]就在更长的时间间隔内与x[n]相等,而当N \to \infty时,\tilde{x}[n] = x[n]

写出周期信号\tilde{x}[n]的傅里叶级数表达,
\tilde{x}[n] = \sum_{k=<N>} a_k e^{jk(2\pi /N)n}

a_k = \frac{1}{N} \sum_{n=<N>} \tilde{x}[n] e^{-jk(2\pi /N)n}

因为在N_1 \leq n \leq N_2区间内,\tilde{x}[n] = x[n],所以a_k可以写作,
a_k = \frac{1}{N} \sum_{n=N_1}^{N_2} x[n] e^{-jk(2\pi /N)n}

又因为在N_1 \leq n \leq N_2区间外,有x[n] = 0,所以
a_k = \frac{1}{N} \sum_{n=-\infty}^{+\infty} x[n] e^{-jk(2\pi /N)n}

现定义函数
X(e^{j\omega}) = \sum_{n=-\infty}^{+\infty} x[n] e^{-j \omega n}

那么
a_k = \frac{1}{N} X(e^{jk \omega _0})

其中\omega _0 = 2\pi /N表示频域中的样本间隔。将a_k代回到\tilde{x}[n]的傅里叶级数综合公式中,
\tilde{x}[n] = \sum_{k=<N>} \frac{1}{N} X(e^{jk \omega _0}) e^{jk(2\pi /N)n}

又因为\omega _0 = 2\pi / N
\tilde{x}[n] = \frac{1}{2\pi} \sum_{k=<N>} X(e^{jk \omega _0}) e^{jk(2\pi /N)n} \omega _0

随着N \to \infty,上式中的求和演变为一个积分,积分宽度为2\pi,因为求和是对N个宽为\omega _0 = 2\pi /N的间隔内完成的,所以积分宽度为2\pi
x[n] = \frac{1}{2\pi} \int_{2\pi} X(e^{j\omega}) e^{j \omega n} \mathrm{d} \omega

X(e^{j \omega}) = \sum_{n=-\infty}^{+\infty} x[n] e^{-j \omega n}

上式就是离散时间傅里叶变换。

在离散时间中,由于频率相差2\pi的复指数信号是完全一样的,所以

  • 对周期信号来讲,傅里叶级数系数是周期的,并且傅里叶级数表示式是一个有限项的和

  • 对非周期信号而言,X(e^{j \omega})是周期的,周期为2\pi,综合公式的积分区间为2\pi

5.1.2 离散时间傅里叶变换的收敛

如果x[n]是绝对可积的,即
\sum_{n=-\infty}^{+\infty} \vert x[n] \vert < \infty

或者信号x[n]的能量是有限的,即
\sum_{n=-\infty}^{+\infty} \vert x[n] \vert ^2 < \infty

那么x[n]的傅里叶变换X(e^{j\omega})就是收敛的。

对于综合公式,因为积分区间是有限的,因此一般不存在收敛问题,而且也不会有吉布斯现象。

5.2 周期信号的傅里叶变换

与连续时间相同,利用把一个周期信号的变换表示成频域中的冲激串的办法,就可以把离散时间周期信号也划入到傅里叶变换的框架中。考虑如下信号,
x[n] = e^{j\omega_0 n}

我们在学习连续时间周期信号傅里叶变换时,知道e^{j\omega _0 t}的傅里叶变换就是一个发生在\omega = \omega _0处的冲激。于是我们期望在离散时间中也会有相同结果。然而离散时间傅里叶变换对\omega来说必须是周期的,周期为2\pi,那么x[n]的傅里叶变换应该就是发生在\omega _0\omega _0 \pm 2\pi\omega _0 \pm 4\pi等处的冲激,即
X(e^{j\omega}) = \sum_{l=-\infty}^{+\infty} 2\pi \delta(\omega - \omega _0 - 2\pi l)

为了验证上式,求X(e^{j\omega})的傅里叶逆变换,
\frac{1}{2\pi} \int_{2\pi} X(e^{j\omega}) e^{j\omega n} \mathrm{d} \omega = \frac{1}{2\pi} \int_{2\pi} \sum_{l=-\infty}^{+\infty} 2\pi \delta(\omega - \omega _0 - 2\pi l) e^{j\omega n} \mathrm{d} \omega

注意看,这里积分区间为2\pi,因此整个积分区间内只会有一个冲激,假设积分区间内的冲激发生在\omega _0 + 2\pi r,那么
\frac{1}{2\pi} \int_{2\pi} X(e^{j\omega}) e^{j\omega n} \mathrm{d} \omega = e^{j(\omega _0 +2\pi r)n} = e^{j \omega _0 n}

这就证明了
e^{j \omega _0 n} \xleftrightarrow{F} \sum_{l=-\infty}^{+\infty} 2 \pi \delta (\omega - \omega _0 - 2 \pi l)

现在我们考虑一个周期序列x[n],周期为N,其傅里叶级数为
x[n] = \sum_{k = <N>} a_k e^{jk \omega _0 n}

那么我们就可以写出x[n]的傅里叶变换
X(e^{j\omega}) = \sum_{k = -\infty}^{+\infty} 2\pi a_k \delta (\omega - k \omega _0)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。