一,关于波形


自然界中我们总是可以发现各种各样的波形,其中很多波形和上面的图片一样难以被我们肉眼观察。
在我们实际的工作中往往会碰到一些问题,我们手上有一段“波形”需要输入到一个系统中,来得到一个我们需要的额输出“波形”。这么说好像很抽象,其实我也觉得很抽象。举例,一个电机的控制系统,我们给定一个期望的转速波形,希望驱动器根据我们的给定信号来控制输出电压,以实现电机的转速达到我们的期望一致;举例,一段音频经过一个滤波器,得到一组去除了高频成分的音频。
根据上面奇奇怪怪的描述我们可以得到这样的结论,我们碰到了这样的问题:


一段信号 –> 系统 –> 满足我们需求的信号


这里我们设计这个“系统”来满足实际生活中的需求,在我们分析这些“系统”的时候总是会发现,实际生活中很多问题的模型需要使用微分方程甚至是高阶微分方程来描述,而且很多问题如果直接用时域上的模型来描述特别的不直观。

二,三角函数与傅里叶

我们考虑一下上面的问题,高阶微分方程不好解决,所以我们能不能考虑一些方法来避免高阶微分方程呢?

dsin(t)dt=cos(t)\frac{dsin(t)}{dt}=cos(t)
dcos(t)dt=−sin(t)\frac{dcos(t)}{dt}=-sin(t)
我们如果把一个输入波形拆成许多三角函数,这样的话我们输入一组三角函数,这些三角函数经过很多微分方程,得到依然是三角函数,这样的话我们就可以避开高阶微分方程了。
1.狄里赫利条件
数学上凡是满足狄里赫利条件的 周期函数都可以展开成 傅里叶级数,这个东西的证明自己看书吧。
2.周期函数与傅里叶级数
周期函数的数学形式:
x(t)=x(t+nT)x(t)=x(t+nT)
傅里叶级数的数学形式:
x(t)=a0+∑∞n=1(ancos(nw0t)+bnsin(nw0t))x(t)=a_0+\sum_{n=1}^{\infty} (a_n cos(nw_0t)+b_nsin(nw_0t))
傅里叶级数的复数形式:
ejx=cos(x)+jsin(x)e^{jx}=cos(x)+jsin(x)
cos(x)=ejx+e−jx2cos(x)=\frac{e^{jx}+e^{-jx}}{2}
sin(x)=ejx−e−jx2jsin(x)=\frac{e^{jx}-e^{-jx}}{2j}
x(t)=∑∞n=−∞cnejnw0tx(t)=\sum_{n=-\infty}^{\infty} c_ne^{jnw_0t}
cn=1T0∫T00x(t)e−jnw0tdtc_n=\frac{1}{T_0}\int_0^{T_0} x(t)e^{-jnw_0t}dt
上面写的都是连续傅里叶级数的表达式,实际的问题解决中,绝大多数信号都会是离散的序列,所以我们把上面的展开式离散化可以得到如下的形式:
x(n)=x(n+kN)x(n)=x(n+kN)
x(n)=a0+∑∞k=1(akcos(kωsn)+bksin(kωsn))x(n)=a_0+\sum_{k=1}^{\infty}(a_kcos(k\omega_sn)+b_ksin(k\omega_sn))
x(n)=∑∞k=−∞cnejkωsnx(n)=\sum_{k=-\infty}^{\infty} c_ne^{jk\omega_sn}
上面的式子中 ωs=2πN,N\omega_s=\frac{2\pi}{N},N为序列的周期。当k的值从0开始增加到N的时候,我们会发现k=0与k=N对应的三角函数是一样,这个时候我们看一下上面的式子里面很多k对应的三角函数都是重复的,所以我们可以进一步化简上面的式子。
x(n)=a0+∑N−1k=1(akcos(kωsn)+bksin(kωsn))x(n)=a_0+\sum_{k=1}^{N-1}(a_kcos(k\omega_sn)+b_ksin(k\omega_sn))
x(n)=∑N−1k=0ckejkωsnx(n)=\sum_{k=0}^{N-1} c_ke^{jk\omega_sn}
ck=1N∑N−1n=0x(n)e−jkwsnc_k=\frac{1}{N}\sum_{n=0}^{N-1}x(n)e^{-jkw_sn}
3.非周期函数与傅里叶变换
上面的展开公式都是针对周期函数,那非周期函数呢?什么是非周期函数?从一定程度上讲周期是无穷大的周期函数就可以看出是非周期函数,那通过这个思想我们就可以得到下面几个式子:
连续:
X(w)=∫∞−∞x(t)e−jwtdtX(w)=\int_{-\infty}^{\infty} x(t)e^{-jwt}dt
离散:
X(w)=∑∞n=−∞x(n)e−jwnX(w)=\sum_{n=-\infty}^{\infty} x(n)e^{-jwn}
连续逆变换:
x(t)=12π∫∞−∞X(w)ejwtdwx(t)=\frac{1}{2\pi}\int_{-\infty}^{\infty} X(w)e^{jwt}dw
离散逆变换:
x(n)=12π∫2π0X(w)ejwndwx(n)=\frac{1}{2\pi}\int_{0}^{2\pi} X(w)e^{jwn}dw
上面这种数学变换我们就称之为傅里叶变换,变换得到的结果是什么呢? 频谱密度函数
4.DTFT,DFT,DFS与有限长序列
前面我们考虑了离散傅里叶级数(DFS)和离散时间傅里叶变换(DTFT),这些我们都是针对无限长序列考虑的,但是实际生活中我们计算机可以处理的只能是有限长序列。
如果我们对一个有限长序列进行DTFT(对序列采用补零的方式延长至无限长),可以得到如下的式子:
X(w)=∑N−1n=0x(n)e−jwnX(w)=\sum_{n=0}^{N-1} x(n)e^{-jwn}
x(n)=12π∫2π0X(w)ejwndwx(n)=\frac{1}{2\pi}\int_{0}^{2\pi} X(w)e^{jwn}dw
实际问题解决的时候,我们有时候发现这么一些问题,很多时候我们要分析的序列是无限长,但是我们能得到的序列是有限长的,这样的话问题就出现了。
对于有限长的序列我们可以采用延拓的方式,即将有限长序列周期延拓成一个周期为N无限长序列,这样的话我们对它进行离散傅里叶级数展开就可以得到如下的结果:
X(k)=∑N−1n=0x(n)e−jkwsn,ws=2πNX(k)=\sum_{n=0}^{N-1}x(n)e^{-jkw_sn},w_s=\frac{2\pi}{N}
x(n)=1N∑N−1k=0X(k)ejkwsnx(n)=\frac{1}{N}\sum_{k=0}^{N-1} X(k)e^{jkw_sn}
上面的变换就是我们一般说的离散傅里叶变化(DFT),观察一下上面的式子我们可以发现DFT是DTFT在 w=k2πNw=k\frac{2\pi}{N}时采样得到的结果.

