[EE261学习笔记] 5.傅里叶变换的时延性、拉伸性及卷积性

在之前的文章中,我们详细讨论了傅里叶变换的推导,本文将推导在实际应用中十分常用的傅里叶变换的三个公式,分别对应傅里叶变换的时延性、拉伸性,以及卷积性在傅里叶变换中的应用。
本文中,我们用 f ( t ) f(t) f(t)来表示原函数,即函数的时域形式, F ( s ) F(s) F(s)来表示对应的傅里叶变换后的形式,即函数的频域形式。用 f ( t ) ⟷ F ( s ) f(t) \longleftrightarrow F(s) f(t)F(s)表示对应的傅里叶变换。


时延性(delayed)

我们想知道 f ( t ± b ) ⟷ ? f(t \pm b) \longleftrightarrow ? f(t±b),假设 F F F f ( t − b ) f(t-b) f(tb)经傅里叶变换后得到的函数,则

F = ∫ − ∞ + ∞ e − 2 π i s t f ( t − b ) d t F = \int_{-\infty}^{+\infty} e^{-2\pi ist}f(t-b)dt F=+e2πistf(tb)dt

u = t − b u=t-b u=tb,有:

F = ∫ − ∞ + ∞ e − 2 π i s ( u + b ) f ( u ) d u = ∫ − ∞ + ∞ e − 2 π i s ( u + b ) f ( u ) d u = e − 2 π i s b ∫ − ∞ + ∞ e − 2 π i s u f ( u ) d u = e − 2 π i s b F ( s ) \begin{aligned} F&=\int_{-\infty}^{+\infty} e^{-2\pi is(u+b)}f(u)du\\ &=\int_{-\infty}^{+\infty} e^{-2\pi is(u+b)}f(u)du\\ &=e^{-2\pi isb}\int_{-\infty}^{+\infty} e^{-2\pi isu}f(u)du\\ &=e^{-2\pi isb}F(s) \end{aligned} F=+e2πis(u+b)f(u)du=+e2πis(u+b)f(u)du=e2πisb+e2πisuf(u)du=e2πisbF(s)

f ( t − b ) ⟷ e − 2 π i s b F ( s ) f(t-b) \longleftrightarrow e^{-2\pi isb}F(s) f(tb)e2πisbF(s) 类似的,也可以得到 f ( t + b ) ⟷ e + 2 π i s b F ( s ) f(t+b) \longleftrightarrow e^{+2\pi isb}F(s) f(t+b)e+2πisbF(s)
因此,傅里叶变换的时延性可以表示为:

f ( t ± b ) ⟷ e ± 2 π i s b F ( s ) \huge f(t \pm b) \longleftrightarrow e^{\pm 2\pi isb}F(s) f(t±b)e±2πisbF(s)

我们将 F ( s ) F(s) F(s) 写成幅度+相位的形式,即 F ( s ) = ∣ F ( s ) ∣ e 2 π i θ ( s ) F(s)=|F(s)| e^{2\pi i\theta(s)} F(s)=F(s)e2πiθ(s),则傅里叶变化的时延性可以更清楚地表示为:

