[傅里叶变换及其应用学习笔记] 二十六. 高维傅里叶变换的推导
高维意味着函数中有多个变量,典型的高维傅里叶应用为图像处理。
一个二维图像的亮度(灰度)可以用$f(x_1,x_2)$来表示,以lena为例,图像平面作为$x_1,x_2$平面,灰度作为$z$轴,形成一个三维曲面
original image front of curve surface side of curve surface
一维傅里叶变换的作用是把二维平面上的曲线转换成频域表示,二维的傅里叶变换的作用就是把三维曲面转换成频域表示。
mathematica script:
data = Import["ExampleData/lena.tif"]; imageData = ImageData[data, "Byte"]; width = ImageDimensions[data][[1]]; height = ImageDimensions[data][[2]]; scaleParam = 5; scaledWidth = IntegerPart[width/scaleParam]; scaleHeight = IntegerPart[height/scaleParam]; size = width*height; scaledSize = scaledWidth*scaleHeight; red = 1; green = 2; blue = 3; image3d = Table[If[j == 3, imageData[[If[IntegerPart[i/width] > 0, IntegerPart[i/width], 1], If[Mod[i, width] > 0, Mod[i, width], 1], green]], If[j == 1, If[IntegerPart[i/width] > 0, IntegerPart[i/width], 1], If[Mod[i, width] > 0, Mod[i, width], 1]]], {i, size}, {j, 3}]; ListPlot3D[image3d, Mesh -> None, InterpolationOrder -> 3, ColorFunction -> GrayLevel]
从一维傅里叶变换到二维傅里叶变换
一维傅里叶变换的公式如下
$\displaystyle{ \mathcal{F}f(s) = \int_{-\infty}^{\infty}e^{-2\pi ist}f(t)dt }$
其中有变量$s,t$,变换中与这些变量相关的部分有$f(t),\mathcal{F}f(s)$以及$e^{-2\pi ist}$
二维傅里叶变换里面,变量$s,t$都变成了如下二维变量
空间变量(spatial variable)
$\underline{x} = (x_1,x_2)$
频率变量
$\underline{\xi} = (\xi_1,\xi_2)$
注:我们在讨论一维傅里叶变换的时候采用的是以时间作为单位的时域,但是在二维(N维)傅里叶变换的时候采用的是空间为单位的空域。
那么二维空域函数就可以写成
$f(\underline{x}) = f(x_1,x_2)$
二维频域函数就写成
$\mathcal{F}f(\underline{\xi} = \mathcal{F}f(\xi_1,\xi_2))$
复指数中的乘积$st$就变成$\underline{x}$与$\underline{\xi}$的内积(把$\underline{x},\underline{\xi}$看作向量)
$\underline{x}\cdot \underline{\xi} = x_1\xi_1+x_2\xi_2$
那么复指数$e^{-2\pi ist}$变成
$e^{-2\pi i(\underline{x}\cdot \underline{\xi})} = e^{-2\pi i(x_1\xi_1+x_2\xi_2)}$
有了以上的变量替换,二维傅里叶变换有如下形式
向量形式
$\displaystyle{ \mathcal{F}f(\underline{\xi}) = \int_{\mathbb{R}^2}e^{-2\pi i(\underline{x}\cdot \underline{\xi})}f(\underline{x})d\underline{x} }$
分量形式
$\displaystyle{ \mathcal{F}f(\xi_1,\xi_2) = \int_{-\infty}^{\infty}\int_{-\infty}^{\infty}e^{-2\pi i(x_1\xi_1+x_2\xi_2)}f(x_1,x_2)dx_1dx_2 }$
N维傅里叶变换
$\begin{matrix}
\underline{x} &= &(x_1,x_2,…,x_n)\\
\underline{\xi} &= &(\xi_1,\xi_2,…,\xi_n)\\
\underline{x}\cdot \underline{\xi} &= &x_1\xi_1+x_2\xi_2+…+x_n\xi_n
\end{matrix}$
向量形式
$\displaystyle{ \mathcal{F}f(\underline{\xi}) = \int_{\mathbb{R}^n}e^{-2\pi i(\underline{x}\cdot \underline{\xi})}f(\underline{x})d\underline{x} }$
分量形式
$\displaystyle{ \mathcal{F}f(\xi_1,\xi_2,…,\xi_n) = \underbrace{\int_{-\infty}^{\infty}…\int_{-\infty}^{\infty}}_{n}e^{-2\pi i(x_1\xi_1+x_2\xi_2+...+x_n\xi_n)}f(x_1,x_2,...,x_n)dx_1dx_2…dx_n }$
傅里叶逆变换
$\displaystyle{ \mathcal{F}^{-1}g(\underline{x}) = \int_{\mathbb{R}^n}e^{2\pi i(\underline{x}\cdot \underline{\xi})}g(\underline{\xi})d\underline{\xi} }$
深入理解
在前面一维傅里叶变换类比到二维傅里叶变换的时候,复指数有以下过渡
$e^{2\pi ist} \quad \rightarrow \quad e^{2\pi i(\underline{x}\cdot\underline{\xi})}$
其中的$st$为什么会变成了$\underline{x}\cdot\underline{\xi}$这种内积的形式呢?
下面将从一维复指数开始分析,后会过渡到二维复指数。
一维复指数
在一维傅里叶级数的分析时,我们讲到任何周期为1的函数都能表达成复指数的形式如下
$f(t) = \displaystyle{ \sum_{k=-\infty}^{\infty}C_ke^{2\pi ikt} }$
其中分解成无限个复指数分量,傅里叶正逆变换是把周期取极限后再做调整的结果。
现在我们试着在坐标轴上描绘出某个复指数。
取$k=1$,即有$h(t) = e^{2\pi it}$,其中变量为t。不过由于它为复指数,我们无法在实坐标轴上把完整的图像画出来,但是我们注意到,该函数有如下性质
$h(t+1) = e^{2\pi i(t+1)} = e^{2\pi it}e^{2\pi i}=e^{2\pi it} = h(t)$
$e^{2\pi it} = 1 \qquad for\ t=0,\pm 1,\pm 2,…$
可以画出下图
可以看到尽管我们不能完整画出该复指数的图像,但是可以看到它每间隔1都会回到原来的位置,是一个周期为1的振荡函数(曲线)。
如此类推
-
$e^{2\pi ikt}$就是周期为$\frac{1}{k}$(频率为$k$)的振荡函数,任意只含有一个变量t的函数$f(t)$都能由无数个这种不同频率的振荡函数组合得到。
二维复指数
按照上面分析一维复指数的思路,我们来分析二维复指数$e^{2\pi i(\underline{x}\cdot\underline{\xi})}$
取固定的$\underline{\xi} = (1,1)$,即
$\underline{x}\cdot\underline{\xi} = x_1+x_2$
当$\underline{x}\cdot\underline{\xi} = 0,\pm1,\pm2…$时,有
$e^{2\pi i(\underline{x}\cdot\underline{\xi})} = 1$
此时该复指数的值为1,在图像上表示就是振荡到1的位置
图上的斜线分别为
$x_1+x_2 = 0,\pm1,\pm2…$
他们有着相同的法向量$(1,1)$,即
$\underline{\xi} = (\xi_1,\xi_2)$
他们之间的距离为
$distance=\frac{\frac{1}{\xi_1}\frac{1}{\xi_2}}{\sqrt{\frac{1}{\xi_1^2}+\frac{1}{\xi_2^2}}} = \frac{\frac{1}{\xi_1\xi_2}}{\sqrt{\frac{\xi_1^2+\xi_2^2}{\xi_1^2\xi_2^2}}} = \frac{1}{\sqrt{\xi_1^2+\xi_2^2}} = \frac{1}{\left \| \xi \right \|}$
因此,结合前面坐标图像,有这样的描述:
-
$e^{2\pi i(\underline{x}\cdot\underline{\xi})}$是一个法向量为$\underline{\xi} = (\xi_1,\xi_2)$周期为$\frac{1}{\left \| \xi \right \|} = \frac{1}{\sqrt{\xi_1^2+\xi_2^2}}$的振荡函数(曲面)。
通过修改$\underline{\xi}$,可以得到不同的法向量与不同周期的二维复指数$e^{2\pi i(\underline{x}\cdot\underline{\xi})}$,无限的这类复指数可以组合成包含两个变量的任意函数$f(\underline{x}) = f(x_1,x_2)$,即三维曲面。