三. z变换与序列

1.z变换的数学形式:

Z[x(n)]=∑n=∞n=−∞x(n)z−nZ[x(n)]=\sum_{n=-\infty}^{n=\infty} x(n)z^{-n}
在这里我们考虑一下,当 z=ejwnz=e^{jwn}时,z变换的数学形式和DTFT是一样,这里我们可以这么认为Z变换是DTFT的推广。
2.脉冲响应与线性卷积
任何一个序列我们都可以利用延时和加权的单位样本之和来得到:
x(n)=∑k=∞k=−∞x(k)δ(n−k)x(n)=\sum_{k=-\infty}^{k=\infty}x(k)\delta(n-k)
如果我们研究的系统是线性系统,线性系统具有齐次性和叠加性,这样的话我们可以先单独考虑当输入是 δ(n)\delta(n)的时候的响应,然后把x(n)拆成很多的 δ(n−k)\delta(n-k),最后把结果的这些响应叠加在一起,这样我们就可以得到x(n)的输入响应。这里我们把输入是 δ(n−k)\delta(n-k)的响应定义为单位冲击响应h(n,k).由这些我们可以得到:
y(n)=∑k=∞k=−∞x(k)h(n,k)y(n)=\sum_{k=-\infty}^{k=\infty} x(k)h(n,k)
如果我们的系统是时不变系统的话,即:
y(n)=L[x(n)]⇒L[x(n−k)]=y(n−k)y(n)=L[x(n)]\Rightarrow L[x(n-k)]=y(n-k)
用简单的话讲就是一个系统的输出与输入序列选择的输入时间点没有关系。这样的话如果考虑的系统是线性时不变系统,我们可以把上面的输入响应计算公式变成如下形式:
y(n)=∑k=∞k=−∞x(k)h(n−k)y(n)=\sum_{k=-\infty}^{k=\infty} x(k)h(n-k)
这里我们把 ∑k=∞k=−∞x(k)h(n−k)=x(n)∗h(n)\sum_{k=-\infty}^{k=\infty} x(k)h(n-k)=x(n)*h(n)这种运算称之为 线性卷积.
3.z变换的时域卷积定理

