美文网首页
傅里叶变换

傅里叶变换

作者: 潘旭 | 来源:发表于2020-03-22 19:20 被阅读0次

    傅里叶变换

    傅里叶变换的物理现象

    七色光

    光的色散

    当白色的光经过三菱镜的时候,就会分解成七色光。这就是一种傅里叶变换,将白色光分解成其中颜色的光,逆变换是七色光合成白色光。

    光是具有波粒二象性,所以我们可以认为光是波,那么,他的函数就是 sin(nx), 其中 n 表示频率, 每一种颜色的光都是一个正弦波函数,所以白色光的函数表示就是:

    f(x) = \sum_{n=1}^{7}{a_{n}sin(nx)}

    我们看到的是7色光,而实际上是无穷多光,所以标准的表达式:
    f(x) = \sum_{-\infty}^{\infty}{a_{n}sin(nx)}

    我们如何分辨声音?

    混合声波

    我们能够同时听到各种各样的声音,但是,我们的大脑弄将噪音剔除,而听清楚人的说话声音。这个过程与七色光是类似的。每一个声音都是一个波,那么,大脑将声音分解出来,将自己不想听的声波过滤掉,就是滤波,那么,就能够从混合的声音中听清楚想要的声音了。

    小结

    前面所说的例子,都涉及到一个操作,就是变换,这种变换就傅里叶变换,将一个函数分解成若干个函数的线性组合。

    傅里叶级数

    先从傅里叶级数入手。对于任意一个周期函数 f(x) 其周期为 T, 其可以分解成如下:

    f(x) = \frac{a_0}{2} + \sum_{n=1}^{+\infty} {a_n cos(\frac{2\pi n}{T}x) + b_nsin(\frac{2\pi n}{T}x)}, 其中 n \in N

    为什么是上面的公式?从几个方面来解释, 1. 周期 2. 函数分解 3. 函数的基

    周期

    因为 f(x) 的周期是 T, 所以,我们选择的函数,需要也是周期是 T, 在上面的式子中, sin(\frac{2\pi n}{T}x) 的最小周期是 T^{'} = 2\pi / \frac{2\pi n}{T} =\frac{T}{n}, 因为其最小周期是 \frac{T}{n},所以 T 也是其周期。

    例如 T=2\pi

    • n=1时, T^{'}=2\pi
    • n=2时, T^{'}=\pi, 最小周期是 \pi 所以 2\pi 也是其周期。

    通过上面的解释,我们知道 sin(\frac{2\pi n}{T}x)cos(\frac{2\pi n}{T}x) 都是满足周期是 T 的。

    函数分解

    任何一个函数都能够分解成一个奇函数和一个偶函数的和。

    f(x) = \frac {f(x) - f(-x) + f(x) + f(-x)}{2} = \frac {f(x) - f(-x)}{2} + \frac{f(x) + f(-x)}{2} = f_{奇函数} + f_{偶函数}

    因为

    g(x) = \frac{f(x) - f(-x)}{2}, g(-x) = -(\frac{f(x) - f(-x)}{2}) = -g(x)
    所以 g(x) 是奇函数; 同理可以证明 \frac{f(x) + f(-x)}{2} 是偶函数。

    函数的基

    在介绍函数的基,先看看向量基,这是我们熟悉的事情。对于直角坐标系任意点

    \begin {bmatrix} x\\y \end {bmatrix}

    都可以通过两个基本向量来表示, 分别是 [1,0]^T[0,1]^T, 也就是:

    [x, y]^T = x[1,0]^T + [0,1]^T

    三维的也同样, [x,y,z] = x[1,0,0] + y[0,1,0] + z[0,0,1]

    在向量空间,我们将 [1, 0], [0, 1] 称作基向量,而任何一个向量都可以通过基向量的线性组合来表示出来。

    那么,函数能否有类似的这样一组基来表示成函数基的线性组合呢?如果能够表示成基的线性组合,那么函数的分解这个问题也就解决了?

    看看向量基具备的特性,然后,我们在仿照来寻找函数基.

    向量满足正交性。也就是

    1. x \cdot y = 0, 例如 [1, 0] \cdot [0, 1] = 0
    2. x \cdot x = 1

    顺便说一下, 其实代表了两个向量的相似度,正交基是垂直的所以相似度为0.

    函数基正交性

    根据向量的正交性,可以推断出函数的正交性是满足

    1. \int_{-\infty}^{+\infty}{f(x)g(x)dx} = 0
    2. \int_{-\infty}^{+\infty}{f(x)f(x)dx} = 1

    现在来考察 sin( \frac {2n\pi}{T}x), 为了简单起见,令 T=2\pi, 考察 [-\pi, \pi] 区间, 这样就是看 sin(nx)cos(mx).

    \int_{-\pi}^{+\pi}{sin(nx)cos(mx)dx} = \int_{-\pi}^{+\pi}{sin(nx)cos(mx)dx} = \frac{1}{2}\int_{-\pi}^{+\pi}{sin(n+m)x + sin(n-m)x} = \frac{1}{2}({cos(n+m)x|_{-\pi}^{\pi} + cos(n-m)x|_{-\pi}^{\pi})}

    1. m \ne n时, \int_{-\pi}^{+\pi}{sin(nx)cos(mx)dx}=0
    2. m == n 时, \int_{-\pi}^{+\pi}{sin(nx)cos(mx)dx}=\pi

    所以与向量的正交性定义是一致的,所以认为 sin(nx)cos(mx) 是正交的。

    同样的方式,可以证明以下是正交的:

    1. sin(nx), sin(mx)
    2. cos(nx), cos(mx)
    3. 1, sin(nx)
    4. 1, cos(nx)

    所以,1, sin(nx), cos(mx) 是正交的,这也就是我们看到的傅里叶表达式,可以通过 这三个正交基来线性组合表达的方式。

    a_0,a_n,b_n 系数求解

    有了函数正交基的概念,求解系数就变得非常容易,因为相互正交的积分为0, 自己与自己正交为 \pi。先求解 a_n

    为了简单,我们假设 T=2\pi, 对 f(x) 两边同时乘以正交基 cos(nx) 并积分。如下:

    \int_{-\pi}^{+\pi} {f(x)cos(nx)} dx = \\ \int_{-\pi}^{+\pi} {\frac{a_0}{2}cos(nx)}dx + \sum_{n=1}^{+\infty}{\int_{-\pi}^{+\pi} {a_n cos(nx)cos(nx)}dx} + \sum_{n=1}^{+\infty}{\int_{-\pi}^{+\pi} {b_n sin(nx)cos(ns)}dx} \\ = 0 + \int_{-\pi}^{+\pi} {cos(nx)cos(nx)}dx + 0 = a_n\int_{-\pi}^{+\pi} {cos(nx)cos(nx)}dx = a_n\pi

    所以有

    a_n = \frac{1}{\pi}\int_{-\pi}^{+\pi} {f(x)cos(nx)} dx

    同理也可以推导出 b_n

    b_n = \frac{1}{\pi}\int_{-\pi}^{+\pi} {f(x)sin(nx)} dx

    对于 a_0 来说,乘以 1 后做积分即可。

    a_0 = \frac{1}{\pi}\int_{-\pi}^{+\pi}{f(x)} dx

    可以看出每一个系数实际就是 f(x) 乘以 其相应正交基的积分。

    上面是假设 T=2\pi,那么,去掉这个限制,用 T 来表示,就是如下:

    a_n = \frac{2}{T}\int_{x_0}^{x_0 + T} {f(x)cos(nx)} dx

    b_n = \frac{2}{T}\int_{x_0}^{x_0+T} {f(x)sin(nx)} dx

    a_0 = \frac{2}{T}\int_{x_0}^{x_0+T}{f(x)} dx

    利用傅里叶级数来求解一些有意思的级数和

    f(x) 的傅里叶级数,当 x \in [0, \pi], f(x)=1; x\in[-\pi,0], f(x)=0 .

    依据公式,求得:

    a_0 = 1, a_n = 0, b_{2k-1} = \frac{2}{\pi}{\frac{1}{2k-1}}, b_{2k}=0

    所以

    f(x) = \frac {1}{2} + \sum_{n=2k-1}^{+\infty}{\frac {2}{\pi}{\frac{sin((2k-1)x)}{2k-1}}}, k \in N

    x=\frac{\pi}{2}, 有

    f(\frac{\pi}{2})=1=\frac{1}{2} + \frac {2}{\pi}(1 - \frac{1}{3} + \frac{1}{5} - \frac{1}{7} + ...)
    所以有:

    1 - \frac{1}{3} + \frac{1}{5} - \frac{1}{7} + ... = \frac{\pi}{4}

    这么神奇的级数和。

    在复数域内的傅里叶级数

    欧拉公式:

    e^{i\theta} = cos\theta + isin\theta

    通过欧拉公式,变换得到:

    cos(nx) = \frac{e^{nix} + e^{-inx}}{2}\\ sin(nx) = \frac{e^{nix} - e^{-inx}}{2i}

    带入到傅里叶级数中有:

    f(x) = \frac {a_0}{2} + \sum_{n=1}^{+\infty}{a_n \frac{e^{nix} + e^{-inx}}{2} + b_n \frac{e^{nix} - e^{-inx}}{2i}} \\ = \frac{a_0}{2} + \sum_{n=1}^{+\infty}{a_n \frac{e^{nix} + e^{-inx}}{2}} + \sum_{n=1}^{+\infty}{b_n \frac{e^{nix} - e^{-inx}}{2i}} \\ = \frac{a_0}{2} + \sum_{n=1}^{+\infty}{\frac{a_n - ib_n}{2} e^{nix}} + \sum_{n=1}^{+\infty}{\frac{a_n + ib_n}{2} e^{-nix}} \\ = \frac{a_0}{2}e^{0ix} + \sum_{n=1}^{+\infty}{\frac{a_n - ib_n}{2} e^{nix}} + \sum_{n=-1}^{-\infty}{\frac{a_n + ib_n}{2} e^{nix}} \\ = \sum_{n=-\infty}^{+\infty}{c_n e^{nix}}

    通过上面的等式,也可以得出:

    c_0 = \frac {a_0}{2} \\ c_n = \frac {a_n + ib_n}{2}, n>0 \\ c_n = \frac {a_n + ib_n}{2}, n<0

    现在复数域上傅里叶变换的表达式就是:

    f(x) = \sum_{n=-\infty}^{+\infty}{c_n e^{nix}}, n \in Z

    在这种变化下,正交基是 e^{nxi}e^{-nxi}。也就是:

    \int_{-\pi}^{+\pi} {e^{nxi} e^{-mxi}}dx = \int_{-\pi}^{+\pi} e^{(n-m)xi}dx = e^{(n-m)i} | _{-\pi}^{+\pi}

    n==m时, \int_{-\pi}^{+\pi} {e^{nxi} e^{-mxi}}dx = 2\pi

    n\ne m时, \int_{-\pi}^{+\pi} {e^{nxi} e^{-mxi}}dx = 2\pi = 0

    所以也是符合符合正交基的定义的。有了正交基,计算 c_n 就方便了,两边乘以 e^{-nxi} 积分即可。所以有:

    \int_{-\pi}^{+\pi}f(x)e^{-nxi}dx = c_n

    前面的计算是假设 T = 2\pi, 更通用的公式是:

    f(x) = \sum_{n=-\infty}^{+\infty}{c_n e^{\frac{2\pi nx}{ T }i}}, n \in Z \\ c_n = \frac{1}{T}\int_{-x_0}^{x_0+T}f(x)e^{-i\frac{2\pi nx}{ T }}dx

    频域

    傅里叶级数将函数从时域转换到频域。我们将傅里叶级数稍稍变化一下写法,以向量的形式写出来。就是:

    f(x) = [\frac {a_0}{2}, a_1, b1, ..., a_n, b_n, ...] \cdot [1, cos(1x), sin(1x), ..., cos(nx), sin(nx), ...]^T

    f(x) = [c_0, c_1, ..., c_n, ...] \cdot [e^{0i}, e^{1xi}, ..., e^{nxi}, ...]^T

    我们将系数向量单独看,也就是说任何一个函数 f(x), 如果,我们知道了系数向量也就知道了 f(x), 因为函数基的向量都是一样的,每一个函数基又是周期函数,所以频率就代表了这个函数基,这样周期函数组成的函数基空间,就是频域。可以用下面的式子来表达:

    f(x) \xrightarrow[]{F.T} C_n

    C_nf(x) 的 傅里叶级数变换; f(x)C_n 的逆变换。如果讲 C_n(n, C_n) 为坐标系绘制成图像,就是频谱。

    傅里叶系数能量

    目前为止,我们使用了两种变换,分别是实数域变换和复数域变换,变幻出了不同的系数。那么,这些系数有什么含义?

    在正弦函数基变化下,我们知道对于 Asin(\omega x + \phi) 其中, A 是振幅,也就是代表了正弦波的能量。所以不论在哪种分解下,都是能量在不同的维度上的分解。

    \int_{-\pi}^{\pi}f^2(x)dx = \frac {a_0^2}{4} + \sum_{n=1}^{\infty} {(a^2_n + b^2_n)}

    对于复数域上:
    \int_{-\pi}^{\pi}f(x) \overline{f(x)}dx = \sum_{-\infty}^{+\infty}c^2_n
    其中 \overline{f(x)} 表示 f(x) 的共轭。

    所以这些系数也可以看做是能量。上面的推导,也叫: 帕塞瓦。

    傅里叶变换

    前面的傅里叶级数是基于周期是 T 的周期函数变换而来。那么对于非周期函数如何解决呢? 可以将其转化成 T \rightarrow +\infty 的函数来看待。为了方便,我们假设周期 T = 2L.

    f(x) = \sum_{n=-\infty}^{+\infty} {c_n e^{i\frac{\pi nx}{L}}}

    c_n = \frac{1}{2L} \int_{-L}^{+L} {f(x) e^{-i\frac{\pi nx}{L}}} dx

    \omega = \frac {\pi n}{L}, d\omega = \frac{\pi (n+1)}{L} - \frac{\pi (n)}{L} = \frac{\pi}{L}

    将以上带入 f(x) 有:

    f(x) = \sum_{n=-\infty}^{+\infty} {(\frac{d\omega}{2\pi} \int_{-L}^{+L} {f(x) e^{-i{\omega}x} dx}) e^{i \omega x}} \\ = \int_{-\infty}^{+\infty}(\frac{1}{2\pi}\int_{-\infty}^{+\infty}{f(x) e^{-i{\omega}x} dx}) e^{i \omega x} d\omega

    令:
    g(\omega) = \frac{1}{2\pi}\int_{-\infty}^{+\infty}{f(x) e^{-i{\omega}x} dx}

    有:

    f(x) = \int_{-\infty}^{+\infty} { g(\omega) e^{i \omega x} d\omega}

    这与傅里叶级数的形式是一样的(一个是积分一个是求和), e^{i \omega x} 是函数基。f(x) 的傅里叶变换就是 g(\omega), f(x)g(\omega) 的傅里叶逆变换, f(x) \leftrightarrow g(\omega)g(\omega) 就是频率曲线。

    C_n 绘制出来是频谱,那么 g(\omega) 就是曲线。

    傅里叶变换

    这幅图很好的说明了这个过程:

    • 图(a): 是周期是 T 的时候,C_k 是离散的频谱
    • 图(b): 将 T 拉长,T 越大 \omega 越小,函数基 e^{i\frac{2\pi n x}{T}} 越小,看到C_k 频谱越来越密集
    • 图(c): 当 T \rightarrow +\infty, C_k 频谱就变成了频率曲线。

    傅里叶变换性质

    f(x) \leftrightarrow g(\omega), 那么 {f(x)}' 的傅里叶变换 {g(\omega)}'是什么呢?直接计算:

    {g(\omega)}' \\ = \frac{1}{2 \pi} {\int_{-\infty}^{+\infty} {{f(x)}' e^{-i\omega x}} dx} \\ = \frac{1}{2 \pi} (f(x)e^{-i\omega x}|_{-\infty}^{+\infty} + i\omega{\int_{-\infty}^{+\infty} {{f(x)} e^{-i\omega x}} dx} ) \\ = i\omega \frac{1}{2 \pi} {\int_{-\infty}^{+\infty} {{f(x)} e^{-i\omega x}} dx} ) \\ = i\omega g(\omega)

    所以 {f(x)}' \leftrightarrow i\omega g(\omega)。这个性质在解微分方程的时候,非常方便。
    帕塞瓦定理:

    \int_{-\infty}^{+\infty} |f(x)|^2dx = \frac {1}{2\pi} \int_{-\infty}^{+\infty} |g(\omega)|^2d\omega

    卷积的傅里叶变换。f(x), g(x) 卷积操作的傅里叶变换推导:

    F(f \star g)(x) = \int_{-\infty}^{+\infty} ({ \int_{-\infty}^{+\infty} {f(\tau) g(x - \tau) d\tau }) e^{-i \omega x} dx} \\ = \int_{-\infty}^{+\infty} {f(\tau) d\tau} \int_{-\infty}^{+\infty} {g(x - \tau)} e^{-i \omega x} dx \\ = \int_{-\infty}^{+\infty} {f(\tau) d\tau} \int_{-\infty}^{+\infty} {g(x - \tau)} e^{-i \omega (x - \tau)} e^{-i \omega \tau} d(x-\tau) \\ = \int_{-\infty}^{+\infty} {f(\tau) e^{-i \omega \tau}d\tau} \int_{-\infty}^{+\infty} {g(x - \tau)} e^{-i \omega (x - \tau)} d(x-\tau) \\ = F(\omega)G(\omega)

    所以 f(x)g(x) 的卷积的傅里叶变换就是, 独自傅里叶变换的乘积。

    f \star g \rightarrow FG

    离散傅里叶变换

    在实际的情况中,我们很难获得连续的值,那么,就通过等间距采样来获得信号数据。那么,离散的采样回来的数据,如何进行傅里叶变换?这就是 离散傅里叶变换 D.F.T。

    假设采样了 N 个等间距的点, 获得数据是 [x_0, ..., x_{N-1}],令 f[n] = x_n, 离散傅里叶变换的表达式如下:

    \mathscr{F}(f[n])[k] = \sum_{n=0}^{N-1} {f[n] e^{\frac {-2\pi i}{N} kn} } = \sum_{n=0}^{N-1} {x_n e^{\frac {-2\pi i}{N} kn} }

    \omega = e^{\frac {-2\pi i}{N}}, 就有:

    \mathscr{F}(f[n])[k] = g(k) = \sum_{n=0}^{N-1} {x_n \omega^{kn} }

    上面的的式子可以写成矩阵的形式:

    \mathscr{F}(f[n]) = G = \begin{bmatrix} g_0 \\ g_1 \\ g_2 \\ ... \\ g_{N-1} \end{bmatrix} = \begin{bmatrix} 1& 1& 1& ...& 1\\ 1& \omega & \omega^2 &...& \omega^{N-1} \\ 1& \omega^2 & \omega^4 & ... & \omega^{2(N-1)} \\ ...& ...& ...& ...& ...& \\ 1& \omega^{N-1} & \omega^{2(N-1)} & ... & \omega^{(N-1)(N-1)} \end{bmatrix} \begin{bmatrix} x_0 \\ x_1 \\ x_2 \\ ... \\ x_{N-1} \end{bmatrix} = \Omega F

    这就是离散傅里叶变换。那么,离散傅里叶变换的逆变换如何计算呢? 就是对变换矩阵 \Omega 求逆矩阵即可。

    F = \begin{bmatrix} x_0 \\ x_1 \\ x_2 \\ ... \\ x_{N-1} \end{bmatrix} = \frac {1}{N} \begin{bmatrix} 1& 1& 1& ...& 1\\ 1& \omega^{-1} & \omega^{-2} &...& \omega^{-(N-1)} \\ 1& \omega^{-2} & \omega^{-4} & ... & \omega^{-2(N-1)} \\ ...& ...& ...& ...& ...& \\ 1& \omega^{-(N-1)} & \omega^{-2(N-1)} & ... & \omega^{-(N-1)(N-1)} \end{bmatrix} \begin{bmatrix} g_0 \\ g_1 \\ g_2 \\ ... \\ g_{N-1} \end{bmatrix} = \frac {1}{N} \Omega^{-1} G

    总结

    到此已经将傅里叶级数,傅里叶变换,离散傅里叶变化 以及 傅里叶变换的卷积相关性质介绍完毕。

    相关文章

      网友评论

          本文标题:傅里叶变换

          本文链接:https://www.haomeiwen.com/subject/flgvyhtx.html