zoukankan      html  css  js  c++  java
  • 快手3面:说说傅里叶变换、拉普拉斯变换为什么要变换,它们之间的联系是什么!

    什么是数学变换?

    要理解这些变换,首先需要理解什么是数学变换!如果不理解什么是数学变换的概念,那么其他的概念我觉得也没有理解。

    数学变换是指数学函数从原向量空间在自身函数空间变换,或映射到另一个函数空间,或对于集合X到其自身(比如线性变换)或从X到另一个集合Y的可逆变换函数。比如(图片来源wikipedia):

    Java技术中通常也要用到一些算法,小编这里分享一份面试真题,理解玩理论后可以练练手!

    旋转变换(Rotation)

    镜像变换(Reflection)

    平移变换(Translation)

    数学中还有很多其他的数学变换,其本质都可以看成是将函数f(x)利用变换因子进行的一种数学映射,其变换结果是函数的自变量有可能还是原来的几何向量空间,或许会变成其他的几何向量空间,比如傅立叶变换就从时域变换为频域。

    而傅立叶变换和拉普拉斯变换的本质都是对连续或有限个第一类间断点函数的一种积分变换,那么什么是积分变换呢?

    什么是积分变换?

    积分变换通过对原函数对映射函数空间自变量在特定区间进行积分运算,将函数从其原始函数空间映射到另一个函数空间。这样一来,其中原始函数的某些属性在映射函数空间可能比原始函数空间更容易表征或分析。通常可以使用逆变换将变换后的函数映射回到原函数空间,这样的变换称为可逆变换。

    假定对于函数为自变量t的函数f(t),通常积分变换都具有如下类似的范式:

    函数f(t)是该变换的输入,(Tf)(u)为变换的输出,因此积分变换一般也称为一种特定的数学运算符。而函数K(t,u)称为积分核函数(kernel function)。

    这里有一个对称核函数的概念,这是什么意思呢?就是将函数K的两个自变量交换位置仍然相等:

    有的变换可逆,这是什么概念呢?就是变换后通过逆变换,还能还原!

    观察正变换与逆变换,你会发现:

    • 核函数刚好两个自变量交换位置
    • 正变换是对原函数f(t)在时间维度上进行积分
    • 逆变换是在变换后的函数在u维度上进行积分

    什么是傅立叶级数?

    在谈傅立叶变换之前,先谈谈傅立叶级数会更容易理解傅立叶变换。在数学中,傅里叶级数(Fourier series)是把类似波的函数表示成简单正弦波的方式。更正式的说法是,它能将任何周期性函数或周期性信号分解成一个(可能由无穷个频率分量组成的)简单振荡函数的集合,即正弦函数和余弦函数(或者,等价地使用复指数),从数学的定义来看:

    公式中的k表示第k次谐波,这是个什么概念呢?不容易理解,看下对于一个方波的前4次谐波合成动图就比较好理解了。这里合成的概念是指时域上的叠加的概念,图片来源wikipedia

    从上图可以直观看出,周期性方波,可以看成多次谐波的线性叠加,其幅度谱图,是一根根离散的谱线,且幅度值越来越低,从这个角度可以看出高次谐波的分量,占比越来越小。其谱线的位置为:

    应用:这里可以联想到我们的电子系统中的时钟信号,做硬件的朋友或有经验,在做EMC的辐射测试时,发现产品电路板在某些频点超标,有经验的同学会很快定位到辐射源。其实这里大概率就是因为周期性的时钟信号造成的,从频率的角度可以看成是其基频的多次谐波的线性叠加,而某个谐波分量在电路线路尺寸满足辐射条件时,就从电路板上脱逸而出,变为电磁波能量向空间传播。所以反向去查该频率可能对应的周期性时钟信号的基频就能很快定位到辐射源,从而解决问题。

    说到傅立叶级数是周期性信号可以用傅立叶级数展开,那么是不是任一周期性信号都可以进行傅立叶级数展开呢?答案是否定的,必须满足著名的狄利克雷(Dirichlet)条件

    • 在一周期内,如果有间断点存在,则间断点的数目需要是有限个数
    • 在一周期内,极大值和极小值的数目是有限个数的
    • 在一周期内,信号或者函数是绝对可积分的。见前文公式。

    什么是傅立叶变换?

    前面说了傅立叶级数,接下来再看傅立叶变换。傅立叶变换之所以称为傅立叶变换,是由于1822年,法国数学家傅立叶(J.Fourier) 在研究热传导理论时首次证明了将周期函数展开为傅立叶级数的理论,并进而不断发展成为一个有力的科研分析工具。

    假定周期性信号周期T逐渐变大,则谱线间间隔将逐渐变小,如果外推周期T无限放大,变成无穷大,则信号或者函数就变成非周期信号或函数了,此时谱线就变成连续的了,而非一根一根离散的谱线!那么傅立叶变换正是这种一般性的数学定义:

    其核函数的两个自变量为t, ,对于一般称为角速度(可以形象地理解为旋转运动的快慢),是表征频率空间的。

    上面这两个公式是啥意思呢?在度量空间可积可以理解成其在度量空间能量有限,也即对其自变量积分(相当于求面积)是一个确定值,那么这样的函数或者信号就可以进行傅立叶变换展开,展开得到的就变成是频域的函数了,如果对频率将函数值绘制出曲线就是我们所说的频谱图,而其逆变换就比较好理解了,如果我们知道一个信号或者函数谱密度函数,就可以对应还原出其时域的函数,也能绘制出时域的波形图。

    傅立叶变换公式,从理解的角度,可以看成无限多无穷小的能量之和,而傅立叶级数也是各谐波分量的加和,所不同的是,前者相对于频率变量是连续的,而后者相对于频率则是离散的!

    当然,本文限定讨论时域信号是因为我们电子系统中的应用最为普遍的就是一个时域信号。推而广之,其他的多维度信号也能利用上面定义进行推广,同样在多维空间信号也非常有应用价值,比如2维图像处理、3维图像重建等等。

    傅立叶级数与变换的区别?

    • 傅立叶级数对应的是周期信号,而傅立叶变换则对应的是一个时间连续可积信号(不一定是周期信号)
    • 傅立叶级数要求信号在一个周期内能量有限,而后者则要求在整个区间能量有限
    • 傅立叶级数的对应是离散的,而傅立叶变换则对应是连续的。

    故而,两者的物理含义不同,且其量纲也是不同的,代表周期信号的第k次谐波幅度的大小,而则是频谱密度的概念。所以答案是这两者从本质上不是一个概念,傅立叶级数是周期信号的另一种时域的表达方式,也就是正交级数,它是不同的频率的波形的时域叠加。而傅立叶变换则是完全的频域分析,傅里叶级数适用于对周期性现象做数学上的分析,傅里叶变换可以看作傅里叶级数的极限形式,也可以看作是对周期现象进行数学上的分析,同时也适用于非周期性现象的分析。

    什么是拉普拉斯变换?

    傅立叶拉氏变换联系区别

    所以傅立叶变换与拉普拉斯变换的联系就比较容易联系了。

    • 拉普拉斯变换,将原函数从时间维度(不一定是时间维度,只是方便理解本文以常见的时间维度信号进行描述),映射为复平面
    • 傅立叶变换是拉普拉斯变换的特例,也即变换核函数时,拉普拉斯变换就变成傅立叶变换了。相当于只取虚部,实部为0.
    • 傅立叶变换是从原维度变换为频率维度,对于信号处理而言相当于将时域信号变换为频域进行分析,为信号处理提供了强大的数学理论基础及工具。
    • 拉普拉斯变换,将原维度变换为复频域,在电子电路分析以及控制理论中,为建立系统的数学描述提供了强大的数学理论基础,学过控制理论的一天到晚都与传递函数打交道,其本质就是拉普拉斯变换对系统的一种数学建模描述。为分析系统的稳定性、可控性提供了数学工具。

    什么是Z变换?

    Z变换本质上是拉普拉斯变换的离散形式。也称为Fisher-Z变换。对于连续信号进行抽样变换就得到了原函数的离散序列:

    那么Z变换的意义在于什么呢?在数字信号处理以及数字控制系统中,Z变换提供了数学基础。利用Z变换很快就能将一个传递函数描述成差分方程形式,这就为编程实现提供了数学依据,比如一个数字滤波器知道其Z变换形式,写代码就是分分钟的事情了,同样知道一个控制算法的Z变换形式,同样编代码也是水到渠成的事情。

    这里谈到Z变换的离散形式,那么这里也提一句,傅立叶变换数字落地,也即离散形式是离散傅立叶变换DFT(Discrete Fourier Transform),而大家所熟知的快速傅立叶变换FFT(Fast Fourier Transform)则是DFT的高效率实现。

    总结一下

    要理解三种变换的联系区别,首先要理解什么是数学变换,什么是积分变换。傅立叶变换以及拉普拉斯变换本质上都是连续或有限个第一类间断点函数的积分变换,而傅立叶变换是拉普拉斯变换的特殊形式,而Z变换是拉普拉斯变换的离散形式。每种变换都有其应用价值,傅立叶变换在信号处理的频域分析中提供了强大的数学工具,而拉普拉斯变换在电子学、控制工程、航空航天等领域提供了建模、分析的数学分析工具;Z变换则将这些变换进而落地为数字实现提供数学理论依据。DFT为FFT的离散化形式,而FFT是DFT的算法优化实现。

    原文链接:https://mp.weixin.qq.com/s/tImx54Qjvjjn4iVnE09w0g

  • 相关阅读:
    sprigboot2.0升级修改配置细节记录
    MAC 以太坊环镜安装
    python3 scrapy+Crontab部署过程
    python3 程序问题解决列表
    位运算--通过总值分解出子值(解析子值)
    springboot war包在tomcat中运行
    【解决方法】macOS 安装Resin失败:fatal error: 'openssl/ssl.h' file not found
    MAC+VMware+CentOS 6.5 上网配置
    python报错UnicodeDecodeError: 'ascii' codec can't decode byte 0xe8 in position 0 解决方案
    解决mac+idea+tomcat没有日志输出问题
  • 原文地址:https://www.cnblogs.com/QLCZ/p/14845863.html
Copyright © 2011-2022 走看看