Z[x(n)∗h(n)]=∑n=−∞n=∞[∑m=−∞m=∞x(m)h(n−m)]z−n=∑m=−∞m=∞x(m)z−mH(z)=X(z)H(z) \begin{align} Z[x(n)*h(n)] & = \sum_{n=-\infty}^{n=\infty}[\sum_{m=-\infty}^{m=\infty}x(m)h(n-m)]z^{-n} \\ & = \sum_{m=-\infty}^{m=\infty} x(m)z^{-m}H(z) \\ & = X(z)H(z) \end{align}

从上面的式子我们可以很自然的得到一个结论,线性卷积具有交换律,而且这样处理问题很多问题就没有高阶微积分方程或者说是差分方程了.在考虑一个问题离散傅里叶变化是z变换的一个特例所以DTFT也具有上面的性质.DFT的结果从另一个角度看是对DTFT的一个采样,所以DFT也满足这个性质。
到这我们再考虑DFS,一个离散傅里叶级数有许多的 ejkw0ne^{jkw_0n}组成。当输入序列为 ejw0ne^{jw_0n}时:

y(n)=h(n)∗ejw0n=∑k=−∞∞h(k)ejw0(n−k)=ejw0n∑k=−∞∞h(k)e−jkw0=DTFT(h(n))|w=w0ejw0n \begin{align} y(n) & = h(n)*e^{jw_0n}\\ &=\sum_{k=-\infty}^{\infty} h(k)e^{jw_0(n-k)} \\ &= e^{jw_0n} \sum_{k=-\infty}^{\infty} h(k)e^{-jkw_0} \\ &=DTFT(h(n))|_{w=w_0} e^{jw_0n} \end{align}

上面的式子中我们把DTFT(h(n))称之为频率响应,反应的物理意义是,当我们输入一组正弦波的时候该系统会把他的幅值放大的倍数和相位角变化的度数.这样的话一串三角函数叠加出来的周期函数的输入响应我们很容易就可以计算出来.
上面这个地方解释一下,在展开傅里叶技术的时候我们得到了很多的 ckc_k,这些 ckc_k的模长就是三角函数的幅值,这点很容易接受, ckc_k的相位角就是三角函数的相位角,所以可以推出上面的一些结论,关于这一点感兴趣的朋友可以自己展开证明一下。

