目录

  • 基本概念
    • 复数
    • 傅里叶级数
    • 冲激函数及其取样(筛选)性质
    • 连续单变量函数的傅里叶变换
    • 卷积

基本概念

复数

复数CCC的定义为

C=R+jI(4.3)C = R + jI \tag{4.3}C=R+jI(4.3)

R,IR,IR,I为实数,RRR是实部,III是虚部,j=−1j = \sqrt{-1}j=−1​。复数的共轭表示为C∗C^*C∗

C∗=R−jI(4.4)C^* = R - jI \tag{4.4}C∗=R−jI(4.4)

从几何角度来看,复数可视为平面(称为复平面)上的一个点,其横坐标是实轴,纵坐标是虚轴,也就是说R+jIR+jIR+jI是得平面直角坐标系中的点(R,I)(R,I)(R,I)

极坐标表示复数

C=∣C∣(cosθ+jsinθ)(4.5)C = |C|(\text{cos}\theta + \text{jsin}\theta) \tag{4.5}C=∣C∣(cosθ+jsinθ)(4.5)
∣C∣=R2+I2|C|=\sqrt{R^2 + I^2}∣C∣=R2+I2​是从复平面的原点延伸到点(R,I)(R,I)(R,I)的向量长度,θ\thetaθ是该向量与实轴的夹角。

使用欧拉公式
ejθ=cosθ+jsinθ(4.6)e^{j\theta} = \text{cos}\theta + \text{jsin}\theta \tag{4.6}ejθ=cosθ+jsinθ(4.6)

可以给坐极坐标的复数表示为
C=∣C∣ejθ(4.7)C = |C|e^{j\theta} \tag{4.7}C=∣C∣ejθ(4.7)

复函数:
F(u)=R(u)+jI(u)F(u) = R(u) + jI(u)F(u)=R(u)+jI(u)
F∗(u)=R(u)−jI(u)F^*(u) = R(u) - jI(u)F∗(u)=R(u)−jI(u)
幅值是
∣F(u)∣=R(u)2+I(u)2|F(u)| = \sqrt{R(u)^2 + I(u)^2}∣F(u)∣=R(u)2+I(u)2​

a = np.complex(1 + 2j)
radian = np.arctan2(a.imag, a.real)
radian
1.1071487177940904
degree = np.rad2deg(radian)
degree
63.43494882292201

傅里叶级数

周期为TTT的连续变量ttt的周期函数f(t)f(t)f(t),可表示为乘以适当系数的正弦函数和余弦函数之和
f(t)=∑n=−∞∞cnej2πnTt(4.8)f(t) = \sum_{n=-\infty}^{\infty} c_n e^{j\frac{2\pi n}{T}t} \tag{4.8}f(t)=n=−∞∑∞​cn​ejT2πn​t(4.8)

cn=1T∫−T/2T/2f(t)e−j2πnTt(4.9)c_n = \frac{1}{T}\int_{-T/2}^{T/2}f(t)e^{-j\frac{2\pi n}{T}t} \tag{4.9}cn​=T1​∫−T/2T/2​f(t)e−jT2πn​t(4.9)

冲激函数及其取样(筛选)性质

