这份是本人的学习笔记,课程为网易公开课上的斯坦福大学公开课:傅里叶变换及其应用。

卷积在滤波中的应用

浑浊度(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}}$

[傅里叶变换及其应用学习笔记] 九. 继续卷积的讨论相关推荐

  1. 深度学习笔记其五:卷积神经网络和PYTORCH

    深度学习笔记其五:卷积神经网络和PYTORCH 1. 从全连接层到卷积 1.1 不变性 1.2 多层感知机的限制 1.2.1 平移不变性 1.2.2 局部性 1.3 卷积 1.4 "沃尔多在 ...

  2. IOS学习笔记(九)之UIAlertView(警告视图)和UIActionSheet(操作表视图)基本概念和使用方法...

    IOS学习笔记(九)之UIAlertView(警告视图)和UIActionSheet(操作表视图)基本概念和使用方法 Author:hmjiangqq Email:jiangqqlmj@163.com ...

  3. python3.4学习笔记(九) Python GUI桌面应用开发工具选择

    python3.4学习笔记(九) Python GUI桌面应用开发工具选择 Python GUI开发工具选择 - WEB开发者 http://www.admin10000.com/document/9 ...

  4. 吴恩达《机器学习》学习笔记九——神经网络相关(1)

    吴恩达<机器学习>学习笔记九--神经网络相关(1) 一. 非线性假设的问题 二. 神经网络相关知识 1.神经网络的大致历史 2.神经网络的表示 3.前向传播:向量化表示 三. 例子与直觉理 ...

  5. ROS学习笔记九:用C++编写ROS发布与订阅

    ROS学习笔记九:用C++编写ROS发布与订阅 本节主要介绍如何用C++编写一个简单的ROS发布与订阅. 编写发布节点 在之前创建的例子beginner_tutorials软件包中,在其目录下的src ...

  6. at24c16如何划分出多个读写区_AVR学习笔记九、基于AT24C16的数据存储实验

    Ema{@AVR 学习笔记九.基于 AT24C16 的数据存储实验 ------- 基于 LT_Mini_M16 9.1 用 I/O 口模拟 I2C 总线实现 AT24C16 的读写 9.1.1 .实 ...

  7. 数学/数论专题-学习笔记:狄利克雷卷积

    数学/数论专题-学习笔记:狄利克雷卷积 1. 前言 2. 一些基础函数 3. 积性函数 4. 狄利克雷卷积 5. 总结 6. 参考资料 1. 前言 狄利克雷卷积,是学习与继续探究 μ\muμ 函数和 ...

  8. JavaScript学习笔记(九)(验证框架,layer弹出层)

    JavaScript学习笔记(九) 一.jQuery Validate验证框架 1.引入相关插件路径 2. 修改一些规则 3. 自定义验证规则 4.异步验证 整体代码 二.layer弹出层 1.引入相 ...

  9. OpenCV学习笔记(九)——图像轮廓(下)

    <OpenCV轻松入门:面向Python>学习笔记(九) 1-3 查找并绘制轮廓.矩特性及Hu矩 4-5 轮廓拟合及凸包 6. 利用形状场景算法比较轮廓 6.1 计算形状场景距离 6.2 ...

最新文章

  1. 前后端分离项目_七个开源的 Spring Boot 前后端分离项目,一定要收藏
  2. js心跳间隔怎么确定_外墙瓷砖渗水怎么处理的?施工步骤和方法都在这啦
  3. java导出word(带图片)
  4. Android成长日记-使用GridView显示多行数据
  5. 计算机成绩表及格率怎么算,卫生资格人机对话如何考试如何评分?成绩如何核算?...
  6. 28 MM配置-采购-采购申请-定义凭证类型
  7. 利用文件扫描符恢复数据库.txt
  8. 屏幕分析师确认两款iPhone 13将采用LTPO屏幕 支持120Hz刷新率
  9. Python3 找不到库
  10. python中的json.loads_Python json模块dumps、loads操作示例
  11. matlab指派问题论文,数学建模指派问题论文.doc
  12. mysql注入转义绕过_SQL注入防御绕过
  13. PowerApps 社区计划:供个人使用的免费开发环境
  14. 利用计算机辅助药物设计方法有何优点,计算机辅助药物设计的原理及应用
  15. Black Hat USA 2011: Alexander Polyakov - CTO - ERPScan
  16. 2022元旦首发,2021年阿里春招+秋招+社招+校招Java后端开发面试题汇总,看完轻松收下offer
  17. 细胞衰老——酪氨酸激酶抑制剂
  18. 沈阳python没有工作经验,沈阳python初级程序员培训班学费(python学历低可以学吗)...
  19. biabiamiamia百度音乐网批量歌曲下载工具
  20. 上位机plc编程入门_【新手入门】西门子PLC编程入门学习

热门文章

  1. Abstract Self-Balancing Binary Search Tree
  2. 如何正确编写linux守护进程
  3. C++(19)--自定义Array,vector练习
  4. 《Python Cookbook 3rd》笔记(4.4):实现迭代器协议
  5. php 配置 gd2,配置PHP对gd库的支持
  6. 对于boost锁机制结论性的介绍
  7. 爸爸的素质决定孩子飞多高,爸爸们请反复看!!!
  8. 车子突然溜坡追尾 驾校教练说挂P挡拉手刹不会溜坡
  9. 超详细 - SVN下载安装及使用教程
  10. C#动态操作DataTable(新增行、列、查询行、列等)