{ f ( t ) ⟷ ∣ F ( s ) ∣ e 2 π i θ ( s ) f ( t ± b ) ⟷ ∣ F ( s ) ∣ e 2 π i ( θ ( s ) ± b ) \huge \begin{cases} f(t) &\longleftrightarrow |F(s)| e^{2\pi i\theta(s)}\\[2ex] f(t \pm b) &\longleftrightarrow |F(s)| e^{2\pi i(\theta(s)\pm b)} \end{cases} f(t)f(t±b)F(s)e2πiθ(s)F(s)e2πi(θ(s)±b)

其物理意义为:

函数在时域内的时移,对应傅里叶变换后的函数在频域内的相移。


拉伸性(stretches)

我们想知道 f ( a t ) ⟷ ? f(at) \longleftrightarrow ? f(at),假设 F F F f ( a t ) f(at) f(at) 经傅里叶变换后得到的函数,则

1. a > 0 a>0 a>0时,

F = ∫ − ∞ + ∞ e − 2 π i s t f ( a t ) d t F = \int_{-\infty}^{+\infty} e^{-2\pi ist}f(at)dt F=+e2πistf(at)dt

u = a t u=at u=at,有:

F = ∫ − ∞ + ∞ e − 2 π i s u a f ( u ) 1 a d u = 1 a ∫ − ∞ + ∞ e − 2 π i u ( s a ) f ( u ) d u = 1 a F ( s a ) \begin{aligned} F&=\int_{-\infty}^{+\infty} e^{-2\pi is\frac{u}{a}}f(u)\frac{1}{a}du\\ &=\frac{1}{a}\int_{-\infty}^{+\infty} e^{-2\pi iu(\frac{s}{a})}f(u)du\\ &=\frac{1}{a}F(\frac{s}{a}) \end{aligned} F=+e2πisauf(u)a1du=a1+e2πiu(as)f(u)du=a1F(as)

2. a < 0 a<0 a<0 时,类似的,有:

F = ∫ + ∞ − ∞ e − 2 π i s u a f ( u ) 1 a d u F=\int_{+\infty}^{-\infty} e^{-2\pi is\frac{u}{a}}f(u)\frac{1}{a}du F=+e2πisauf(u)a1du

注意,由于 a < 0 a<0 a<0,因此 u u u 的符号与 t t t 的符号相反,积分上下限与 a > 0 a>0 a>0 的情况不同

F = − 1 a ∫ − ∞ + ∞ e − 2 π i u ( s a ) f ( u ) d u = − 1 a F ( s a ) \begin{aligned} F&=-\frac{1}{a}\int_{-\infty}^{+\infty} e^{-2\pi iu(\frac{s}{a})}f(u)du\\ &=-\frac{1}{a}F(\frac{s}{a}) \end{aligned} F=a1+e2πiu(as)f(u)du=a1F(as)

机智的发现,用绝对值形式可以将上述两种情况可以写成同一个函数,故傅里叶函数的拉伸性可以表示为:

{ f ( t ) ⟷ F ( s ) f ( a t ) ⟷ 1 ∣ a ∣ F ( s a ) \huge \begin{cases} f(t) &\longleftrightarrow F(s)\\[2ex] f(at) &\longleftrightarrow \frac{1}{|a|}F(\frac{s}{a}) \end{cases} f(t)f(at)F(s)a1F(as)

观察式子,我们发现,当 a > 1 a>1 a>1 时,函数在时域内的变化为 f ( t ) → f ( a t ) f(t) \rightarrow f(at) f(t)f(at),相当于时域图像被横向压缩了;
而对应的频域变化为 F ( s ) → 1 ∣ a ∣ F ( s a ) F(s) \rightarrow \frac{1}{|a|}F(\frac{s}{a}) F(s)a1F(as),相当于频域图像被横向拉伸、纵向压缩了。

这里写图片描述
这里写图片描述
上述结论说明了:

函数在时域和频域内不可能同时被压缩(或同时被拉伸)。

这种性质的应用如:量子力学中的heisenberg uncertainty principle(不确定性原理),即不能同时在空间与时间内准确地定位一个粒子,也不能同时准确地知道粒子的速度与位置。


卷积性(convolution)

首先,我们很快可以得到傅里叶变换的相加的结果与两个原函数之间的关系:

F f ( s ) + F g ( s ) = ∫ − ∞ + ∞ e − 2 π i s t f ( t ) d t + ∫ − ∞ + ∞ e − 2 π i s t g ( t ) d t = ∫ − ∞ + ∞ e − 2 π i s t ( f ( t ) + g ( t ) ) d t = ( F ( f + g ) ) ( s ) \begin{aligned} \mathscr{F}f(s)+\mathscr{F}g(s)&=\int_{-\infty}^{+\infty} e^{-2\pi i s t}f(t)dt+\int_{-\infty}^{+\infty} e^{-2\pi i s t}g(t)dt\\ &=\int_{-\infty}^{+\infty} e^{-2\pi ist}(f(t)+g(t))dt\\ &=(\mathscr{F}(f+g))(s) \end{aligned} Ff(s)+Fg(s)=+e2πistf(t)dt++e2πistg(t)dt=+e2πist(f(t)+g(t))dt=(F(f+g))(s)

F f + F g = F ( f + g ) (1) \huge \mathscr{F}f+\mathscr{F}g = \mathscr{F}(f+g) \tag1 Ff+Fg=F(f+g)(1)

那么,相乘的结果又如何?将 F f \mathscr{F}f Ff F g \mathscr{F}g Fg 相乘,我们有:

( F f ) ( F g ) = ( ∫ − ∞ + ∞ e − 2 π i s t 1 f ( t 1 ) d t 1 ) ( ∫ − ∞ + ∞ e − 2 π i s t 2 g ( t 2 ) d t 2 ) = ∫ − ∞ + ∞ ( ∫ − ∞ + ∞ e − 2 π i s ( t 1 + t 2 ) f ( t 1 ) d t 1 ) g ( t 2 ) d t 2 \begin{aligned} (\mathscr{F}f)(\mathscr{F}g)&=\left(\int_{-\infty}^{+\infty} e^{-2\pi i s t_1}f(t_1)dt_1\right)\left(\int_{-\infty}^{+\infty} e^{-2\pi i s t_2}g(t_2)dt_2\right)\\ &=\int_{-\infty}^{+\infty} \left(\int_{-\infty}^{+\infty} e^{-2\pi i s (t_1+t_2)}f(t_1)dt_1\right)g(t_2)dt_2 \end{aligned} (Ff)(Fg)=(+e2πist1f(t1)dt1)(+e2πist2g(t2)dt2)=+(+e2πis(t1+t2)f(t1)dt1)g(t2)dt2

u = t 1 + t 2 u=t_1+t_2 u=t1+t2,有:

( F f ) ( F g ) = ∫ − ∞ + ∞ ( ∫ − ∞ + ∞ e − 2 π i s u f ( t 1 ) d t 1 ) g ( u − t 1 ) d ( u − t 1 ) = ∫ − ∞ + ∞ ( ∫ − ∞ + ∞ g ( u − t 1 ) f ( t 1 ) d t 1 ) e − 2 π i s u d u \begin{aligned} (\mathscr{F}f)(\mathscr{F}g)&=\int_{-\infty}^{+\infty} \left(\int_{-\infty}^{+\infty} e^{-2\pi i s u}f(t_1)dt_1\right)g(u-t_1)d(u-t_1)\\ &=\int_{-\infty}^{+\infty} \left(\int_{-\infty}^{+\infty}g(u-t_1)f(t_1)dt_1\right) e^{-2\pi i s u}du \end{aligned} (Ff)(Fg)=+(+e2πisuf(t1)dt1)g(ut1)d(ut1)=+(+g(ut1)f(t1)dt1)e2πisudu

h ( u ) = ∫ − ∞ + ∞ g ( u − t 1 ) f ( t 1 ) d t 1 h(u)=\int_{-\infty}^{+\infty}g(u-t_1)f(t_1)dt_1 h(u)=+g(ut1)f(t1)dt1,有:

( F f ) ( F g ) = ∫ − ∞ + ∞ h ( u ) e − 2 π i s u d u = F h ( s ) \begin{aligned} (\mathscr{F}f)(\mathscr{F}g)&=\int_{-\infty}^{+\infty} h(u) e^{-2\pi i s u}du\\ &=\mathscr{F}h(s) \end{aligned} (Ff)(Fg)=+h(u)e2πisudu=Fh(s)

于是,我们自然地引入卷积的定义:

( g ∗ f ) ( t ) = ∫ − ∞ + ∞ g ( t − τ ) f ( τ ) d τ (2) (g*f)(t) = \int_{-\infty}^{+\infty}g(t-\tau)f(\tau)d\tau \tag2 (gf)(t)=+g(tτ)f(τ)dτ(2)

我们得到傅里叶变换的卷积性表达(逆变换同理):

( F f ) ( F g ) = ( F g ) ( F f ) = F ( g ∗ f ) (3) \huge (\mathscr{F}f)(\mathscr{F}g) = (\mathscr{F}g)(\mathscr{F}f) = \mathscr{F}(g*f) \tag3 (Ff)(Fg)=(Fg)(Ff)=F(gf)(3)

( F − 1 f ) ( F − 1 g ) = ( F − 1 g ) ( F − 1 f ) = F − 1 ( g ∗ f ) (4) \huge (\mathscr{F}^{-1}f)(\mathscr{F}^{-1}g) = (\mathscr{F}^{-1}g)(\mathscr{F}^{-1}f) = \mathscr{F}^{-1}(g*f)\tag4 (F1f)(F1g)=(F1g)(F1f)=F1(gf)(4)

同时,利用 ( 3 ) (3) (3)式,我们有:

F ( ( F − 1 f ) ∗ ( F − 1 g ) ) = ( F ( F − 1 f ) ) ( F ( F − 1 g ) ) = f g \begin{aligned} \mathscr{F}\left( \left(\mathscr{F}^{-1}f \right) * \left(\mathscr{F}^{-1}g \right) \right)&=\left(\mathscr{F} \left(\mathscr{F}^{-1}f \right) \right) \left(\mathscr{F} \left(\mathscr{F}^{-1}g \right)\right)\\ &=fg \end{aligned} F((F1f)(F1g))=(F(F1f))(F(F1g))=fg

观察左右式子,对左右式各进行傅里叶逆变换可得(正变换同理):

( F − 1 f ) ∗ ( F − 1 g ) = F − 1 ( f g ) (5) \huge\left(\mathscr{F}^{-1}f \right) * \left(\mathscr{F}^{-1}g \right) = \mathscr{F}^{-1} \left( fg\right) \tag5 (F1f)(F1g)=F1(fg)(5)

( F f ) ∗ ( F g ) = F ( f g ) (6) \huge\left(\mathscr{F}f \right) * \left(\mathscr{F}g \right) = \mathscr{F} \left( fg\right) \tag6 (Ff)(Fg)=F(fg)(6)

可见傅里叶正逆变换与卷积性质是密不可分且十分对称的。

  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
二维傅立叶变换的平移和旋转可以通过编写 M 程序文件进行验证。下面是一个简单的示例代码,用于演示如何验证平移和旋转。 ```matlab % 生成一个测试图像 I = imread('cameraman.tif'); I = imresize(I, [256 256]); % 计算图像的二维傅立叶变换 F = fft2(I); % 验证平移 dx = 10; dy = 20; F_shifted = fftshift(F); F_shifted = F_shifted .* exp(-1i*2*pi*(dx/size(F,2)*(0:size(F,2)-1) + dy/size(F,1)*(0:size(F,1)-1))); F_shifted = ifftshift(F_shifted); I_shifted = ifft2(F_shifted); figure, imshowpair(I, I_shifted, 'montage'); % 验证旋转 theta = 30; F_rotated = F .* exp(-1i*2*pi*(0:size(F,1)-1)'/(2*size(F,1))*floor(size(F,1)/2) * (0:size(F,2)-1) /(2*size(F,2)) * floor(size(F,2)/2)); F_rotated = F_rotated .* exp(-1i*2*pi*(0:size(F,1)-1)'/(2*size(F,1))*floor(size(F,1)/2) * (0:size(F,2)-1) /(2*size(F,2)) * floor(size(F,2)/2) * exp(-1i*theta*pi/180)); F_rotated = F_rotated .* exp(-1i*2*pi*(0:size(F,1)-1)'/(2*size(F,1))*floor(size(F,1)/2) * (0:size(F,2)-1) /(2*size(F,2)) * floor(size(F,2)/2))'; I_rotated = ifft2(F_rotated); figure, imshowpair(I, I_rotated, 'montage'); ``` 在上面的代码中,我们首先生成了一个测试图像 `I`,然后计算了它的二维傅立叶变换 `F`。接着,我们分别验证了平移和旋转: - 平移:我们将傅立叶变换 `F` 进行平移,并根据平移量调整相位。然后,我们将平移后的傅立叶变换 `F_shifted` 进行反变换,得到平移后的图像 `I_shifted`。最后,我们用 `imshowpair` 函数将原始图像 `I` 和平移后的图像 `I_shifted` 进行比较,以验证平移。 - 旋转:我们将傅立叶变换 `F` 进行旋转,并根据旋转角度调整相位。然后,我们将旋转后的傅立叶变换 `F_rotated` 进行反变换,得到旋转后的图像 `I_rotated`。最后,我们用 `imshowpair` 函数将原始图像 `I` 和旋转后的图像 `I_rotated` 进行比较,以验证旋转。 运行上面的代码,我们可以得到两幅图像,一幅显示了平移后的图像 `I_shifted`,另一幅显示了旋转后的图像 `I_rotated`。将这两幅图像与原始图像 `I` 进行比较,可以验证二维傅立叶变换的平移和旋转

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值