连续变量ttt在t=0t=0t=0处的单位冲激表示为δ(t)\delta(t)δ(t),定义是
δ(t)={∞,t=00,t≠0(4.10)\delta(t) =\begin{cases} \infty, & t=0 \\ 0, & t \neq 0 \end{cases} \tag{4.10}δ(t)={∞,0,​t=0t​=0​(4.10)
它被限制为满足恒等式
∫−∞∞δ(t)dt=1(4.11)\int_{-\infty}^{\infty}\delta(t)dt= 1 \tag{4.11}∫−∞∞​δ(t)dt=1(4.11)

自然地,将ttt解释为时间时,冲激就可视为幅度无限、持续时间为0、具有单位面积的尖峰信息。冲激具有关于积分的所谓取样性质

∫−∞∞f(t)δ(t)dt=f(0)(4.12)\int_{-\infty}^{\infty} f(t) \delta(t)dt= f(0) \tag{4.12}∫−∞∞​f(t)δ(t)dt=f(0)(4.12)

冲激
冲激并不是通常意义上的函数,更准确的名称是分布或广义函数。

任意一点t0t_0t0​的取样性质为:
∫−∞∞f(t)δ(t−t0)dt=f(t0)(4.13)\int_{-\infty}^{\infty} f(t) \delta(t - t_0)dt= f(t_0) \tag{4.13}∫−∞∞​f(t)δ(t−t0​)dt=f(t0​)(4.13)

例如: 若f(t)=cos(t)f(t) = \text{cos}(t)f(t)=cos(t),则使用冲激δ(t−π)\delta(t-\pi)δ(t−π)得到结果f(π)=cos(π)=−1f(\pi) = cos(\pi)=-1f(π)=cos(π)=−1

冲激串KaTeX parse error: \tag works only in display equations

离散冲激定义为
δ(x)={1,x=00,x≠0(4.15)\delta(x) = \begin{cases} 1, & x = 0 \\0, & x \neq 0 \end{cases} \tag{4.15}δ(x)={1,0,​x=0x​=0​(4.15)
∑−∞∞δ(x)=1(4.16)\sum_{-\infty}^{\infty}\delta(x)= 1 \tag{4.16}−∞∑∞​δ(x)=1(4.16)
∑−∞∞f(x)δ(x)=f(0)(4.17)\sum_{-\infty}^{\infty} f(x) \delta(x)= f(0) \tag{4.17}−∞∑∞​f(x)δ(x)=f(0)(4.17)
∑−∞∞f(x)δ(x−x0)dt=f(x0)(4.18)\sum_{-\infty}^{\infty} f(x) \delta(x - x_0)dt= f(x_0) \tag{4.18}−∞∑∞​f(x)δ(x−x0​)dt=f(x0​)(4.18)

def impulse(x, x0):return np.piecewise(x, [x==x0, x!=x0], [1, 0])
# 按定义写的,不知道是否正确,如不正确,请指出,感谢,只做展示
x = np.arange(10)
plt.stem(x, impulse(x, 5), )
plt.show()

def impulse_serial(x):s = np.ones_like(x)return s
# 只做展示
x = np.arange(10)
plt.stem(impulse_serial(x))
plt.show()

连续单变量函数的傅里叶变换

傅里叶变换对

连续变量ttt的连续函数f(t)f(t)f(t)的傅里叶变换由J{f(t)}\mathfrak{J}\{f(t)\}J{f(t)}表示,定义为
J{f(t)}=∫−∞∞f(t)e−j2πμtdt(4.19)\mathfrak{J}\{f(t)\} = \int_{-\infty}^{\infty} f(t) e^{-j2\pi\mu t}dt \tag{4.19}J{f(t)}=∫−∞∞​f(t)e−j2πμtdt(4.19)
J{f(t)}=F(μ)\mathfrak{J}\{f(t)\} = F(\mu)J{f(t)}=F(μ)
所以有
F(μ)=∫−∞∞f(t)e−j2πμtdt(4.20)F(\mu) = \int_{-\infty}^{\infty} f(t) e^{-j2\pi\mu t}dt \tag{4.20}F(μ)=∫−∞∞​f(t)e−j2πμtdt(4.20)
反变换:
f(t)=∫−∞∞F(μ)e−j2πμtdμ(4.21)f(t) = \int_{-\infty}^{\infty} F(\mu) e^{-j2\pi\mu t}d\mu \tag{4.21}f(t)=∫−∞∞​F(μ)e−j2πμtdμ(4.21)

通常表示为f(t)⇔F(μ)f(t) \Leftrightarrow F(\mu)f(t)⇔F(μ)

使用欧拉公式,可以写为
F(μ)=∫−∞∞f(t)[cos(2πμt)−jsin(2πμt)]dt(4.22)F(\mu) = \int_{-\infty}^{\infty} f(t) [\text{cos}(2\pi \mu t) - \text{jsin}(2\pi \mu t)]dt \tag{4.22}F(μ)=∫−∞∞​f(t)[cos(2πμt)−jsin(2πμt)]dt(4.22)

傅里叶变换是f(t)f(t)f(t)乘以正弦函数的展开式, 其中正弦函数的频率是由μ\muμ值决定。因此积分后留下的唯一变量是频率,因此,我们说傅里叶变换域是频率域。

盒式函数的傅里叶变换

F(μ)=∫−∞∞f(t)e−j2πμtdt=∫−W/2W/2f(t)Ae−j2πμtdt=−Aj2πμ[e−j2πμt]−W/2W/2=−Aj2πμ[e−jπμW−ejπμW]=Aj2πμ[ejπμW−e−jπμW]=AWsin(πμW)(πμW)\begin{aligned} F(\mu) & = \int_{-\infty}^{\infty} f(t) e^{-j2\pi\mu t}dt = \int_{-W/2}^{W/2} f(t) A e^{-j2\pi\mu t}dt\\ & = \frac{-A}{j2\pi\mu}[e^{-j2\pi\mu t}]_{-W/2}^{W/2} = \frac{-A}{j2\pi\mu}[e^{-j\pi\mu W} - e^{j\pi\mu W}]\\ & = \frac{A}{j2\pi\mu}[e^{j\pi\mu W} - e^{-j\pi\mu W}] \\ & = AW \frac{sin(\pi \mu W)}{(\pi \mu W)} \\ \end{aligned}F(μ)​=∫−∞∞​f(t)e−j2πμtdt=∫−W/2W/2​f(t)Ae−j2πμtdt=j2πμ−A​[e−j2πμt]−W/2W/2​=j2πμ−A​[e−jπμW−ejπμW]=j2πμA​[ejπμW−e−jπμW]=AW(πμW)sin(πμW)​​

最后的结果是sinc\text{sinc}sinc函数
sinc(m)=sin(πm)(πm)(4.23)\text{sinc}(m) = \frac{\text{sin}(\pi m)}{(\pi m)} \tag{4.23}sinc(m)=(πm)sin(πm)​(4.23)

通常傅里叶变换中包含复数项,这是为了显示变换的幅值(一个实量)的约定。这个幅值称为傅里叶频谱或频谱
∣F(μ)∣=AW∣sin(πμW)(πμW)∣|F(\mu)| = AW \bigg|\frac{sin(\pi \mu W)}{(\pi \mu W)}\bigg|∣F(μ)∣=AW∣∣∣∣​(πμW)sin(πμW)​∣∣∣∣​

def box_function(x, w):w_2 = w / 2y = np.where(x, x > -w_2, 0)y = np.where(x < w_2, y, 0)return y
import mpl_toolkits.axisartist as axisartist
def setup_axes(fig, rect):ax = axisartist.SubplotZero(fig, rect)fig.add_axes(ax)for direction in ["xzero", "yzero"]:# adds arrows at the ends of each axisax.axis[direction].set_axisline_style("-|>")# adds X and Y-axis from the originax.axis[direction].set_visible(True)for direction in ["left", "right", "bottom", "top"]:# hides bordersax.axis[direction].set_visible(False)return ax
# 盒式函数的傅里叶变换
x = np.arange(-5, 5, 0.1)
y = box_function(x, 6)fig = plt.figure(figsize=(15, 5))
ax_1 = setup_axes(fig, 131)
ax_1.plot(x, y), ax_1.set_title('f(t)', loc='center', y=1.05), ax_1.set_ylim([0, 2]), ax_1.set_yticks([])f_u = np.sinc(x)
ax_2 = setup_axes(fig, 132)
ax_2.plot(x, f_u), ax_2.set_title('F(u)', loc='center', y=1.05), ax_2.set_yticks([]), #ax_2.set_ylim([-1, 2]),f_u_absolute = abs(f_u)
ax_3 = setup_axes(fig, 133)
ax_3.plot(x, f_u_absolute), ax_3.set_title('|F(u)|', loc='center', y=1.05), ax_3.set_yticks([]), #ax_3.set_ylim([-1, 2]),plt.tight_layout()
plt.show()

冲激和冲激串的傅里叶变换

J{δ(t)}=F(μ)=∫−∞∞δ(t)e−j2πμtdt=∫−∞∞e−j2πμtδ(t)dt=e−j2πμ0=e0=1\begin{aligned} \mathfrak{J}\{\delta(t)\} & = F(\mu) = \int_{-\infty}^{\infty} \delta(t) e^{-j2\pi\mu t}dt \\ & = \int_{-\infty}^{\infty} e^{-j2\pi\mu t} \delta(t)dt \\ & = e^{-j2\pi\mu_0} \\ & = e^0 = 1 \end{aligned}J{δ(t)}​=F(μ)=∫−∞∞​δ(t)e−j2πμtdt=∫−∞∞​e−j2πμtδ(t)dt=e−j2πμ0​=e0=1​

J{δ(t−t0)}=F(μ)=∫−∞∞δ(t−t0)e−j2πμtdt=∫−∞∞e−j2πμtδ(t−t0)dt=e−j2πμt0\begin{aligned} \mathfrak{J}\{\delta(t - t_0)\} & = F(\mu) = \int_{-\infty}^{\infty} \delta(t - t_0) e^{-j2\pi\mu t}dt \\ & = \int_{-\infty}^{\infty} e^{-j2\pi\mu t} \delta(t - t_0)dt \\ & = e^{-j2\pi\mu t_0} \\ \end{aligned}J{δ(t−t0​)}​=F(μ)=∫−∞∞​δ(t−t0​)e−j2πμtdt=∫−∞∞​e−j2πμtδ(t−t0​)dt=e−j2πμt0​​

冲激串的傅里叶变换

S(μ)=J{SΔT(t)}=J{1Δ∑n=−∞∞ej2πnΔTt}=1ΔTJ{∑n=−∞∞ej2πnΔTt}=1ΔT∑n=−∞∞δ(μ−nΔT)\begin{aligned} S(\mu) & = \mathfrak{J}\{S_{\Delta T}(t)\} = \mathfrak{J}\{\frac{1}{\Delta } \sum_{n=-\infty}^{\infty} e^{j\frac{2\pi n}{\Delta T}t}\} \\ & = \frac{1}{\Delta T} \mathfrak{J}\{\sum_{n=-\infty}^{\infty} e^{j\frac{2\pi n}{\Delta T}t}\} \\ & = \frac{1}{\Delta T} \sum_{n=-\infty}^{\infty} \delta(\mu - \frac{n}{\Delta T}) \\ \end{aligned}S(μ)​=J{SΔT​(t)}=J{Δ1​n=−∞∑∞​ejΔT2πn​t}=ΔT1​J{n=−∞∑∞​ejΔT2πn​t}=ΔT1​n=−∞∑∞​δ(μ−ΔTn​)​

卷积

(f⋆h)(t)=∫−∞∞f(τ)h(t−τ)dτ(4.24)(f\star h)(t) = \int_{-\infty}^{\infty} f(\tau) h(t - \tau) d\tau \tag{4.24}(f⋆h)(t)=∫−∞∞​f(τ)h(t−τ)dτ(4.24)

J{(f⋆h)(t)}=∫−∞∞[∫−∞∞f(τ)h(t−τ)dτ]e−j2πμtdt=∫−∞∞f(τ)[∫−∞∞h(t−τ)e−j2πμtdt]dτ=H(μ)∫−∞∞f(τ)e−j2πμτdτ=H(μ)F(μ)=(H∙F)(μ)\begin{aligned} \mathfrak{J}\{(f \star h)(t) \} & = \int_{-\infty}^{\infty} \bigg[\int_{-\infty}^{\infty} f(\tau) h(t - \tau) d\tau \bigg] e^{-j2\pi \mu t} dt\\ & = \int_{-\infty}^{\infty} f(\tau) \bigg[\int_{-\infty}^{\infty} h(t - \tau) e^{-j2\pi \mu t} dt\bigg] d\tau \\ & = H(\mu) \int_{-\infty}^{\infty} f(\tau) e^{-j2\pi \mu \tau} d\tau \\ & = H(\mu)F(\mu) = (H \bullet F)(\mu) \end{aligned}J{(f⋆h)(t)}​=∫−∞∞​[∫−∞∞​f(τ)h(t−τ)dτ]e−j2πμtdt=∫−∞∞​f(τ)[∫−∞∞​h(t−τ)e−j2πμtdt]dτ=H(μ)∫−∞∞​f(τ)e−j2πμτdτ=H(μ)F(μ)=(H∙F)(μ)​

  • 傅里叶正变换
    (f⋆h)(t)⇔(H∙F)(μ)(4.25)(f\star h)(t) \Leftrightarrow (H \bullet F)(\mu) \tag{4.25}(f⋆h)(t)⇔(H∙F)(μ)(4.25)

  • 傅里叶反变换
    (f∙h)(t)⇔(H⋆F)(μ)(4.26)(f\bullet h)(t) \Leftrightarrow (H \star F)(\mu) \tag{4.26}(f∙h)(t)⇔(H⋆F)(μ)(4.26)

第4章 Python 数字图像处理(DIP) - 频率域滤波2 - 复数、傅里叶级数、连续单变量函数的傅里叶变换、卷积相关推荐

  1. 第4章 Python 数字图像处理(DIP) - 频率域滤波10 - 使用低通频率域滤波器平滑图像 - 理想、高斯、巴特沃斯低通滤波器

    目录 使用低通频率域滤波器平滑图像 理想低通滤波器(ILPF) 高斯低通滤波器(GLPF) 巴特沃斯低通滤波器 低通滤波的例子 使用低通频率域滤波器平滑图像 理想低通滤波器(ILPF) 在以原点为中心 ...

  2. 第4章 Python 数字图像处理(DIP) - 频率域滤波11 - 使用高通滤波器锐化图像

    目录 使用高通滤波器锐化图像 由低通滤波器得到理想.高斯和巴特沃斯高通滤波器 指纹增强 频域中的拉普拉斯 钝化掩蔽.高提升滤波和高频强调滤波 同态滤波 使用高通滤波器锐化图像 由低通滤波器得到理想.高 ...

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

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

  4. 第4章 Python 数字图像处理(DIP) - 频率域滤波4 - 单变量的离散傅里叶变换DFT

    目录标题 单变量的离散傅里叶变换 由取样后的函数的连续变换得到DFT 取样和频率间隔的关系 单变量的离散傅里叶变换 由取样后的函数的连续变换得到DFT 对原函数的变换取样后的业的发展的变换F~(μ)\ ...

  5. 第4章 Python 数字图像处理(DIP) - 频率域滤波8 - 二维DFT和IDFT的一些性质 - 二维离散卷积定理

    目录 二维DFT和IDFT的一些性质 二维离散卷积定理 二维离散傅里叶变换性质的小结 二维DFT和IDFT的一些性质 二维离散卷积定理 二维循环卷积表达式: (f⋆h)(x,y)=∑m=0M−1∑n= ...

  6. 第4章 Python 数字图像处理(DIP) - 频率域滤波1 - 傅里叶级数和变换简史

    本章主要讲解频域域滤波的技术,主要技术用到是大家熟悉的傅里叶变换与傅里叶反变换.这里有比较多的篇幅讲解的傅里叶的推导进程,用到Numpy傅里叶变换.本章理论基础比较多,需要更多的耐心来阅读,有发现有错 ...

  7. 第4章 Python 数字图像处理(DIP) - 频率域滤波12 - 选择性滤波 - 带阻

    目录 选择性滤波 带阻滤波器和带通滤波器 陷波滤波器 选择性滤波 处理特定的频带的滤波器称为频带滤波器 带阻滤波器: 若某个频带中的频率被滤除 带通滤波器: 若某个频带中的频率被通过 处理小频率矩形区 ...

  8. 第4章 Python 数字图像处理(DIP) - 频率域滤波7 - 二维DFT和IDFT的一些性质 - 傅里叶频谱和相角

    目录 二维DFT和IDFT的一些性质 傅里叶频谱和相角 二维DFT和IDFT的一些性质 傅里叶频谱和相角 F(u,v)=R(u,v)+jI(u,v)=∣F(u,v)∣ejϕ(u,v)(4.86)F(u ...

  9. 第4章 Python 数字图像处理(DIP) - 频率域滤波6 - 二维DFT和IDFT的一些性质 - 平移和旋转、周期性、对称性

    目录 二维DFT和IDFT的一些性质 空间间隔和频率间隔的关系 平移和旋转 周期性 对称性 二维DFT和IDFT的一些性质 空间间隔和频率间隔的关系 Δu=1MΔT(4.69)\Delta u = \ ...

最新文章

  1. 列表根据下标取值_散列表(上):Word文档中的单词拼写检查功能是如何实现的?...
  2. c语言 号咋打,C语言C语言中的开头#号如何打? – 手机爱问
  3. Rar Java Zip
  4. 2月份Web服务器份额:排名不变 仅Microsoft份额上扬
  5. 小森生活显示无可用服务器,《小森生活》无可用游戏服务器解决教程 无可用网关服务器怎么办...
  6. java最接近对点及距离_最接近点对问题_分治法
  7. Ubuntu 16.04安装NVIDIA驱动后循环登录问题
  8. java创建response对象_javaweb入门-----request与response的作用
  9. 利用Teensy进行EM410x卡模拟以及暴力破解EM410X类门禁系统可行性猜想
  10. adb概览及协议參考
  11. Java常用api和操作必背
  12. NSArray的排序问题
  13. termux无法安装引导程序包_Windows 10出现升级BUG:无法保留用户个人数据
  14. IDEA与SVN集成
  15. HDU - 2534 Score (数学,找规律)
  16. u盘里的东西删除怎么还原,分享2个指南
  17. 前端最常用的移动App开发方式及技术栈详解
  18. 深度学习(图像处理): A neural algorithm of artistic style算法详解
  19. Java由浅入深,考试or面试专用(自我整理)
  20. 【电源专题】开关电源的控制器和稳压器的区别

热门文章

  1. 微信小程序时间标签与范围联动设计实现
  2. Spring AOP注解方式实现
  3. java web 服务器环境搭建之jdk安装
  4. Linux 安装USB摄像头
  5. SQL Server2008 表旋转(pivot)技术
  6. Struts2中文件上传下载实例
  7. 关于字节序(大端法、小端法)的定义
  8. 【转】jquery 注册事件的方法
  9. Backup--修改实例级别是否使用压缩备份的默认值
  10. nodeJS中的异步编程