[傅里叶变换及其应用学习笔记] 九. 继续卷积的讨论
这份是本人的学习笔记,课程为网易公开课上的斯坦福大学公开课:傅里叶变换及其应用。
卷积在滤波中的应用
浑浊度(Turbidity)研究是关于测量水的清澈度的研究。大致方法是把光传感器放置到深水区域,然后测量光线的昏暗程度,测量出来的值将随时间变化。
(由于没有真实数据,下面用mathematica比较粗糙地模拟水域的浑浊度数据)
能看到信号主要集中在低频,我们需要把毛刺去除,也就是把高频去除,在频域进行低通滤波(Low Pass Filtering)
滤波后的波形如下
频域运算:$\pi_{2\nu_c} F(s)$;时域运算为卷积:$2\nu_c sinc(2\nu_c t)*f(t)$。
滤波概念
滤波(Filtering)通常等同于卷积,滤波是由滤波器实现的。
滤波器(Filter)是一个输入可变的函数(信号)与一个固定的函数(信号)进行卷积运算的系统。这个固定的信号叫做脉冲响应(impulse response)。
$g \quad = \quad f \qquad * \qquad h$
$\qquad output \qquad input \qquad impulse \ response$
卷积是在时域的表示方法,一般来说,频域的运算会比时域简单许多,因为频域只需执行相乘运算。
$G(s) = F(s)H(s)$
$H(s)$被称为传递函数(transfer function),在设计滤波器时通常是设计合适的传递函数$H(s)$。
下面是比较常用的滤波器。
低通滤波器(low pass filter),常用于图像压缩。
高通滤波器(high pass filter),常用于边缘检测(edge detection)
带通滤波器(band pass filter)
卷积的含义
教授认为只需要从频域理解为函数的相乘即可,而在时域上不需要去具象化卷积。(I think it is equally idiotic to try to visualize convolution. I think the way to visualize convolution, if there is a way, is to think in terms of multiplying in the frequency domain.)
卷积的性质
一般来说$f*g$通常比单独的$f$和$g$更加平滑。
如:矩形函数$\Pi$是不连续的,两个$\Pi$函数的卷积是三角函数$\Lambda$,是连续的。
$\mathcal{F}(\Pi * \Pi) = (\mathcal{F} \Pi)(\mathcal{F} \Pi) = sinc^2 = \mathcal{F} \Lambda$
傅里叶导数定理
对原函数进行微分后,它的傅里叶变换等于其原函数的傅里叶变换乘以$2\pi is$
$\mathcal{F}(f')(s) = 2\pi is(\mathcal{F} f)(s)$
证明过程如下:
傅里叶逆变换有:
$f(t) = \displaystyle{\int_{-\infty}^{\infty} F(s)e^{2\pi ist}ds }$
对其求微分,
$\begin{align*}
\frac{\partial f}{\partial t}
&= \int_{-\infty}^{\infty}F(s)(2\pi ise^{2\pi ist})ds \\
&= \int_{-\infty}^{\infty}(2\pi isF(s))e^{2\pi ist}ds \\
\end{align*}$
则有$f'$与$2\pi isF(s)$为傅里叶变换的关系
$f' \ \leftrightarrow \ 2\pi isF(s)$
推广开来有
$\mathcal{F}(f^n)(s) = (2\pi is)^n(\mathcal{F} f)(s)$
无限长柱上的热方程
$U(x,t)$表示时间$t$,位置$x$上的温度。
已知初始温度为$U(x,0) = f(x)$,热方程为$U_t = \frac{1}{2}U_{xx}$。
$U(x,t)$的求解过程如下:
对位置变量进行$x$求傅里叶变换,假设变换的结果为$U(s,t)$。
对热方程等号左边进行傅里叶变换,
$\begin{align*}
\mathcal{F}(U_t)
&= \int_{-\infty}^{\infty}e^{-2\pi isx} \frac{\partial}{\partial t}U(x,t)dx \\
&= \frac{\partial}{\partial t}\int_{-\infty}^{\infty} e^{-2\pi isx}U(x,t)dx \\
&= \frac{\partial}{\partial t}U(s,t)
\end{align*}$
对热方程等号右边进行傅里叶变换,
$\mathcal{F}(\frac{1}{2}U_{xx}) = \frac{1}{2}(2\pi is)^2U(s,t) = –2\pi ^2s^2U(s,t)$
即有
$\frac{\partial}{\partial t}U(s,t) = –2\pi^2s^2U(s,t)$
求偏微分方程,得
$U(s,t) = U(s,0)e^{-2\pi^2s^2t}$
$U(s,0) = \displaystyle{\int_{-\infty}^{\infty}U(x,0)e^{-2\pi isx}dx=\int_{-\infty}^{\infty}f(x)e^{-2\pi isx}dx = F(s) }$
把$U(s,0)$的结果代入$U(s,t)$,得
$U(s,t) = F(s)e^{-2\pi ^2s^2t}$
转换为卷积格式
$e^{-2pi ^2s^2t} = \mathcal{F}(\frac{1}{\sqrt{2\pi t}}e^{\frac{x^2}{2t}})$
$\begin{align*}
U(s,t)
&= F(s)e^{-2\pi ^2s^2t}\\
&= (\mathcal{F} f)(\mathcal{F} (\frac{1}{\sqrt{2\pi t}}e^{\frac{x^2}{2t}}))\\
&= \mathcal{F}(f* \frac{1}{\sqrt{2\pi t}}e^{\frac{x^2}{2t}})
\end{align*}$
$U(x,t) = f(x) * \frac{1}{\sqrt{2\pi t}}e^{\frac{x^2}{2t}}$
[傅里叶变换及其应用学习笔记] 九. 继续卷积的讨论相关推荐
- 深度学习笔记其五:卷积神经网络和PYTORCH
深度学习笔记其五:卷积神经网络和PYTORCH 1. 从全连接层到卷积 1.1 不变性 1.2 多层感知机的限制 1.2.1 平移不变性 1.2.2 局部性 1.3 卷积 1.4 "沃尔多在 ...
- IOS学习笔记(九)之UIAlertView(警告视图)和UIActionSheet(操作表视图)基本概念和使用方法...
IOS学习笔记(九)之UIAlertView(警告视图)和UIActionSheet(操作表视图)基本概念和使用方法 Author:hmjiangqq Email:jiangqqlmj@163.com ...
- python3.4学习笔记(九) Python GUI桌面应用开发工具选择
python3.4学习笔记(九) Python GUI桌面应用开发工具选择 Python GUI开发工具选择 - WEB开发者 http://www.admin10000.com/document/9 ...
- 吴恩达《机器学习》学习笔记九——神经网络相关(1)
吴恩达<机器学习>学习笔记九--神经网络相关(1) 一. 非线性假设的问题 二. 神经网络相关知识 1.神经网络的大致历史 2.神经网络的表示 3.前向传播:向量化表示 三. 例子与直觉理 ...
- ROS学习笔记九:用C++编写ROS发布与订阅
ROS学习笔记九:用C++编写ROS发布与订阅 本节主要介绍如何用C++编写一个简单的ROS发布与订阅. 编写发布节点 在之前创建的例子beginner_tutorials软件包中,在其目录下的src ...
- at24c16如何划分出多个读写区_AVR学习笔记九、基于AT24C16的数据存储实验
Ema{@AVR 学习笔记九.基于 AT24C16 的数据存储实验 ------- 基于 LT_Mini_M16 9.1 用 I/O 口模拟 I2C 总线实现 AT24C16 的读写 9.1.1 .实 ...
- 数学/数论专题-学习笔记:狄利克雷卷积
数学/数论专题-学习笔记:狄利克雷卷积 1. 前言 2. 一些基础函数 3. 积性函数 4. 狄利克雷卷积 5. 总结 6. 参考资料 1. 前言 狄利克雷卷积,是学习与继续探究 μ\muμ 函数和 ...
- JavaScript学习笔记(九)(验证框架,layer弹出层)
JavaScript学习笔记(九) 一.jQuery Validate验证框架 1.引入相关插件路径 2. 修改一些规则 3. 自定义验证规则 4.异步验证 整体代码 二.layer弹出层 1.引入相 ...
- OpenCV学习笔记(九)——图像轮廓(下)
<OpenCV轻松入门:面向Python>学习笔记(九) 1-3 查找并绘制轮廓.矩特性及Hu矩 4-5 轮廓拟合及凸包 6. 利用形状场景算法比较轮廓 6.1 计算形状场景距离 6.2 ...
最新文章
- 前后端分离项目_七个开源的 Spring Boot 前后端分离项目,一定要收藏
- js心跳间隔怎么确定_外墙瓷砖渗水怎么处理的?施工步骤和方法都在这啦
- java导出word(带图片)
- Android成长日记-使用GridView显示多行数据
- 计算机成绩表及格率怎么算,卫生资格人机对话如何考试如何评分?成绩如何核算?...
- 28 MM配置-采购-采购申请-定义凭证类型
- 利用文件扫描符恢复数据库.txt
- 屏幕分析师确认两款iPhone 13将采用LTPO屏幕 支持120Hz刷新率
- Python3 找不到库
- python中的json.loads_Python json模块dumps、loads操作示例
- matlab指派问题论文,数学建模指派问题论文.doc
- mysql注入转义绕过_SQL注入防御绕过
- PowerApps 社区计划:供个人使用的免费开发环境
- 利用计算机辅助药物设计方法有何优点,计算机辅助药物设计的原理及应用
- Black Hat USA 2011: Alexander Polyakov - CTO - ERPScan
- 2022元旦首发,2021年阿里春招+秋招+社招+校招Java后端开发面试题汇总,看完轻松收下offer
- 细胞衰老——酪氨酸激酶抑制剂
- 沈阳python没有工作经验,沈阳python初级程序员培训班学费(python学历低可以学吗)...
- biabiamiamia百度音乐网批量歌曲下载工具
- 上位机plc编程入门_【新手入门】西门子PLC编程入门学习
热门文章
- Abstract Self-Balancing Binary Search Tree
- 如何正确编写linux守护进程
- C++(19)--自定义Array,vector练习
- 《Python Cookbook 3rd》笔记(4.4):实现迭代器协议
- php 配置 gd2,配置PHP对gd库的支持
- 对于boost锁机制结论性的介绍
- 爸爸的素质决定孩子飞多高,爸爸们请反复看!!!
- 车子突然溜坡追尾 驾校教练说挂P挡拉手刹不会溜坡
- 超详细 - SVN下载安装及使用教程
- C#动态操作DataTable(新增行、列、查询行、列等)