跳转至

周期信号的傅里叶级数表示

约 2228 个字 预计阅读时间 7 分钟

傅里叶级数

傅里叶级数最早用于求解热传导方程。

热传导方程问题:

已知零时刻杆上每一点的温度 \(f(x)=f(x,0)\),求 \(f(x,t)\),当 \(t>0\) 时。(杆子不与外界交换热量)

该问题的解:

\[ \begin{cases} \frac{\partial f}{\partial t}=k\frac{\partial ^2 f}{\partial x^2} \\ f(x,0)=f(x) \end{cases} \tag{1} \]

人们对这个解有公认的三个事实:

  • \(f(x)=B\) 时, \(f(x,t)=B\)
  • \(f(x)=B\cos(\omega x)\) 时, \(f(x,t)=B\cos(\omega x)e^{-k\omega^2t}\)
  • \(f(x)=C\sin(\omega x)\) 时, \(f(x,t)=C\sin(\omega x)e^{-k\omega^2t}\)

傅里叶的贡献:

如果

\[ f(x)=B_0+\sum_{k=1}^{+\infty}B_k\cos(k\omega_0x)+\sum_{k=1}^{+\infty}C_k\sin(k\omega_0x) \tag{2} \]

则热传导方程的解是

\[ f(x,t)=B_0+\sum_{k=1}^{+\infty}B_k\cos(k\omega_0x)e^{-Kk^2\omega_o^2t}+\sum_{k=1}^{+\infty}C_k\sin(k\omega_0x)e^{-Kk^2\omega_o^2t} \tag{3} \]

其中,\(\omega\)表示频率,都是某个 \(\omega_0\) 的整数倍。这样做是为了容易求出表示\(f(x,t)\)\(B_0, \ B_k, \ C_k\)

  • \(\omega_0\) 为基波频率
  • \(k\omega_0\)\(k\) 次谐波频率
  • \(B_0\):直流分量
  • 设定 \(T_0=\frac{2\pi}{\omega_0}\) 为基波周期

接下来,问题转化成了如何根据\(f(x)\) 算出\(B_0, \ B_k, \ C_k\)

\(1.\)\(B_0\)。我们通过对 \((2)\) 式进行变化求解 \(B_0\)。对两边同时求积分:

\[ \int^{T_0}_0f(x)dx=\int^{T_0}_0B_0dx+\sum_{k=1}^{+\infty}\int^{T_0}_0B_k\cos(k\omega_0x)dx+\sum_{k=1}^{+\infty}\int^{T_0}_0C_k\sin(k\omega_0x)dx \tag{4} \]

化简后可得:

\[ B_0=\frac{1}{T_0}\int^{T_0}_0f(x)dx \tag{5} \]

\(2.\)\(B_k\)。思路与前面类似,不同的是,每一项都先乘了 \(\cos(k\omega_0x)\)

\[ \int^{T_0}_0f(x)\cos(k\omega_0x)dx=\int^{T_0}_0B_0\cos(k\omega_0x)dx+\sum_{u=1}^{+\infty}\int^{T_0}_0B_u\cos(u\omega_0x)\cos(k\omega_0x)dx+\sum_{u=1}^{+\infty}\int^{T_0}_0C_u\sin(u\omega_0x)\cos(k\omega_0x)dx \tag{6} \]

化简后可得:

\[ B_k=\frac{2}{T_0}\int^{T_0}_0f(x)cos(k\omega_0x)dx \tag{7} \]

\(3.\)\(C_k\)

同上可得

\[ C_k=\frac{2}{T_0}\int^{T_0}_0f(x)sin(k\omega_0x)dx \tag{8} \]

这里中间用到了几组补充公式:

\[ \int^{T_0}_0cos(k\omega_0x)dx=0 \]
\[ \int^{T_0}_0sin(k\omega_0x)dx=0 \]
\[ \int^{T_0}_0cos(k_1\omega_0x)cos(k_2\omega_0x)dx=0 \ (k_1 \neq k_2) \]
\[ \int^{T_0}_0cos(k_1\omega_0x)sin(k_2\omega_0x)dx=0 \ (k_1 \neq k_2) \]
\[ \int^{T_0}_0cos^2(k\omega_0x)dx=\frac{T_0}{2} \]
\[ \int^{T_0}_0sin^2(k\omega_0x)dx=\frac{T_0}{2} \]

狄利赫里收敛性三条件

傅里叶提出一些函数都能用\((2)\)式表示。狄利赫里对此进行了严格的证明。

\(f(x)\) 满足以下条件:

  • 一个周期绝对可积 \(\int^{T_0}_0|f(x)|dx<+\infty\)
  • 一个周期内 \(f(x)\) 最值有限
  • 一个周期内连续点有限

\(f(x)\) 可以表示为\((2)\)式,同时 \(B_0,B_k,C_k\) 通过上述方法计算收敛。

傅里叶级数的复数表达形式

对之前的傅里叶级数相关内容进行以下总结,并改写为 LTI 系统中的常见写法。

若:

