文章目录

  • 前置知识
    • 1. 1 复数
    • 1.2 e的美妙
    • 1. 2 欧拉公式
  • 一 定义
  • 二 例题
    • 2.1 定义展开法
    • 2.2 矩阵累成法
    • 2.3 逆傅里叶变换法
    • 2.4 总结
  • 三 参考文章

前置知识

1. 1 复数

​ 定义(符号表示):

​ a + bi (这里a,b是实数,i是虚数单位,a叫做复数的实部,b叫做复数的虚部。可以认为实数a等价于复数a+0i)

​ 几何(复平面):

​ 水平的实轴与垂直的虚轴建立起来的复数的几何表示

​ 其他理解:

 对于方程 x^2 = 1*x*x = -1   我们可以把*x看作是一种变换,经过两次变换,1变成了-1 如果我们把这种变换看成是“逆时针旋转90%”,就能够实现1变为-1也就是说我们可以把 *i 看作是逆时针旋转90%

​ 如图

​ 复平面上一个点乘以(-1+7i)的几何意义:

​ 模长增加\srqt(50),方向逆时针旋转arctan(7/-1) = 98.17°

两个复数相乘的结果就是:让它们的模长相乘得到最终的模长,让它们的幅角相加得到最终的幅角

参考文章:https://zhuanlan.zhihu.com/p/48392273

1.2 e的美妙

​ e = 2.718281828459…

​ 指数增长模型

​ 假设你有1元钱存在银行里,银行的利率为100%,若银行一年付一次利息,一年后你可以拿到1元本金+1元利息共两元

​ 假设银行利率不变但利息改为半年一付,那么在半年时候把0.5的利息再次存入银行(复利),一年后能拿到1元本金+1+0.25共2.25元

​ 假设利率还是不是但利息改为四月一付,拿到利息后进行复利,那么一年后能拿到2.37元

​ 计算公式 // r为增长率,x为增长周期,Q为初始值的Q倍
Q=(1+r)xQ = (1+r)^x Q=(1+r)x
​ 复利模型

​ 假设利息连续不断的付,进行连续复利,那么利润的这个天花板就是e!如下图

​ 高等数学的重要极限
e=lim⁡n→∞(1+1n)ne = \lim_{n \rightarrow ∞}(1+\frac{1}{n})^n e=n→∞lim​(1+n1​)n
​ 参考文章:https://zhuanlan.zhihu.com/p/48391055

1. 2 欧拉公式

​ 定义:

eix=cos⁡x+isin⁡xe^{ix} = \cos x + i \sin x eix=cosx+isinx

​ 欧拉恒等式x=Π:
eiπ=−1,eiπ+1=0e^{i\pi} = -1 ,\quad e^{i\pi}+1 =0 eiπ=−1,eiπ+1=0

​ 推导:

​ 采用复数cos(x)+i*sin(x)可以描述单位圆周上的点的位置或运动轨迹

​ 自然底数e的定义式
e=lim⁡n→∞(1+1n)n=lim⁡n→∞(1+100%n)ne = \lim_{n \rightarrow ∞}{(1 + \frac{1}{n})^n}=\lim_{n \rightarrow ∞}{(1 + \frac{100\%}{n})^n} e=n→∞lim​(1+n1​)n=n→∞lim​(1+n100%​)n
​ 当增长率为虚数时候
ei=lim⁡n→∞(1+100%∗in)n=1∗lim⁡n→∞(1+100%∗in)ne^i = \lim_{n \rightarrow ∞}{(1 + \frac{100\%*i}{n})^n} = 1*\lim_{n \rightarrow ∞}{(1 + \frac{100\%*i}{n})^n} ei=n→∞lim​(1+n100%∗i​)n=1∗n→∞lim​(1+n100%∗i​)n
​ 我们可以把上式拆分,看作是1进行了n次的变换,每一次的变换的模长增量都是1,角度增量都是1/n。

​ 每一次的旋转如图

即最终转动的弧度为1。由此可得


ei=1∗lim⁡n→∞(1+100%∗in)n=cos⁡1+i∗sin⁡1e^i = 1*\lim_{n \rightarrow ∞}{(1 + \frac{100\%*i}{n})^n} = \cos 1 + i*\sin 1 ei=1∗n→∞lim​(1+n100%∗i​)n=cos1+i∗sin1
​ 更一般地对于e^(ix)

​ 即最终旋转的弧度为x。由此可得


eix=1∗lim⁡n→∞(1+100%∗ixn)n=cos⁡x+i∗sin⁡xe^{ix} = 1*\lim_{n \rightarrow ∞}{(1 + \frac{100\%*ix}{n})^n} = \cos x + i*\sin x eix=1∗n→∞lim​(1+n100%∗ix​)n=cosx+i∗sinx
​ 证毕。

​ 其他等式
sin⁡x=eix−e−ix2icos⁡x=eix+e−ix2\sin x = \frac{e^{ix}-e^{-ix}}{2i} \\ \cos x = \frac{e^{ix}+e^{-ix}}{2} sinx=2ieix−e−ix​cosx=2eix+e−ix​
参考文章:https://zhuanlan.zhihu.com/p/48392958