关于傅里叶的总结(一)相关推荐

  1. 加州理工华人博士提出傅里叶神经算子,偏微分方程提速1000倍,告别超算!

    视学算法报道   编辑:LRS [新智元导读]偏微分方程存在于生活中的方方面面,但这个方程通常需要借助超算才能求解.最近加州理工的一个博士生提出了一种傅里叶神经算子,能让求解速度提升1000倍,从此让 ...

  2. 傅里叶(FFT)+小波变换+数据压缩

    傅里叶+小波变换+数据压缩 信号处理 时域  频域 傅里叶变换 快速傅里叶变换 小波变换 滤波器+高通+低通+带通+带阻 傅里叶的分解的基函数是三角函数,sin cosin等 而小波变换的基函数是小波 ...

  3. 【Fourier Convolution】傅里叶卷积

    原文地址: https://terpconnect.umd.edu/~toh/spectrum/Convolution.html 什么是卷积 Convolution is an operation p ...

  4. 神经网络是存储了海量的信息还是将海量的关系映射存储在了一起(发挥了存储记忆功能),还是变成了看似是一个公式,实际是成千上万个规律的公式融合在一个式子中( 类似于正弦波的傅里叶分解成无限中频率的波的加和

    神经网络是存储了海量的信息还是将海量的关系映射存储在了一起(发挥了存储记忆功能): 还是变成了看似是一个公式,实际是成千上万个规律的公式融合在一个式子中( 类似于正弦波的傅里叶分解成无限中频率的波的加 ...

  5. 傅里叶卷积实现「万物隐身」,这个神器可试玩

    来源:机器之心 将快速傅里叶卷积引入网络架构,弥补感受野不足的缺陷,来自三星.洛桑联邦理工学院等机构的研究者提出了 LaMa(large mask inpainting)方法,在一系列数据集上改进了 ...

  6. 傅里叶帮我看看,谁在照射我?

    室内智能信标组 1.赛题要求 在 第十六届全国大学生智能车竞赛 中,有一个 室内AI视觉竞速组别 ,要求参赛队伍的车模作品能够在高速运行过程中,快速根据赛道上的三岔路口元素以及 AprilTag 标示 ...

  7. python pytorch fft_PyTorch 中的傅里叶卷积实现示例

    卷积 卷积在数据分析中无处不在.几十年来,它们一直被用于信号和图像处理.最近,它们成为现代神经网络的重要组成部分.如果你处理数据的话,你可能会遇到错综复杂的问题. 数学上,卷积表示为: 尽管离散卷积在 ...

  8. 神经网络模拟sin 发现的规律和大神傅里叶说的一致

    傅里叶提出的理论 https://wenku.baidu.com/view/fa44908602d276a200292e7b.html 神经网络的实际原理 https://dongfangyou.bl ...

  9. matlab傅里叶变换矩阵

    matlab傅里叶变换矩阵 a=(0:15)'*(0:15); W=exp(-2*pi*1i*a/16)/sqrt(16);

  10. 循环矩阵傅里叶对角化

    参考:http://blog.csdn.net/shenxiaolu1984/article/details/50884830 All circulant matrices are made diag ...

最新文章

  1. 整理一份详细的数据预处理方法
  2. 英伟达联合芯片巨头ARM打造IOT设备的AI芯片
  3. 100块钱买100只鸡php,使用JS计算买100只鸡问题
  4. 沉浸式状态栏的简易实现
  5. Bella Protocol已按计划调整流动性挖矿奖励方案
  6. csharp添加引用路径_C# 在Word中添加Latex 数学公式和符号
  7. 拼多多带货视频是什么?拼多多带货视频如何上传
  8. U盘分区删除和新建分区
  9. 改Robust Video Matting为Robust Image Matting
  10. nodejs怎么看安装成功_教你怎么用XBOX ONE安装KODI看4K蓝光电影,并实现PC局域网共享...
  11. 斐波纳契数(c语言)
  12. 《穷查理宝典》思维导图
  13. QQ音乐关键字搜索并生成下载url
  14. 关于Md5加密算法的原理及应用
  15. 一篇带你读懂用户故事地图
  16. 南农计算机考研真题,2021南京农业大学考研历年真题
  17. 南都周刊:别了,老兵乔布斯
  18. BIOS 启动类型:Legacy+UEFI、UEFI BOOT、Legacy BOOT
  19. LINUX从零开始——ENGINEER(云计算应用管理)——Day2 [磁盘空间管理、交换空间、VDO]
  20. Android瀑布流,类似于蘑菇街和迷尚 应用里的排列

热门文章

  1. 专业版amp;普及版代理「后台设置方法」详解
  2. 2 万字 + 20张图| 细说 Redis 九种数据类型和应用场景
  3. mt6735通用recovery_Mtk arm64通用root ,使用无需bl或者rec,安卓7以下使用最佳!
  4. 用Windows电脑看epub电子书用什么阅读软件好?
  5. termux入门安装
  6. 如何实现 WPF 视频封面查看器
  7. 科技与生产力,芯片在科技界的江湖地位
  8. win10怎么玩经典扫雷?繁星软件园推荐大家试试Windows7Games吧,亲测好用的扫雷Win10电脑版下载!!!
  9. 怎样将discuz所有页面的Powered by Discuz!去掉
  10. 一种二阶Biquad滤波器