\[ x(t)=B_0+\sum_{k=1}^{+\infty}B_k\cos(k\omega_0t)+\sum_{k=1}^{+\infty}C_k\sin(k\omega_0t) (T_0=\frac{2\pi}{\omega_0}) \tag{9} \]

则:

\[ \begin{cases} B_0=\frac{1}{T_0}\int^{T_0}_0x(t)dt \\ B_k=\frac{2}{T_0}\int^{T_0}_0x(t)cos(k\omega_0t)dt \\ C_k=\frac{2}{T_0}\int^{T_0}_0x(t)sin(k\omega_0t)dt \end{cases} \tag{10} \]

下面将上面的公式改写为等价的复数形式表示方法。

\[ x(t)=\sum^{+\infty}_{k=-\infty}a_ke^{-jk\omega_0t} \tag{11} \]
\[ a_k=\frac{1}{T_0}\int^{T_0}_{0}x(t)e^{-jk\omega_0t}dt \tag{12} \]

并且有以下形式转换公式:

\[ \begin{cases} a_0=B_0 \\ a_k=\frac12(B_k-jC_k) & (k\geq1) \\ a_{-k}=\frac12(B_k+jC_k) & (k\geq1) \end{cases} \]

或者有:

\[ \begin{cases} B_0=a_0 & (k=0) \\ B_k=a_k+a_{-k} & (k\neq0) \\ C_k=j(a_k-a_{-k}) & (k\neq0) \end{cases} \]

函数的正交分解

傅里叶级数能写成这样子的原因是因为傅里叶函数的一个函数族\(\{ 1,\cos{(\omega_0t)},\sin{(\omega_0t)},\cos{(2\omega_0t)},\sin{(2\omega_0t)},\cdots\}\),任取两个相乘,在一个周期\(T_0=2\frac{\pi}{\omega_0}\)上积分都为0

我们把一族函数\(\{e_i(t)\}_{i=1 \sim +\infty}\),若满足任取两个 \(e_i(t) \ e_j(t)\)相乘并积分为 \(0\),则称\(\{e_i(t)\}_{i=1 \sim +\infty}\)为正交函数族

\[ \int^b_ae_t(t)\overline{e_j(t)}dt \]

接下来把 \(x(t)\) 分解为正交函数族 \(\{e_k(t)\}_{k=1\sim+\infty}\)的线性叠加。

假设 \(x(t)=a_1e_1(t)+a_2e_2(t)+\cdots=\sum^{+\infty}_{u=1}a_ue_u(t)\)

则有:

\[ <x(t),e_k(t)>=a_k<e_k(t),e_k(t)> \tag{13} \]

于是可以得到 \(a_k\)

\[ a_k=\frac{<x(t),e_k(t)>}{<e_k(t),e_k(t)>} \tag{14} \]

重新看傅里叶级数的复数形式,我们可以发现:

\(\{e^{jk\omega_0t}\}_{k=-\infty\sim+\infty}\)是正交基。并且 \(a_k\)可以通过上面的方式计算得到。

傅里叶级数与卷积

通过之前的方式,我们将周期信号分解为了傅里叶级数的形式。这样做的好处在于使得一个线性时不变系统对这个信号的响应只是其在幅度上的变化,即:

\[ e^{st}\rightarrow H(s)e^{st} \]
\[ H(s)=\int_{-\infty}^{+\infty}h(\tau)e^{-s\tau}d\tau \]
\[ z^n\rightarrow H(z)z^n \]
\[ H(z)=\sum_{k=-\infty}^\infty h[k]z^{-k} \]

于是,当我们把一个连续时间线性时不变系统的输入表示成复指数的线性组合之后:

\[ x(t)=\sum_k a_ke^{s_kt} \]

那么此时的输出就为:

\[ y(t)=\sum_ka_kH(s_k)e^{s_kt} \]

离散同理:

\[ x[n]=\sum_ka_kz_k^n \]
\[ y[n]=\sum_ka_kH(z_k)z_k^n \]

连续时间傅里叶级数性质

我们首先来看连续时间情况下的周期信号。当这些信号都是周期的成谐波关系的线性组合时,我们就得到了一般周期信号的傅里叶表示方法:

\[ x(t)=\sum_{k=-\infty}^{+\infty}a_ke^{jk\omega_0t} \]

线性性质:如果 \(x(t)\)\(y(t)\) 是周期为 \(T\) 的两个实信号,它们的傅里叶级数系数分别为 \(a_k\)\(b_k\),则信号 \(z(t) = Ax(t) + By(t)\)(其中 \(A\)\(B\) 是常数)的傅里叶级数系数 \(c_k\)\(c_k = Aa_k + Bb_k\)

时移性质:如果信号 \(x(t)\) 的傅里叶级数系数为 \(a_k\),则信号 \(x(t - t_0)\)(表示 \(x(t)\) 延迟了 \(t_0\) 的时间)的傅里叶级数系数为 \(a_k e^{-jk\omega_0 t_0} = e^{-jk2\pi f_0 t_0}a_k\)