一 定义

二 例题

2.1 定义展开法

​ 题目
f(x,y)=cos⁡(π4x),x=[0,511],计算其二维离散傅里叶变换F(u,v)f(x,y) = \cos (\frac{\pi}{4}x),x=[0,511],计算其二维离散傅里叶变换F(u,v) f(x,y)=cos(4π​x),x=[0,511],计算其二维离散傅里叶变换F(u,v)
​ 解:
根据欧拉公式有f=eiπ4x+e−iπ4x2,设M=N=512F(u,v)=∑x=0M−1∑y=0N−1f(x,y)e−j2π(umx+vNy)=12∑x=0M−1∑y=0N−1(ejπ4x+e−jπ4x)∗e−j2π(umx+vNy)=12∑x=0M−1∑y=0N−1(ej(π4x−2πuMx−2πvNy)+e−j(π4x+2πuMx+2πvNy))=12∑x=0M−1∑y=0N−1(ej2π512[(64−u)x−vy]+e−j2π512[(64+u)x+vy])=12∑x=0M−1∑y=0N−1(cos⁡2π512[(64−u)x−vy]+jsin⁡πv512[(64+u)x+vy]+cos⁡2π512[(64+u)x+vy]+−(j)sin⁡πv512[(64+u)x+vy])=12MNδ(u−64,v−0)+12MNδ(u+64,v−0)\begin{aligned} &根据欧拉公式有f = \frac{e^{i\frac{\pi}{4}x}+e^{-i\frac{\pi}{4}x}}{2} ,设M=N=512\\ & F(u,v) = \sum^{M-1}_{x=0} \sum^{N-1}_{y=0}f(x,y)e^{-j2\pi(\frac{u}{m}x+\frac{v}{N}y)} \\ & = \frac{1}{2}\sum^{M-1}_{x=0} \sum^{N-1}_{y=0}(e^{j\frac{\pi}{4}x}+e^{-j\frac{\pi}{4}x}) *e^{-j2\pi(\frac{u}{m}x+\frac{v}{N}y)}\\ & = \frac{1}{2}\sum^{M-1}_{x=0} \sum^{N-1}_{y=0}\bigg (e^{j(\frac{\pi}{4}x-\frac{2\pi u}{M}x-\frac{2\pi v }{N}y)}+ e^{-j(\frac{\pi}{4}x+\frac{2\pi u}{M}x+\frac{2\pi v }{N}y)} \bigg) \\ & = \frac{1}{2}\sum^{M-1}_{x=0} \sum^{N-1}_{y=0}\bigg( e^{j\frac{2\pi}{512}[(64-u)x-vy]}+e^{-j\frac{2\pi}{512}[(64+u)x+vy]} \bigg) \\ & = \frac{1}{2}\sum^{M-1}_{x=0} \sum^{N-1}_{y=0} \bigg( \cos\frac{2\pi}{512}[(64-u)x-vy]+j\sin{\frac{\pi v}{512}[(64+u)x+vy]} + \cos\frac{2\pi}{512}[(64+u)x+vy]+-(j)\sin{\frac{\pi v}{512}[(64+u)x+vy]} \bigg) \\ & = \frac{1}{2}MN \delta (u-64,v-0)+\frac{1}{2}MN \delta (u+64,v-0) \\ \end{aligned} ​根据欧拉公式有f=2ei4π​x+e−i4π​x​,设M=N=512F(u,v)=x=0∑M−1​y=0∑N−1​f(x,y)e−j2π(mu​x+Nv​y)=21​x=0∑M−1​y=0∑N−1​(ej4π​x+e−j4π​x)∗e−j2π(mu​x+Nv​y)=21​x=0∑M−1​y=0∑N−1​(ej(4π​x−M2πu​x−N2πv​y)+e−j(4π​x+M2πu​x+N2πv​y))=21​x=0∑M−1​y=0∑N−1​(ej5122π​[(64−u)x−vy]+e−j5122π​[(64+u)x+vy])=21​x=0∑M−1​y=0∑N−1​(cos5122π​[(64−u)x−vy]+jsin512πv​[(64+u)x+vy]+cos5122π​[(64+u)x+vy]+−(j)sin512πv​[(64+u)x+vy])=21​MNδ(u−64,v−0)+21​MNδ(u+64,v−0)​
​ 最后一步的化简过程如下
当u=64,v=0时候12∑x=0M−1∑y=0N−1(cos⁡0+cos⁡π2)=12MN当u≠64,v≠0,例如u=63,v=1时候12∑x=0M−1∑y=0N−1(cos⁡2π512(x−y)+jsin⁡2π512(x−y))=12∑x=0M−1∑y=0N−1cos⁡2π512(x−y)+12∑x=0M−1∑y=0N−1sin⁡2π512(x−y)(x固定,展开y)=12∑x=0M−1(cos⁡2π512(x−0)+cos⁡2π512(x−1)+...+cos⁡2π512(x−511))+12j∑x=0M−1(sin⁡2π512(x−0)+sin⁡2π512(x−1)+...+sin⁡2π512(x−511))=12∑x=0M−1∗0+12j∑x=0M−1∗0=0(想象一下一个圆(2π))分割成了512份并且求和512(M)份,根据对称性可以知道和为0\begin{aligned} & 当u=64,v=0时候 \\ & \frac{1}{2}\sum^{M-1}_{x=0} \sum^{N-1}_{y=0}(\cos0 + \cos\frac{\pi}{2}) = \frac{1}{2}MN \\ & 当u\neq64,v\neq0,例如u=63,v=1时候 & \\ & \frac{1}{2}\sum^{M-1}_{x=0} \sum^{N-1}_{y=0}\bigg( \cos{\frac{2\pi}{512}(x-y)+j\sin{\frac{2\pi}{512}(x-y)}} \bigg) \\ & = \frac{1}{2}\sum^{M-1}_{x=0} \sum^{N-1}_{y=0}\cos{\frac{2\pi}{512}(x-y) } + \frac{1}{2}\sum^{M-1}_{x=0} \sum^{N-1}_{y=0}\sin{\frac{2\pi}{512}(x-y) } \quad (x固定,展开y)\\ & = \frac{1}{2}\sum^{M-1}_{x=0}\bigg( \cos{\frac{2\pi}{512}(x-0)}+\cos{\frac{2\pi}{512}(x-1)+...+\cos{\frac{2\pi}{512}(x-511)}} \bigg) + \frac{1}{2}j\sum^{M-1}_{x=0}\bigg( \sin{\frac{2\pi}{512}(x-0)}+\sin{\frac{2\pi}{512}(x-1)+...+\sin{\frac{2\pi}{512}(x-511)}} \bigg) \\ & = \frac{1}{2}\sum^{M-1}_{x=0}*0+\frac{1}{2}j\sum^{M-1}_{x=0}*0 = 0 \quad (想象一下一个圆(2\pi))分割成了512份并且求和512(M)份,根据对称性可以知道和为0 \end{aligned} ​当u=64,v=0时候21​x=0∑M−1​y=0∑N−1​(cos0+cos2π​)=21​MN当u​=64,v​=0,例如u=63,v=1时候21​x=0∑M−1​y=0∑N−1​(cos5122π​(x−y)+jsin5122π​(x−y))=21​x=0∑M−1​y=0∑N−1​cos5122π​(x−y)+21​x=0∑M−1​y=0∑N−1​sin5122π​(x−y)(x固定,展开y)=21​x=0∑M−1​(cos5122π​(x−0)+cos5122π​(x−1)+...+cos5122π​(x−511))+21​jx=0∑M−1​(sin5122π​(x−0)+sin5122π​(x−1)+...+sin5122π​(x−511))=21​x=0∑M−1​∗0+21​jx=0∑M−1​∗0=0(想象一下一个圆(2π))分割成了512份并且求和512(M)份,根据对称性可以知道和为0​
​由此可得
F(u,v)={MN2u=64,v=0MN2u=−64,v=00u,v=其他F(u,v)=\left\{ \begin{aligned} & \frac{MN}{2} \quad u=64,v=0 \\ & \frac{MN}{2} \quad u=-64,v=0 \\ & 0\quad u,v=其他 \end{aligned} \right. F(u,v)=⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧​​2MN​u=64,v=02MN​u=−64,v=00u,v=其他​
​ 验证(matlab中需要进行坐标转换)

​ 使用matlab验证结果

>> x = 0:511;
>> [Y, X] = meshgrid(x,x);
>> f1 = cos(pi/4*X);
>> F1 = fft2(f1);
>> F1c = fftshift(F1);
>> [r1,c1] = find(abs(F1c)>0.1);
>> r1r1 =193321>> c1c1 =257257
F1c(193,247)
imshow(abs(F1c))

​ 结论:可以发现,131072约等于1.3107e+05。出现误差的原因可能是matlab计算过程中精度损失

​ 另外一种计算方法

2.2 矩阵累成法

​ 题目:
f(x,y)=(−1)x+y,0≤x,y≤2,计算f(x,y)的DFTF(u,v),0≤u,v≤2.f(x,y) = (-1)^{x+y},0\le x,y\le 2,计算f(x,y)的DFT \ F(u,v), 0\le u, v\le 2. f(x,y)=(−1)x+y,0≤x,y≤2,计算f(x,y)的DFT F(u,v),0≤u,v≤2.

​ 解:
设:M=N=2+1=3根据题目要求应该求9个Fourier系数F(u,v)=∑x=02∑y=02(−1)x+ye−j(2πu3x+2πv3y)(u=0,1,2;v=0,1,2)设w=e−j2π3则w2=e−j4π3=e−j(2π−2π3)=ej2π3=w‾,w4=w‾2=w,ww‾=e0=1其中f=[f(0,0)f(0,1)f(0,2)f(1,0)f(1,1)f(1,2)f(2,0)f(2,1)f(2,2)]=[1−11−11−11−11]有F=[F(0,0)F(0,1)F(0,2)F(1,0)F(1,1)F(1,2)F(2,0)F(2,1)F(2,2)]=[1111ww21w2w4][1−11−11−11−11][1111ww21w2w4]=[11−w+w‾1+w−w‾1−w+w‾1−w+2w‾3−w−w‾1+w−w‾3−w−w‾2−1+3w−w‾]若仅计算某个F(u,v),则可以直接按照公式进行展开,例如F(1,2)=∑x=02∑y=02(−1)x+ye−j(2π∗13x+2π∗23y)=f(0,0)+f(0,1)e−j2π∗23∗1+f(0,2)e−j2π∗23∗2+f(1,0)e−j2π3+f(1,1)e−j2π3e−j2π∗23+f(1,2)e−j2π3e−j2π∗23∗2+f(2,0)e−j2π3∗2+f(2,1)e−j2π3∗2e−j2π∗23+f(2,2)e−j2π3∗2e−j2π∗23∗2=1−w′+w−w+ww′−w2+w′−w′2+ww′=3−w′−w=4\begin{aligned} &设:M = N = 2+1 = 3 \\ &根据题目要求应该求9个Fourier系数 \\ &F(u,v) = \sum^2_{x=0} \sum^2_{y=0}(-1)^{x+y}e^{-{j}(\frac{2\pi u}{3}x+\frac{2\pi v}{3}y)} (u=0,1,2;v=0,1,2) \\ &设\ w=e^{-j\frac{2\pi}{3}}则w^2=e^{-j\frac{4\pi}{3}}=e^{-j(2\pi-\frac{2\pi}{3})}=e^{j\frac{2\pi}{3}}= \overline w,w^4=\overline w^2=w,w\overline w = e^0 = 1 \\ &其中\quad f = \begin{bmatrix} f(0,0)&f(0,1)&f(0,2)\\f(1,0)&f(1,1)&f(1,2)\\ f(2,0)&f(2,1)&f(2,2) \end{bmatrix} = \begin{bmatrix} 1&-1&1\\ -1&1&-1\\ 1&-1&1 \end{bmatrix} \quad \\ & 有 F = \begin{bmatrix} F(0,0)&F(0,1)&F(0,2)\\F(1,0)&F(1,1)&F(1,2)\\ F(2,0)&F(2,1)&F(2,2) \end{bmatrix} = \begin{bmatrix} 1&1&1\\ 1&w&w^2\\ 1&w^2&w^4 \end{bmatrix} \begin{bmatrix} 1&-1&1\\ -1&1&-1\\ 1&-1&1 \end{bmatrix} \begin{bmatrix} 1&1&1\\ 1&w&w^2\\ 1&w^2&w^4 \end{bmatrix} \\ & \quad \quad \quad \quad =\begin{bmatrix} 1&1-w+\overline w&1+w-\overline w\\ 1-w+\overline w &1-w+2\overline w&3-w-\overline w\\ 1+w-\overline w &3-w-\overline w^2 &-1+3w-\overline w \end{bmatrix} \\ &若仅计算某个F(u,v),则可以直接按照公式进行展开,例如 \\ & F(1,2) = \sum^2_{x=0} \sum^2_{y=0}(-1)^{x+y}e^{-{j}(\frac{2\pi *1}{3}x+\frac{2\pi *2}{3}y)} \\ &=f(0,0)+f(0,1)e^{-j\frac{2\pi*2}{3}*1}+f(0,2)e^{-j\frac{2\pi *2}{3}*2}\\ &\quad +f(1,0)e^{-j\frac{2\pi}{3}}+f(1,1)e^{-j\frac{2\pi}{3}}e^{-j\frac{2\pi *2}{3}}+f(1,2)e^{-j\frac{2\pi}{3}}e^{-j\frac{2\pi *2}{3}*2} \\ & \quad + f(2,0)e^{-j\frac{2\pi}{3}*2} + f(2,1)e^{-j\frac{2\pi}{3}*2}e^{-j\frac{2\pi *2}{3}} + f(2,2)e^{-j\frac{2\pi}{3}*2}e^{-j\frac{2\pi *2}{3}*2} \\ &= 1-w'+w-w+ww'-w^2+w'-w'^2+ww' = 3-w'-w = 4 \end{aligned} ​设:M=N=2+1=3根据题目要求应该求9个Fourier系数F(u,v)=x=0∑2​y=0∑2​(−1)x+ye−j(32πu​x+32πv​y)(u=0,1,2;v=0,1,2)设 w=e−j32π​则w2=e−j34π​=e−j(2π−32π​)=ej32π​=w,w4=w2=w,ww=e0=1其中f=⎣⎡​f(0,0)f(1,0)f(2,0)​f(0,1)f(1,1)f(2,1)​f(0,2)f(1,2)f(2,2)​⎦⎤​=⎣⎡​1−11​−11−1​1−11​⎦⎤​有F=⎣⎡​F(0,0)F(1,0)F(2,0)​F(0,1)F(1,1)F(2,1)​F(0,2)F(1,2)F(2,2)​⎦⎤​=⎣⎡​111​1ww2​1w2w4​⎦⎤​⎣⎡​1−11​−11−1​1−11​⎦⎤​⎣⎡​111​1ww2​1w2w4​⎦⎤​=⎣⎡​11−w+w1+w−w​1−w+w1−w+2w3−w−w2​1+w−w3−w−w−1+3w−w​⎦⎤​若仅计算某个F(u,v),则可以直接按照公式进行展开,例如F(1,2)=x=0∑2​y=0∑2​(−1)x+ye−j(32π∗1​x+32π∗2​y)=f(0,0)+f(0,1)e−j32π∗2​∗1+f(0,2)e−j32π∗2​∗2+f(1,0)e−j32π​+f(1,1)e−j32π​e−j32π∗2​+f(1,2)e−j32π​e−j32π∗2​∗2+f(2,0)e−j32π​∗2+f(2,1)e−j32π​∗2e−j32π∗2​+f(2,2)e−j32π​∗2e−j32π∗2​∗2=1−w′+w−w+ww′−w2+w′−w′2+ww′=3−w′−w=4​

2.3 逆傅里叶变换法

​ 题目
f(x,y)=cos⁡(π8x+πy)+3sin⁡(π16x)(x=0−255,y=0−255),计算它的离散傅里叶变换F(u,v)f(x,y) = \cos (\frac{\pi}{8}x+\pi y) + 3\sin(\frac{\pi}{16}x) \quad (x=0-255,y=0-255),计算它的离散傅里叶变换F(u,v) f(x,y)=cos(8π​x+πy)+3sin(16π​x)(x=0−255,y=0−255),计算它的离散傅里叶变换F(u,v)
​ 解:
设M=N=256,则有π8=2πM×16,π=2πN×128,π16=2πM×8f(x,y)=cos⁡(2π∗16512x+2π∗128Ny)+3sin⁡2π∗8Mx=1MN[MN2[ej(2π∗16Mx+2π∗128Ny)+e−j(2π∗16Mx+2π∗128Ny)]+3MN2j[ej2π∗8Mx−e−j2π∗8Mx]]=1MN∑u255∑v255F(u,v)ej(2πuMx+2πvny)(根据反变换公式可知前面的那个系数就是取不同u,v,F(u,v)对应的值)可知F(16,128)=F(−16,−128)=F(−19+kM,−128+kN)=F(240,128)=MN2F(−8,0)=F(−8,0)=F(248,256)=F(248,0)=3MN2j\begin{aligned} & 设M=N=256,则有\frac{\pi}{8} = \frac{2\pi}{M}\times16,\pi = \frac{2\pi}{N}\times128,\frac{\pi}{16}=\frac{2\pi}{M}\times8 \\ & f(x,y) = \cos({\frac{2\pi*16}{512}x}+\frac{2\pi*128}{N}y)+3\sin{\frac{2\pi*8}{M}x} \\ & = \frac{1}{MN}\bigg[ \frac{MN}{2}\big[e^{j(\frac{2\pi*16}{M}x+\frac{2\pi*128}{N}y)}+ e^{-j(\frac{2\pi*16}{M}x+\frac{2\pi*128}{N}y)}\big] +\frac{3MN}{2j}\big[ e^{j}\frac{2\pi*8}{M}x - e^{-j}\frac{2\pi*8}{M}x\big]\bigg] \\ & = \frac{1}{MN}\sum_u^{255}\sum_v^{255}F(u,v)e^{j(\frac{2\pi u}{M}x + \frac{2\pi v}{n}y)} \\ & (根据反变换公式可知前面的那个系数就是取不同u,v,F(u,v)对应的值)可知 \\ & F(16,128)=F(-16,-128)=F(-19+kM,-128+kN)=F(240,128)=\frac{MN}{2} \\ & F(-8,0)=F(-8,0)=F(248,256)=F(248,0) = \frac{3MN}{2j} \end{aligned} ​设M=N=256,则有8π​=M2π​×16,π=N2π​×128,16π​=M2π​×8f(x,y)=cos(5122π∗16​x+N2π∗128​y)+3sinM2π∗8​x=MN1​[2MN​[ej(M2π∗16​x+N2π∗128​y)+e−j(M2π∗16​x+N2π∗128​y)]+2j3MN​[ejM2π∗8​x−e−jM2π∗8​x]]=MN1​u∑255​v∑255​F(u,v)ej(M2πu​x+n2πv​y)(根据反变换公式可知前面的那个系数就是取不同u,v,F(u,v)对应的值)可知F(16,128)=F(−16,−128)=F(−19+kM,−128+kN)=F(240,128)=2MN​F(−8,0)=F(−8,0)=F(248,256)=F(248,0)=2j3MN​​
​ matlab验证

在Matlab里验证时,这两个都从频谱图看(或居中或左上角),或不看频谱,直接看F也行。频谱是Fourier系数的模。abs(F)

​ 使用逆变换求解2.1
π4=2π512×64f(x,y)=1MN∗MN2(ej2π512∗64+e−j2π512∗64)可知当v=64,u=0时候F(64,0)=MN2\begin{aligned} & \frac{\pi}{4} = \frac{2\pi}{512}\times64 \\ & f(x,y) = \frac{1}{MN}*\frac{MN}{2}(e^{j\frac{2\pi}{512}*64}+e^{-j\frac{2\pi}{512}*64}) \\ & 可知当v=64,u=0时候F(64,0)=\frac{MN}{2} \end{aligned} ​4π​=5122π​×64f(x,y)=MN1​∗2MN​(ej5122π​∗64+e−j5122π​∗64)可知当v=64,u=0时候F(64,0)=2MN​​

2.4 总结

​ DFT分解计算
F(u,v)=∑x=0M−1∑y=0N−1f(x,y)e−j2π(2xM+vyN)=∑x=0M−1e−j2πux/M∑y=0N−1f(x,y)e−j2πvy/N=∑x=0M−1e−j2πux/MF(x,v)\begin{aligned} F(u,v) & = \sum^{M-1}_{x=0} \sum^{N-1}_{y=0}f(x,y)e^{-{j2\pi}(\frac{2x}{M}+\frac{vy}{N})} \\ & = \sum^{M-1}_{x=0}e^{-{j2\pi}ux/M} \sum^{N-1}_{y=0}f(x,y)e^{-{j2\pi}vy/N} \\ & = \sum^{M-1}_{x=0}e^{-{j2\pi}ux/M}F(x,v) \end{aligned} F(u,v)​=x=0∑M−1​y=0∑N−1​f(x,y)e−j2π(M2x​+Nvy​)=x=0∑M−1​e−j2πux/My=0∑N−1​f(x,y)e−j2πvy/N=x=0∑M−1​e−j2πux/MF(x,v)​
​ 固定x,展开y
F(x,v)=∑x=0M−1f(x,y)e−j2πvy/NF(x,0)=∑x=0M−1f(x,y)∗1F(x,1)=∑x=0M−1f(x,y)e−j2πv/N=∑x=0M−1f(x,y)wvF(x,2)=∑x=0M−1f(x,y)e−j2πv∗2/N=∑x=0M−1f(x,y)w2vF(x,N−1)=∑x=0M−1f(x,y)e−j2πv∗(N−1)/N=∑x=0M−1f(x,y)w(N−1)v由此可得B矩阵的第v列所对应系数为[1wvw2v...w(N−1)v]例如在2.3求解F(1,2)时候,矩阵B的第(2+1//+1是因为矩阵下标默认从1开始)列为[1w2w2∗2]\begin{aligned} & F(x,v) = \sum^{M-1}_{x=0}f(x,y)e^{-{j2\pi}vy/N} \\ \\ & F(x,0) = \sum^{M-1}_{x=0}f(x,y)*1 \\ & F(x,1) = \sum^{M-1}_{x=0}f(x,y)e^{-j2\pi v/N}=\sum^{M-1}_{x=0}f(x,y)w^v \\ & F(x,2) = \sum^{M-1}_{x=0}f(x,y)e^{-j2\pi v *2/N}=\sum^{M-1}_{x=0}f(x,y)w^{2v} \\ & F(x,N-1) = \sum^{M-1}_{x=0}f(x,y)e^{-j2\pi v *(N-1)/N}=\sum^{M-1}_{x=0}f(x,y)w^{(N-1)v} \\ & 由此可得B矩阵的第v列所对应系数为[1 \ w^v \ w^{2v} \ ...w^{(N-1)v}] \\ & 例如在2.3求解F(1,2)时候,矩阵B的第(2+1//+1是因为矩阵下标默认从1开始)列为[1\ w^2 \ w^{2*2}] \end{aligned} ​F(x,v)=x=0∑M−1​f(x,y)e−j2πvy/NF(x,0)=x=0∑M−1​f(x,y)∗1F(x,1)=x=0∑M−1​f(x,y)e−j2πv/N=x=0∑M−1​f(x,y)wvF(x,2)=x=0∑M−1​f(x,y)e−j2πv∗2/N=x=0∑M−1​f(x,y)w2vF(x,N−1)=x=0∑M−1​f(x,y)e−j2πv∗(N−1)/N=x=0∑M−1​f(x,y)w(N−1)v由此可得B矩阵的第v列所对应系数为[1 wv w2v ...w(N−1)v]例如在2.3求解F(1,2)时候,矩阵B的第(2+1//+1是因为矩阵下标默认从1开始)列为[1 w2 w2∗2]​
​ 更一般地,记
w1=e−j2π/M,w2=e−j2π/NA=[111....11w1w12....w1M−11w12(w12)2....(w1M−1)2............1w1M−1(w12)M−1....(w1M−1)M−1]M×MB=[111....11w2w22....w2N−11w22(w22)2....(w2N−1)2............1w2N−1(w22)N−1....(w2N−1)N−1]N×Nw_1 = e^{-j2\pi /M}, w_2 = e^{-j2\pi /N} \\ A = \begin{bmatrix} 1 & 1 & 1 & .... & 1 \\ 1 & w_1 & w_1^2 & .... & w_1^{M-1} \\ 1 & w_1^2 & (w_1^2)^{2} & .... & (w_1^{M-1})^2 \\ ..& .. & .. & .... & .. \\ 1 & w_1^{M-1} & (w_1^2)^{M-1} & .... & (w_1^{M-1})^{M-1} \end{bmatrix}_{M\times M} \quad B = \begin{bmatrix} 1 & 1 & 1 & .... & 1 \\ 1 & w_2 & w_2^2 & .... & w_2^{N-1} \\ 1 & w_2^2 & (w_2^2)^{2} & .... & (w_2^{N-1})^2 \\ ..& .. & .. & .... & .. \\ 1 & w_2^{N-1} & (w_2^2)^{N-1} & .... & (w_2^{N-1})^{N-1} \end{bmatrix}_{N\times N} \quad \\ w1​=e−j2π/M,w2​=e−j2π/NA=⎣⎢⎢⎢⎢⎡​111..1​1w1​w12​..w1M−1​​1w12​(w12​)2..(w12​)M−1​....................​1w1M−1​(w1M−1​)2..(w1M−1​)M−1​⎦⎥⎥⎥⎥⎤​M×M​B=⎣⎢⎢⎢⎢⎡​111..1​1w2​w22​..w2N−1​​1w22​(w22​)2..(w22​)N−1​....................​1w2N−1​(w2N−1​)2..(w2N−1​)N−1​⎦⎥⎥⎥⎥⎤​N×N​

​ 那么二维离散傅里叶变换可以表示为
Fm×n=Am×mfm×nBn×nF_{m\times n} = A_{m\times m}f_{m\times n}B_{n \times n} Fm×n​=Am×m​fm×n​Bn×n​
​ 记
共轭转置记w‾1=ej2π/M,w‾2=ej2π/NAH=[111....11w‾1w‾12....w‾1M−11w‾12(w‾12)2....(w‾1M−1)2............1w‾1M−1(w‾12)M−1....(w‾1M−1)M−1]M×M性质AAH=MI,由此可得AHFBH=AHAfBBH=MIm∗mfNIn∗n=MNf共轭转置\ 记 \ \overline w_1 = e^{j2\pi /M}, \overline w_2 = e^{j2\pi /N}\\ A^H = \begin{bmatrix} 1 & 1 & 1 & .... & 1 \\ 1 & \overline w_1 & \overline w_1^2 & .... & \overline w_1^{M-1} \\ 1 & \overline w_1^2 & (\overline w_1^2)^{2} & .... & (\overline w_1^{M-1})^2 \\ ..& .. & .. & .... & .. \\ 1 & \overline w_1^{M-1} & (\overline w_1^2)^{M-1} & .... & (\overline w_1^{M-1})^{M-1} \end{bmatrix}_{M\times M} \quad \\ 性质AA^H=MI, 由此可得A^H F B^H = A^HAfBB^H=MI_{m*m}fNI_{n*n}=MNf \\ 共轭转置 记 w1​=ej2π/M,w2​=ej2π/NAH=⎣⎢⎢⎢⎢⎡​111..1​1w1​w12​..w1M−1​​1w12​(w12​)2..(w12​)M−1​....................​1w1M−1​(w1M−1​)2..(w1M−1​)M−1​⎦⎥⎥⎥⎥⎤​M×M​性质AAH=MI,由此可得AHFBH=AHAfBBH=MIm∗m​fNIn∗n​=MNf
​ 那么可推出离散傅里叶反变换IDFT
f=1MNAHFBH=1MN∑u=0M−1∑v=0N−1F(u,v)ej2π(ux/M+vy/N)f = \frac{1}{MN} A^H F B^H = \frac{1}{MN}\sum_{u=0}^{M-1}\sum_{v=0}^{N-1}F(u,v)e^{j2\pi(ux/M+vy/N)} f=MN1​AHFBH=MN1​u=0∑M−1​v=0∑N−1​F(u,v)ej2π(ux/M+vy/N)

三 参考文章

  1. https://zhuanlan.zhihu.com/p/48392273
  2. https://zhuanlan.zhihu.com/p/48391055
  3. https://zhuanlan.zhihu.com/p/48392958
  4. https://blog.csdn.net/chenf1999/article/details/112253585

二维离散傅里叶变换最详手算相关推荐

  1. 第4章 Python 数字图像处理(DIP) - 频率域滤波5 - 二变量函数的傅里叶变换、图像中的混叠、二维离散傅里叶变换及其反变换

    目录 二变量函数的傅里叶变换 二维冲激及其取样性质 二维连续傅里叶变换对 二维取样和二维取样定理 图像中的混叠 二维离散傅里叶变换及其反变换 二变量函数的傅里叶变换 二维冲激及其取样性质 两个连续变量 ...

  2. C++实现二维离散傅里叶变换

    在上一篇文章<C++实现一维离散傅里叶变换>中,我们介绍了一维信号傅立叶变换的公式和C++实现,并阐述了频域幅值的意义. 一维傅立叶变换只适用于一维信号,例如音频数据.心脑电图等. 在图像 ...

  3. Python 二维离散傅里叶变换

    Python 二维离散傅里叶变换 文章目录 Python 二维离散傅里叶变换 需要的库 计算两张图片的PSNR 二维离散傅里叶变换 二维离散傅里叶逆变换 频域平移 绘制频域图像 需要的库 import ...

  4. 傅里叶变换 二维离散傅里叶变换

    1.介绍. DFT:(Discrete Fourier Transform)离散傅里叶变换是傅里叶变换在时域和频域上都呈离散的形式,将信号的时域采样变换为其DTFT的频域采样.在形式上,变换两端(时域 ...

  5. 图像傅里叶变换(二维离散傅里叶变换)

    图像傅里叶变换 二维离散傅里叶变换是将图像从空间域转至频域,在图像增强.图像去噪.图像边缘检测.图像特征提取.图像压缩等等应用中都起着极其重要的作用.理论基础是任意函数都可以表示成正弦函数的线性组合的 ...

  6. 图像二维离散傅里叶变换、幅度谱、相位谱

    clear, clc I = imread('...');F = fftshift(fft2(I)); % 对图像进行二维 DFT(fft2),并移至中心位置 magn = log(abs(F)); ...

  7. 二维离散傅里叶变换性质

    1. 线性性质(加法定理): 2. 比例性质(相似性定理) 3. 可分离性: 4. 空间位移(位移定理): 5. 频率位移: 6. 周期性: 7. 共轭对称性: 8. 旋转不变性: 9. 平均值: 1 ...

  8. 在二维离散傅里叶变换中进行频谱平移(MATLAB::fft2shift)的作用

    图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料.图像处理技术交流请加QQ群,群号 271891601 懒得自己敲文字描述了,直接摘取在一个资料上看到的 ...

  9. C++实现二维快速傅里叶变换(FFT)

    上一篇文章里,我根据DFT公式用C++实现了二维离散傅里叶变换.但跑一张300*300的图片都要好几分钟,速度实在太慢了.我研究了下快速傅里叶变换,在网上找了一些资料,然后用C++实现了二维快速傅里叶 ...

  10. 快速傅里叶变换 java_二维快速傅里叶变换的java实现

    图像处理与模式识别课作业,没学过信号与系统(哭晕). 恶补了两天冈萨里斯的书,写一下实现原理及过程 看了网络上很多版本的概念讲解,道理我都懂,但是在将算法迁移到傅里叶变换的实现上时,出现了一些问题.接 ...

最新文章

  1. 随机对照试验设计的原理
  2. java工作台无法显示_【Eclipse】使用指南(18)搜索工作台
  3. Android studio安装及常见问题
  4. java基础—IO流——转换流的操作
  5. 针对视觉位姿估计特征点优化问题的详细研究
  6. scala读取数据从文件或者其他url中
  7. vue img src 动态赋值_一个基于Vue的开源延迟加载插件——vuelazyload
  8. OpenStack版本发布周期或将延长为1年
  9. 【Ubuntu版】CMake安装教程
  10. canbus是什么意思_CANBUS是什么意思
  11. 5G Wifi频段及信道介绍
  12. 基于 AngularJS 的 UI 框架 Suave UI
  13. 【工商银行科技菁英计划笔试】压缩字符串
  14. python程序设计基础上机题5.16-----5.26(2)
  15. Cortex-M3技术参考手册 2022年3月1日
  16. 石狮子吃了四十四个涩柿子
  17. 用计算机做路由器,用笔记本做无线路由(笔记本电脑当无线路由器用怎么设置)...
  18. 火狐浏览器打开后是搜狗浏览器_搜狗浏览器和Firefox浏览器哪个好
  19. python 爬取知网url
  20. 《Unsupervised Learning of Depth and Ego-Motion from Video》读书笔记

热门文章

  1. Android Studio模拟器安装步骤
  2. 90后男屌丝如何让淘宝客日赚10万滴
  3. Ventoy的pe盘制作及重装系统步骤【解释的非常清楚!!!】
  4. 树莓派Raspberry Pi 系统可连接家庭wifi 无法远程故障
  5. linux去掉锁屏密码,安卓手机锁屏密码清除方法 android7.0锁屏密码怎么去除
  6. 手机免费logo在线制作的专业教程
  7. c语言单片机管脚定义,单片机-IO管脚
  8. 苹果8wifi找不到服务器,苹果8连不上wifi怎么办
  9. QoBean的元语言系统(一)
  10. VBoxManage not found. Make sure VirtualBox is installed and VBoxManage is in the path