项目作者: hanyoseob

项目描述 :
Fourier transform properties
高级语言: Python
项目地址: git://github.com/hanyoseob/python-FT-properties.git
创建时间: 2020-02-05T02:45:07Z
项目社区:https://github.com/hanyoseob/python-FT-properties

开源协议:

下载


FT-properties

Reference


1) Linearity

Reference

Definition

For any complex numbers $a \in \mathbb{C}$ and $b \in \mathbb{C}$,

$h(x) = af(x) + bg(x)$
$\xleftrightarrow{\mathcal{F}~(\textrm{Fourier transform})}$
$\hat{h}(\xi) = a \cdot \hat{f}(\xi) + b \cdot \hat{g}(\xi)$

Execution

  1. $ python demo_fourier_properties_1_linearity.py

Results

alt text

2) Shift in Spatial domain

Reference

Definition

For any real number $x_0 \in \mathbb{R}$,

$h(x) = f(x-x_0)$
$\xleftrightarrow{\mathcal{F}~(\textrm{Fourier transform})}$
$\hat{h}(\xi) = e^{-2 \pi i x_0 \xi}\hat{f}(\xi)$

Execution

  1. $ python demo_fourier_properties_2_shift_in_spatial_domain.py

Results

alt text

3) Shift in Fourier domain

Reference

Definition

For any real number $\xi_0 \in \mathbb{R}$,

$h(x) = e^{2 \pi i x \xi_0}f(x)$
$\xleftrightarrow{\mathcal{F}~(\textrm{Fourier transform})}$
$\hat{h}(\xi) = \hat{f}(\xi - \xi_0)$

Execution

  1. $ python demo_fourier_properties_3_shift_in_Fourier_domain.py

Results

alt text

4) Convolution theorem

Reference

Definition

$h(x) = (f*g)(x) = \int_{-\infty}^{\infty}{f(y)g(x-y)dy}$
$\xleftrightarrow{\mathcal{F}~(\textrm{Fourier transform})}$
$\hat{h}(\xi) = \hat{f}(\xi) \cdot \hat{g}(\xi)$

where, * is convolution operator and $\cdot$ is element-wise multiplication.

Execution for 1D example

  1. $ python demo_fourier_properties_4_1d_convolution_vs_multiplication.py

Execution for 2D example

  1. $ python demo_fourier_properties_5_2d_convolution_vs_multiplication.py

Results

alt text (a) 1D example
alt text (b) 2D example