时间反转性质:如果信号 \(x(t)\) 的傅里叶级数系数为 \(a_k\),则信号 \(x(-t)\)(表示 \(x(t)\) 在时间轴上翻转)的傅里叶级数系数为 \(a_{-k}\)

时域尺度变换\(x(\alpha t)=\sum_{k=-\infty}^{+\infty}a_ke^{jk(\alpha\omega_0)t}\) 时间尺度运算是加在 \(x(t)\) 的每一次谐波分量上的,因此,傅里叶系数并不发生改变。但是,基波频率的变化会导致傅里叶级数表示的改变。

相乘:对于两个周期为 \(T\) 的实信号 \(x(t)\)\(y(t)\),它们的傅里叶级数系数分别为 \(a_k\)\(b_k\)\(x(t)\)\(y(t)\) 的乘积得到的新信号的傅里叶级数系数 \(h_k\)\(a_k\)\(b_k\) 的卷积和:

\[ h_k = \sum_{l=-\infty}^{\infty} a_l b_{k-l} \]

共轭及共轭对称性:信号 \(x(t)\) 的傅里叶级数系数为 \(a_k\),其复共轭信号 \(x^*(t)\) 的傅里叶级数系数为 \(a_{-k}^*\)

对于实信号,由于 \(x(t)=x^*(-t)\),因而系数 \(a_k\)\(a_{-k}\) 是复共轭对,满足 \(a_{-k} = a_k^*\)

  • 如果信号 \(x(t)\) 的傅里叶级数系数 \(a_k\) 全部是实数,那么 \(x(t)\) 是一个偶函数。
  • 如果 \(a_k\) 全部是纯虚数,那么 \(x(t)\) 是一个奇函数。

由上,我们可以将实信号分解为:\(x_e(t)\sim\Re{a_k}\)\(x_o(t)\sim j\Im{a_k}\)

帕斯瓦尔定理:一个周期信号的总平均功率等于它的全部谐波分量的平均功率之和。

\[ \frac1T\int_T|x(t)|^2dt=\sum_{k=-\infty}^{+\infty}|a_k|^2 \]

离散时间傅里叶级数性质

离散信号和连续信号在处理复指数信号时,表现出的性质不同,主要是由于它们在时间上的采样方式不同。

离散信号 \(\phi_k[n] = e^{jk\omega_0n}\) 表现出周期性主要是因为离散时间复指数的角频率 \(\omega_0\) 取值在一个周期 \(2\pi\) 内是等价的。这是由于复指数函数 \(e^{j\omega}\) 的周期性质,即 \(e^{j\omega} = e^{j(\omega + 2\pi m)}\),其中 \(m\) 是任意整数。

因此,对于离散信号:

\[ \phi_k[n] = e^{jk\omega_0n} = e^{j(k+rN)\omega_0n} \]

因为:

\[ e^{j(k+rN)\omega_0n} = e^{jk\omega_0n} \cdot e^{jrN\omega_0n} \]

由于 \(N\) 是采样数,\(\omega_0 = \frac{2\pi}{N}\) 是基频,所以 \(rN\omega_0n = 2\pi rn\)\(2\pi\) 的整数倍,这意味着 \(e^{jrN\omega_0n}\) 是1的整数次幂,所以它等于1。这就是为什么离散信号中,复指数信号对于 \(k\)\(k+rN\) 是等价的。

对于连续信号,复指数信号 \(e^{j\omega t}\) 在频率上不是周期的。在连续时间中,角频率 \(\omega\) 可以取任意实数值,频率的增加会导致信号的实际频率改变,而不会像离散信号那样回到起点。因此,连续信号不会像离散信号那样表现出相同的周期性。而在离散时间中,由于采样的周期性,我们有一个固定的 \(N\) 来定义一个完整的周期,使得 \(e^{jk\omega_0n}\)\(k\) 增加 \(rN\)(其中 \(r\) 是任意整数)时仍然保持不变。

因此,对于序列 \(\phi_k[n]=e^{jk\omega_0n}\),它只在 \(k\)\(N\) 个相继值的区间上是不同的,因此上式的求和仅仅需要包括 \(N\) 项。因此我们可以将其傅里叶级数表示为:

\[ x[n]=\sum_{k=<N>}a_k\phi_k[n]=\sum_{k=<N>}a_ke^{jk\omega_0n} \]
\[ a_k=\frac1N \sum_{n=<N>}x[n]e^{-jk\omega_0n} \]

\(a_k\) 的值以 \(N\) 为周期,周期性重复,我们可以把 \(x[n]\) 看成在任意 \(N\) 个顺序 \(k\) 值上求和。\(\omega_0=\frac{2\pi}{N}\)

需要注意的是,由于离散的采样性质,因而离散时间傅里叶级数不存在任何收敛问题,任何离散时间周期序列 \(x[n]\) 完全由有限个(\(N\) 个)参数即可表征。

在性质方面,除了相乘情况下由卷积积分改为求卷积和 \(d_k=\sum_{l=<N>}a_lb_{k-l}\) 以及一次差分以外,别的基本没有太大的差别。