【转】漫谈信号与系统
https://blog.csdn.net/syrchina/article/details/8985747#commentBox
——什么是卷积傅利叶变换拉普拉斯变换
先说“卷积有什么用”这个问题。(有人抢答,“卷积”是为了学习“信号与系统”这门课的后续章节而存在的。我大吼一声,把他拖出去枪毙!)
讲一个故事:
张三刚刚应聘到了一个电子产品公司做测试人员,他没有学过”信号与系统”这门课程。一天,他拿到了一个产品,开发人员告诉他,产品有一个输入端,有一个输出端,有限的输入信号只会产生有限的输出。
然后,经理让张三测试当输入sin(t)(t<1秒)信号的时候(有信号发生器),该产品输出什么样的波形。张三照做了,花了一个波形图。
“很好!”经理说。然后经理给了张三一叠A4纸:”这里有几千种信号,都用公式说明了,输入信号的持续时间也是确定的。你分别测试以下我们产品的输出波形是什么吧!”
这下张三懵了,他在心里想”上帝,帮帮我把,我怎么画出这些波形图呢?”
于是上帝出现了:”张三,你只要做一次测试,就能用数学的方法,画出所有输入波形对应的输出波形”。
上帝接着说:”给产品一个脉冲信号,能量是1焦耳,输出的波形图画出来!”
张三照办了,”然后呢?”
上帝又说,”对于某个输入波形,你想象把它微分成无数个小的脉冲,输入给产品,叠加出来的结果就是你的输出波形。你可以想象这些小脉冲排着队进入你的产品,每个产生一个小的输出,你画出时序图的时候,输入信号的波形好像是反过来进入系统的。”
张三领悟了:”哦,输出的结果就积分出来啦!感谢上帝。这个方法叫什么名字呢?”
上帝说:”叫卷积!”
从此,张三的工作轻松多了。每次经理让他测试一些信号的输出结果,张三都只需要在A4纸上做微积分就是提交任务了!
张三愉快地工作着,直到有一天,平静的生活被打破。
经理拿来了一个小的电子设备,接到示波器上面,对张三说:”看,这个小设备产生的波形根本没法用一个简单的函数来说明,而且,它连续不断的发出信号!不过幸好,这个连续信号是每隔一段时间就重复一次的。张三,你来测试以下,连到我们的设备上,会产生什么输出波形!”
张三摆摆手:”输入信号是无限时长的,难道我要测试无限长的时间才能得到一个稳定的,重复的波形输出吗?”
经理怒了:”反正你给我搞定,否则炒鱿鱼!”
张三心想:”这次输入信号连公式都给出出来,一个很混乱的波形;时间又是无限长的,卷积也不行了,怎么办呢?”
及时地,上帝又出现了:”把混乱的时间域信号映射到另外一个数学域上面,计算完成以后再映射回来”
“宇宙的每一个原子都在旋转和震荡,你可以把时间信号看成若干个震荡叠加的效果,也就是若干个可以确定的,有固定频率特性的东西。”
“我给你一个数学函数f,时间域无限的输入信号在f域有限的。时间域波形混乱的输入信号在f域是整齐的容易看清楚的。这样你就可以计算了”
“同时,时间域的卷积在f域是简单的相乘关系,我可以证明给你看看”
“计算完有限的程序以后,取f(-1)反变换回时间域,你就得到了一个输出波形,剩下的就是你的数学计算了!”
张三谢过了上帝,保住了他的工作。后来他知道了,f域的变换有一个名字,叫做傅利叶什么什么......
再后来,公司开发了一种新的电子产品,输出信号是无限时间长度的。这次,张三开始学拉普拉斯了......
后记:
不是我们学的不好,是因为教材不好,老师讲的也不好。
很欣赏Google的面试题:用3句话向老太太讲清楚什么是数据库。这样的命题非常好,因为没有深入的理解一个命题,没有仔细的思考一个东西的设计哲学,我们就会陷入细节的泥沼:背公式,数学推导,积分,做题;而没有时间来回答”为什么要这样”。做大学老师的做不到”把厚书读薄”这一点,讲不出哲学层面的道理,一味背书和翻讲ppt,做着枯燥的数学证明,然后责怪”现在的学生一代不如一代”,有什么意义吗?
漫谈信号与系统入门第二课
——到底什么是频率什么是系统?
我用讲故事的方法来说明了信号与系统这门课的所有基本概念,包括卷积,傅立叶变换,拉普拉斯变换的基本思想。说清楚这些基本思想不需要任何复杂的数学公式,完全用中文,用测试举例的一个故事就完全说明了。
这一篇,我展开的说一下傅立叶变换F。注意,傅立叶变换的名字F可以表示频率的概念(freqence),也可以包括其他任何概念,因为它只是一个概念模型,为了解决计算的问题而构造出来的(例如时域无限长的输入信号,怎么得到输出信号)。我们把傅立叶变换看一个C语言的函数,信号的输出输出问题看为IO的问题,然后任何难以求解的x→y的问题都可以用x→f(x)→f-1(x)→y来得到。
1. 到底什么是频率?
一个基本的假设:任何信息都具有频率方面的特性,音频信号的声音高低,光的频谱,电子震荡的周期,等等,我们抽象出一个简谐振动的概念,数学名称就叫做频率。想象在x-y平面上有一个原子围绕原点做半径为1匀速圆周运动,把x轴想象成时间,那么该圆周运动在y轴上的投影就是一个sin(t)的波形。相信中学生都能理解这个。
那么,不同的频率模型其实就对应了不同的圆周运动速度。圆周运动的速度越快,sin(t)的波形越窄。频率的缩放有两种模式
(a)老式的收音机都是用磁带作为音乐介质的,当我们快放的时候,我们会感觉歌唱的声音变得怪怪的,调子很高,那是因为”圆周运动”的速度增倍了,每一个声音分量的sin(t)输出变成了sin(nt)。
(b)在CD/计算机上面快放或满放感觉歌手快唱或者慢唱,不会出现音调变高的现象:因为快放的时候采用了时域采样的方法,丢弃了一些波形,但是承载了信息的输出波形不会有宽窄的变化;满放时相反,时域信号填充拉长就可以了。
从柏拉图开始,数学追求和研究的就是某种”不变”的东西。频率特性就是一种时不变或者是空间移不变的数学特性,不管是几维的信息,不管是求全局的傅立叶频率或者是局部的小波滤波的结果,都具有这样的好处。但是,频率本身的弱点是对于尺度和旋转没有”不变性”,一个苹果在频率上更接近于大小和他差不多的梨,而不是缩小或者放大了的自己。所以,频率如果作为特征的话,最重要的是尺寸和角度的归一化,而这种归一化本身又是和特征相关联的,成了一个莫比乌斯圈,绕回来了。因此,一维的标量数学不足以说明事物的本质,我们必须有2维的复变函数----线形变化就是伸缩和旋转。模式识别的学科也都是基于一个假设----图像的变化都是线形变化,其实这只是一个假设,好比是幂级数展开的时候只考虑一次项,对于大尺度的非线性变换这种幂级数近似是无效的,因为可能不收敛。
频率有频谱,矩阵有矩阵的谱(特征向量和特征值)。如果特征一样,那么我们认为两个矩阵相似。但是实际当中不存在特征值一模一样的矩阵,所以矩阵的相似程度就成了比对特征值本身。这种比对通常是在欧式空间展开的,但是,一个2维矩阵本身是一个整体,而特征向量代表的是,根本无视矩阵的整体性,而把矩阵看成是一系列向量的排列(顺序无关,不是组合),所以,矩阵是1维*1维不等于2维。矩阵理论无法完整的处理2维信息,顺序和排列本身代表的约束信息被完全忽略掉了。所以,使用矩阵+统计的方法,在模式识别领域根本无法得到非常好的结果,也无法构造出足够鲁棒的系统。所以即使有了矩阵的优化算法,例如降维(SVD和PCA),只是降低了存储和计算的复杂度;信息本身是越处理越少的,这是信息论中关于熵的基本理论。当然,为此提出的2维PCA算法算是一种改进。PCA的根本特性就是多维的坐标作了旋转以后,可以认为某些方向的投影幅度都接近于0,所以可以去掉这一维。
用频率为自然立法—有很多种为自然立法的方式,有神学的,有柏拉图的形而上学的,有毕达哥拉斯的机械计算主义的,有迪利赫利特的原子与结构,等等。频率只是其中的一种罢了。
2.F变换得到的结果有负数/复数部分,有什么物理意义吗?
解释:F变换是个数学工具,不具有直接的物理意义,负数/复数的存在只是为了计算的完整性。
3.信号与系统这们课的基本主旨是什么?
对于通信和电子类的学生来说,很多情况下我们的工作是设计或者OSI七层模型当中的物理层技术,这种技术的复杂性首先在于你必须确立传输介质的电气特性,通常不同传输介质对于不同频率段的信号有不同的处理能力。以太网线处理基带信号,广域网光纤传出高频调制信号,移动通信,2G和3G分别需要有不同的载频特性。那么这些介质(空气,电线,光纤等)对于某种频率的输入是否能够在传输了一定的距离之后得到基本不变的输入呢?那么我们就要建立介质的频率相应数学模型。同时,知道了介质的频率特性,如何设计在它上面传输的信号才能大到理论上的最大传输速率?----这就是信号与系统这门课带领我们进入的一个世界。
当然,信号与系统的应用不止这些,和香农的信息理论挂钩,它还可以用于信息处理(声音,图像),模式识别,智能控制等领域。如果说,计算机专业的课程是数据表达的逻辑模型,那么信号与系统建立的就是更底层的,代表了某种物理意义的数学模型。数据结构的知识能解决逻辑信息的编码和纠错,而信号的知识能帮我们设计出码流的物理载体(如果接受到的信号波形是混乱的,那我依据什么来判断这个是1还是0?逻辑上的纠错就失去了意义)。在工业控制领域,计算机的应用前提是各种数模转换,那么各种物理现象产生的连续模拟信号(温度,电阻,大小,压力,速度等)如何被一个特定设备转换为有意义的数字信号,首先我们就要设计一个可用的数学转换模型。
4.如何设计系统?
设计物理上的系统函数(连续的或离散的状态),有输入,有输出,而中间的处理过程和具体的物理实现相关,不是这门课关心的重点(电子电路设计?)。信号与系统归根到底就是为了特定的需求来设计一个系统函数。设计出系统函数的前提是把输入和输出都用函数来表示(例如sin(t))。分析的方法就是把一个复杂的信号分解为若干个简单的信号累加,具体的过程就是一大堆微积分的东西,具体的数学运算不是这门课的中心思想。
那么系统有那些种类呢?
(a)按功能分类:调制解调(信号抽样和重构),叠加,滤波,功放,相位调整,信号时钟同步,负反馈锁相环,以及若干子系统组成的一个更为复杂的系统----你可以画出系统流程图,是不是很接近编写程序的逻辑流程图?确实在符号的空间里它们没有区别。还有就是离散状态的数字信号处理(后续课程)。
(b)按系统类别划分,无状态系统,有限状态机,线性系统等。而物理层的连续系统函数,是一种复杂的线性系统。
5.最好的教材?
符号系统的核心是集合论,不是微积分,没有集合论构造出来的系统,实现用到的微积分便毫无意义—你甚至不知道运算了半天到底是要作什么。以计算机的观点来学习信号与系统,最好的教材之一就是《Structure and Interpretation of Signals and Systems》,作者是UCBerkeley的EdwardA.LeeandPravinVaraiya----先定义再实现,符合人类的思维习惯。国内的教材通篇都是数学推导,就是不肯说这些推导是为了什么目的来做的,用来得到什么,建设什么,防止什么;不去从认识论和需求上讨论,通篇都是看不出目的的方法论,本末倒置了。
漫谈信号与系统入门
——第三课抽样定理是干什么的
1.举个例子,打电话的时候,电话机发出的信号是PAM脉冲调幅,在电话线路上传的不是话音,而是话音通过信道编码转换后的脉冲序列,在收端恢复语音波形。那么对于连续的说话人语音信号,如何转化成为一些列脉冲才能保证基本不失真,可以传输呢?很明显,我们想到的就是取样,每隔M毫秒对话音采样一次看看电信号振幅,把振幅转换为脉冲编码,传输出去,在收端按某种规则重新生成语言。
那么,问题来了,每M毫秒采样一次,M多小是足够的?在收端怎么才能恢复语言波形呢?
对于第一个问题,我们考虑,语音信号是个时间频率信号(所以对应的F变换就表示时间频率)把语音信号分解为若干个不同频率的单音混合体(周期函数的傅立叶级数展开,非周期的区间函数,可以看成补齐以后的周期信号展开,效果一样),对于最高频率的信号分量,如果抽样方式能否保证恢复这个分量,那么其他的低频率分量也就能通过抽样的方式使得信息得以保存。如果人的声音高频限制在3000Hz,那么高频分量我们看成sin(3000t),这个sin函数要通过抽样保存信息,可以看为:对于一个周期,波峰采样一次,波谷采样一次,也就是采样频率是最高频率分量的2倍(奈奎斯特抽样定理),我们就可以通过采样信号无损的表示原始的模拟连续信号。这两个信号一一对应,互相等价。
对于第二个问题,在收端,怎么从脉冲序列(梳装波形)恢复模拟的连续信号呢?首先,我们已经肯定了在频率域上面的脉冲序列已经包含了全部信息,但是原始信息只在某一个频率以下存在,怎么做?我们让输入脉冲信号I通过一个设备X,输出信号为原始的语音O,那么I(*)X=O,这里(*)表示卷积。时域的特性不好分析,那么在频率域F(I)*F(X)=F(O)相乘关系,这下就很明显了,只要F(X)是一个理想的,低通滤波器就可以了(在F域画出来就是一个方框),它在时间域是一个钟型函数(由于包含时间轴的负数部分,所以实际中不存在),做出这样的一个信号处理设备,我们就可以通过输入的脉冲序列得到几乎理想的原始的语音。在实际应用中,我们的抽样频率通常是奈奎斯特频率再多一点,3k赫兹的语音信号,抽样标准是8k赫兹。
2.再举一个例子,对于数字图像,抽样定理对应于图片的分辨率----抽样密度越大,图片的分辨率越高,也就越清晰。如果我们的抽样频率不够,信息就会发生混叠----网上有一幅图片,近视眼戴眼镜看到的是爱因斯坦,摘掉眼睛看到的是梦露----因为不带眼睛,分辨率不够(抽样频率太低),高频分量失真被混入了低频分量,才造成了一个视觉陷阱。在这里,图像的F变化,对应的是空间频率。
话说回来了,直接在信道上传原始语音信号不好吗?模拟信号没有抗干扰能力,没有纠错能力,抽样得到的信号,有了数字特性,传输性能更佳。
什么信号不能理想抽样?时域有跳变,频域无穷宽,例如方波信号。如果用有限带宽的抽样信号表示它,相当于傅立叶级数取了部分和,而这个部分和在恢复原始信号的时候,在不可导的点上面会有毛刺,也叫吉布斯现象。
3.为什么傅立叶想出了这么一个级数来?这个源于西方哲学和科学的基本思想:正交分析方法。例如研究一个立体形状,我们使用x,y,z三个互相正交的轴:任何一个轴在其他轴上面的投影都是0。这样的话,一个物体的3视图就可以完全表达它的形状。同理,信号怎么分解和分析呢?用互相正交的三角函数分量的无限和:这就是傅立叶的贡献。
4.离散域的抽样有什么特别吗?由于信号的幅度本身也要抽样,形成编码,因此频域上也有了相应的抽样定理,完全相似。
漫谈信号与系统入门
——第四课傅立叶变换的复数小波
说的广义一点,”复数”是一个”概念”,不是一种客观存在。
什么是”概念”?一张纸有几个面?两个,这里”面”是一个概念,一个主观对客观存在的认知,就像”大”和”小”的概念一样,只对人的意识有意义,对客观存在本身没有意义(康德:纯粹理性的批判)。把纸条的两边转一下相连接,变成”莫比乌斯圈”,这个纸条就只剩下一个”面”了。概念是对客观世界的加工,反映到意识中的东西。
数的概念是这样被推广的:什么数x使得?实数轴显然不行,(-1)*(-1)=1。那么如果存在一个抽象空间,它既包括真实世界的实数,也能包括想象出来的,那么我们称这个想象空间为”复数域”。那么实数的运算法则就是复数域的一个特例。为什么1*(-1)=-1?+ -符号在复数域里面代表方向,-1就是”向后,转!”这样的命令,一个1在圆周运动180度以后变成了-1,这里,直线的数轴和圆周旋转,在复数的空间里面被统一了。
因此,(-1)*(-1)=1可以解释为”向后转”+”向后转”=回到原地。那么复数域如何表示呢?很简单,”向左转”,”向左转”两次相当于”向后转”。由于单轴的实数域(直线)不包含这样的元素,所以复数域必须由两个正交的数轴表示—平面。很明显,我们可以得到复数域乘法的一个特性,就是结果的绝对值为两个复数绝对值相乘,旋转的角度=两个复数的旋转角度相加。高中时代我们就学习了迪莫弗定理。为什么有这样的乘法性质?不是因为复数域恰好具有这样的乘法性质(性质决定认识),而是发明复数域的人就是根据这样的需求去弄出了这么一个复数域(认识决定性质),是一种主观唯心主义的研究方法。为了构造,我们必须考虑把乘法看为两个元素构成的集合:乘积和角度旋转。
因为三角函数可以看为圆周运动的一种投影,所以,在复数域,三角函数和乘法运算(指数)被统一了。我们从实数域的傅立叶级数展开入手,立刻可以得到形式更简单的,复数域的,和实数域一一对应的傅立叶复数级数。因为复数域形式简单,所以研究起来方便----虽然自然界不存在复数,但是由于和实数域的级数一一对应,我们做个反映射就能得到有物理意义的结果。欧拉公式()是怎么证明的,有什么物理或者几何的意义吗?高等数学和数学分析用泰勒级数的办法来证明这个公式,把,和都展开,得到他们之间的一个等价关系。但是这个证明是不严格不完备的,因为(1)相等是观察的结果而不是计算的结果(2)因为泰勒公式还包含了拉格朗日余项,因此也不是严格的相等而是极限看上去式子应该相等而已。怎么证明?
我令,求导,,微分方程,对应的特征方程是,,所以方程通解是。令x=0我们得到C=1,欧拉公式得证。
这个公式有什么必然的几何意义吗?为什么看上去奇怪的竟然是单位长度的复数?我们看到,sinx’=cosx=sin(x+Pi/2),cosx’=-sinx=cos(x+Pi/2),也就是sinx/cosx都和自己的导数存在一个Pi/2的夹角,并且sinx/cosx本身夹角Pi/2,于是我们把这种一维积分的正交关系画到2维复平面上面,也就是单位向量sinx+icosx在沿着单位圆旋转的时候,向量的导数(切线方向)正好是和向量本身垂直的(Pi/2的夹角)。而符合这种夹角的复数函数只有这唯一的一个。所以从几何意义上,就是代表了单位向量cosx+isinx,唯一性的同构。
傅立叶级数每一个频率点都是cos和sin的求和,那么我可以作一个映射,映射到复数域的(cosx,isinx),那么很容易写出复数范围的傅立叶级数结果,每一个,现在变成了,和是区间积分的结果,周期T角速度w,积分函数sin(nwt)/cos(nwt),t的积分区间[0,2Pi/w],所以就是对做n圈圆周积分的结果(对曲线做矢量积分),这个积分矢量的分量,就是和的值----同频,角度正交。傅立叶级数就是由~这些系数的频率级数构成的。当T→无穷大的时候,~的频率间隔变得无穷小,傅立叶级数就变成了傅立叶变换,频率的值变成了频谱密度的值。傅立叶变换的图形画出来,就是傅立叶级数的那些常数项靠拢以后的图。再乘以做积分,就是傅立叶反变换-----其实就是说傅立叶反变换就是傅立叶级数和,反变换的被积分项就是各个频率的系数。从这个角度来看,一回事。当然,复数的展开和实数的展开之间并不相等,它们之间一一对应,频率分量的模相等,所以我们可以研究复数傅立叶级数。注意,的通项公式里面有一个’-‘号,这个是复数积分造成的(正交分解和积分两次,相当于方向变化i*i=-1)。求出来的结果包括两部分,幅度和相位----相位仍然由这样的形式表示。
变一个角度,f(nw)是傅立叶级数的通项公式,令,无限小,那么F(W)就是傅立叶变换,先把W看成常数(当中的n看为常数),积分的过程去掉了t,剩下W。然后把W看为变量,画出图形(时F(W)的1范数,也就是该频率密度上的幅度)。由于sinx和cosx包含了和,所有W的定义区间是-无穷到+无穷:所谓的负数的复频率,其实就是共轭的旋转方向而已,表示方向而不是标量意义的负数。傅立叶变换的结果是正负对称的,表示是的频率的分布情况:频谱密度。虽然正负两边相加才是完整的积分能量,当然考虑频率特性的时候可以只看+x半轴的分量。
有什么应用吗?例如求一个线性系统的0状态响应(冲击响应),以前是把h(t),Del(t)代入微分方程然后求解微分方程----求解的过程很麻烦,要用到特征方程,求通解和特解。这太麻烦了。现在有了傅立叶变换,由于微分和积分都可以变成相应的线性表达,方程两边取傅立叶变换,那么微分和积分的过程就被省去了,变成了非常简单的线性运算。例如一个LTI系统的动态方程是,两边去F变换得到((jw)^2+3jw+1)Y(jw)=F(jw),因此H(jw)=Y(jw)/F(jw)=1/((jw)^2+3jw+1),做个反变换就是h(t)了。
再如,一个RC电路,电源U(1V),电阻R,电容C,电源接通瞬间,系统的冲击响应是多少?易知,由基尔霍夫电压定律可以得到Ri+y(t)=f(t),而i=C(dy/dt),所以得到RCy’+y=f(t),两边取傅立叶变换,H(jw)=Y(jw)/F(jw)=1/RCjw+1=(1/RC)/(jw+(1/RC)),反变换得到h(t)=(1/RC)e^-(1/RC)w*u(t)。傅立叶变换把微分方程变成了常数方程来求解,这是个通用的积分变换。
还有一个问题,已知系统函数,但是输入信号是无限长的周期信号,怎么求冲击响应?傅立叶级数的复数形式,把其中的e^jnwt变成Re(H(jw)*e^jnwt)就可以了。当然傅立叶变换的限制条件使得它有局限性,因此有了推广的拉普拉斯变换。H(jw)里面包含的e^x元素,在频率域是相移,变回时域就是时移。
那么傅立叶变换,那个令人难以理解的转换公式是什么含义呢?我们可以看一下它和复数域傅立叶级数的关系。什么是微积分,就是先微分,再积分,傅立叶级数已经作了无限微分了,对应无数个离散的频率分量冲击信号的和。傅立叶变换要解决非周期信号的分析问题,想象这个非周期信号也是一个周期信号:只是周期为无穷大,各频率分量无穷小而已(否则积分的结果就是无穷)。那么我们看到傅立叶级数,每个分量常数的求解过程,积分的区间就是从T变成了正负无穷大。而由于每个频率分量的常数无穷小,那么让每个分量都去除以f,就得到有值的数----所以周期函数的傅立叶变换对应一堆脉冲函数。同理,各个频率分量之间无限的接近,因为f很小,级数中的f,2f,3f之间几乎是挨着的,最后挨到了一起,和卷积一样,这个复数频率空间的级数求和最终可以变成一个积分式:傅立叶级数变成了傅立叶变换。注意有个概念的变化:离散的频率,每个频率都有一个”权”值,而连续的F域,每个频率的加权值都是无穷小(面积=0),只有一个频率范围内的”频谱”才对应一定的能量积分。频率点变成了频谱的线。
因此傅立叶变换求出来的是一个通常是一个连续函数,是复数频率域上面的可以画出图像的东西?那个根号2Pai又是什么?它只是为了保证正变换反变换回来以后,信号不变。我们可以让正变换除以2,让反变换除以Pi,怎么都行。慢点,怎么有”负数”的部分,还是那句话,是数轴的方向对应复数轴的旋转,或者对应三角函数的相位分量,这样说就很好理解了。有什么好处?我们忽略相位,只研究”振幅”因素,就能看到实数频率域内的频率特性了。
我们从实数(三角函数分解)->复数(e和Pi)->复数变换(F)->复数反变换(F-1)->复数(取幅度分量)->实数,看起来很复杂,但是这个工具使得,单从实数域无法解决的频率分析问题,变得可以解决了。两者之间的关系是:傅立叶级数中的频率幅度分量是a1-an,b1-bn,这些离散的数表示频率特性,每个数都是积分的结果。而傅立叶变换的结果是一个连续函数:对于f域每个取值点a1-aN(N=无穷),它的值都是原始的时域函数和一个三角函数(表示成了复数)积分的结果----这个求解和级数的表示形式是一样的。不过是把N个离散的积分式子统一为了一个通用的,连续的积分式子。
复频域,大家都说画不出来,但是我来画一下!因为不是一个图能够表示清楚的。我用纯中文来说:
1.画一个x,y轴组成的平面,以原点为中心画一个圆(r=1)。再画一条竖直线:(直线方程x=2),把它看成是一块挡板。
2.想象,有一个原子,从(1,0)点出发,沿着这个圆作逆时针匀速圆周运动。想象太阳光从x轴的复数方向射向x轴的正数方向,那么这个原子运动在挡板(x=2)上面的投影,就是一个简协震动。
3.再修改一下,x=2对应的不是一个挡板,而是一个打印机的出纸口,那么,原子运动的过程就在白纸上画下了一条连续的sin(t)曲线!
上面3条说明了什么呢?三角函数和圆周运动是一一对应的。如果我想要sin(t+x),或者cos(t)这种形式,我只需要让原子的起始位置改变一下就可以了:也就是级坐标的向量,半径不变,相位改变。
傅立叶级数的实数展开形式,每一个频率分量都表示为AnCos(nt)+BnSin(nt),我们可以证明,这个式子可以变成sqr(An^2+Bn^2)sin(nt+x)这样的单个三角函数形式,那么:实数值对(An,Bn),就对应了二维平面上面的一个点,相位x对应这个点的相位。实数和复数之间的一一对应关系便建立起来了,因此实数频率唯一对应某个复数频率,我们就可以用复数来方便的研究实数的运算:把三角运算变成指数和乘法加法运算。t的直线被映射成了e^jwt的圆周。复数的解析函数具有一个非常好的特性:映射的保角和保行,如右边两图所示,所以t域的特性可以放到F域讨论。
但是,F变换仍然是有限制的(输入函数的表示必须满足狄义赫立条件等),为了更广泛的使用”域”变换的思想来表示一种”广义”的频率信息,我们就发明出了拉普拉斯变换,它的连续形式对应F变换,离散形式就成了Z变换。离散信号呢?离散周期函数的F级数,项数有限,离散非周期函数(看为周期延拓以后仍然是离散周期函数),离散F级数,仍然项数有限。离散的F变换,很容易理解----连续信号通过一个周期采样滤波器,也就是频率域和一堆脉冲相乘。时域取样对应频域周期延拓。为什么?反过来容易理解了,时域的周期延拓对应频率域的一堆脉冲。
两者的区别:FT[f(t)]=从负无穷到正无穷对[f(t)exp(-jwt)]积分LT[f(t)]=从零到正无穷对[f(t)exp(-st)]积分(由于实际应用,通常只做单边Laplace变换,即积分从零开始)具体地,在Fourier积分变换中,所乘因子为exp(-jwt),此处,-jwt显然是为一纯虚数;而在laplace变换中,所乘因子为exp(-st),其中s为一复数:s=D+jw,jw是为虚部,相当于Fourier变换中的jwt,而D则是实部,作为衰减因子,这样就能将许多无法作Fourier变换的函数(比如exp(at),a>0)做域变换。既然傅立叶变换有限制条件的约束,于是拉普拉斯大笔一挥:把那个限制给条件干掉不就无敌了么。如果一个因果函数f(X)(x>0)不可积,那么,给它一个想象的阻尼,变成f(X)*e^(-dx)衰减,这回总是可积的了。同时,e^(-dx)是个实函数,没有虚部,放在复平面上也就是没有旋转的频率,所有得到的复频率性质不会改变。于是原函数,相函数便构成了一对拉普拉斯变换。这一点简直体现了拉普拉斯这位法国人的政治才能,灵活,多变。
对于f(X)有x<0的部分呢?也很简单,改变一下阻尼的写法,仍然让它可积就行了----总之,不会改变频率的信息。当然,反过来,逆拉式变换对于非因果的输入,可能有超过一种解。这只是数学的讨论,应用的时候,我们只考虑单边拉式变换就行了。作为特殊考虑,d=0的情形,就是傅立叶变换,拉式变换复平面的虚轴----虚轴代表频率信息,d的存在只是移动了实轴的交点,也就是幅度和能量收敛。
一个集总参数电路,不是线性的,怎么解?线性的微分/积分方程列出来,两边同取拉式变换,方程的形式不会改变,也就是把电路元件都可以等效成拉式变化后的拉式电路元件,现在就可以用一元方程组来求解了。拉式变换就是一个积分变换的工具,可以用于解方程,可以用于求解电路,可以用于信号的频率分析,等等。所谓的频率,不是客观的存在,只是一种线性时不变的数学属性。那些0点极点的分析,来自复变函数,留数定理。
(1)瞬态响应和稳态响应:系统接收一个输入,如果全响应是f(t),那么t=0时是瞬态响应,t=无穷是稳态响应
(2)把系统全响应的微分方程列出来,其次通解是自然响应,特解是受迫响应。
(3)0输入响应:系统没有输入,从初始状态来的响应。0状态响应:没有状态只有一个输入时的响应。自然响应包括0输入响应和一部分0状态响应。
而Z变换,简单地说,就是离散信号(也可以叫做序列)的Laplace变换,可由抽样信号的Laplace变换导出。ZT[f(n)]=从n为负无穷到正无穷对[f(n)Z^(-n)]求和。Z域的物理意义:由于值被离散了,所以输入输出的过程和花费的物理时间已经没有了必然的关系(t只对连续信号有意义),所以频域的考察变得及其简单起来,我们把(1,-1,1,-1,1,-1)这样的基本序列看成是数字频率最高的序列,他的数字频率是1Hz(数字角频率2Pi),其他的数字序列频率都是N分之1Hz,频率分解的结果就是0-2Pi角频率当中的若干个值的集合,也是一堆离散的数。由于时频都是离散的,所以在做变换的时候,不需要写出冲击函数的因子
离散傅立叶变换到快速傅立叶变换----由于离散傅立叶变换的次数是O(N^2),于是我们考虑把离散序列分解成两两一组进行离散傅立叶变换,变换的计算复杂度就下降到了O(NlogN),再把计算的结果累加O(N),这就大大降低了计算复杂度。
再说一个高级话题:小波。在实际的工程应用中,前面所说的这些变换大部分都已经被小波变换代替了。
什么是小波?先说什么是波:傅立叶级数里面的分量,sin/cos函数就是波,sin(t)/cos(t)经过幅度的放缩和频率的收紧,变成了一系列的波的求和,一致收敛于原始函数。注意傅立叶级数求和的收敛性是对于整个数轴而言的,严格的。不过前面我们说了,实际应用FFT的时候,我们只需要关注部分信号的傅立叶变换然后求出一个整体和就可以了,那么对于函数的部分分量,我们只需要保证这个用来充当砖块的”波函数”,在某个区间(用窗函数来滤波)内符合那几个可积分和收敛的定义就可以了,因此傅立叶变换的”波”因子,就可以不使用三角函数,而是使用一系列从某些基本函数构造出来的函数族,只要这个基本函数符合那些收敛和正交的条件就可以了。怎么构造这样的基本函数呢?sin(t)被加了方形窗以后,映射到频域是一堆无穷的散列脉冲,所以不能再用三角函数了。我们要得到频率域收敛性好的函数族,能覆盖频率域的低端部分。说的远一点,如果是取数字信号的小波变换,那么基础小波要保证数字角频率是最大的2Pi。利用小波进行离频谱分析的方法,不是像傅立叶级数那样求出所有的频率分量,也不是向傅立叶变换那样看频谱特性,而是做某种滤波,看看在某种数字角频率的波峰值大概是多少。可以根据实际需要得到如干个数字序列。
我们采用(0,f),(f,2f),(2f,4f)这样的倍频关系来考察函数族的频率特性,那么对应的时间波形就是倍数扩展(且包含调制---所以才有频谱搬移)的一系列函数族。频域是窗函数的基本函数,时域就是钟形函数。当然其他类型的小波,虽然频率域不是窗函数,但是仍然可用:因为小波积分求出来的变换,是一个值,例如(0,f)里包含的总能量值,(f,2f)里面包含的总能量值。所以即使频域的分割不是用长方形而是其他的图形,对于结果来说影响不大。同时,这个频率域的值,它的分辨率密度和时域小波基函数的时间分辨率是冲突的(时域紧频域宽,时域宽频域紧),所以设计的时候受到海森堡测不准原理的制约。Jpeg2000压缩就是小波:因为时频都是局部的,变换结果是数值点而不是向量,所以,计算复杂度从FFT的O(NlgN)下降到了O(N),性能非常好。
用中文说了这么多,基本的思想已经表达清楚了,为了”研究方便”,从实数傅立叶级数展开,到创造了复数域的傅立叶级数展开,再到傅立叶变换,再扩展到拉式变换,再为了时频都离散的情况简化为Z变换,全部都用一根主线联系起来了。
漫谈信号与系统入门
——第五课傅立叶变换的几何解释
显然,欧拉公式f(t)=e^it=cos(t)+isin(t)是个难以理解的东西。不借助代数的泰勒公式,有没有几何解释?有,<<VisualComplexAnalysis>>上面就有(http://download.csdn.net/source/1536209)。令t=0代表时间,我们有f(0)=e^it=1,然后f’(t)=i*f(t),什么含义呢?就是无论何时,这个以时间为参数的函数,它的运动速度轨迹都是和位置垂直的。由于|V|=|R|=1,要绕完一个单位圆,需要的时间就是2Pi。于是t取0-2Pi的时间之内,当我们经过了角度Theta的时候,花费的时间也恰好是Theta(t),于是写成了位置参量就是e^iT=cosT+i*sinT。如下图所示
换个角度,能否解释特勒展开欧拉公式的数学意义?可以,我们从三角函数的特性来看,Cos’=-Sin,Sin’=Cos,因此|df/dT|’=(C^2+S^2)’=2(CC’+SS’)=0,说明什么呢?矢量长度的2次导数=0,也就是矢量的长度是定值,它的模恒等于e^0=1。一个应用就是如果要计算CosNT,SinNT这样的命题,就通过欧拉公式两边展开来计算。复数用于几何证明的例子这里就不多说了。
傅立叶级数首先可以推到复数形式。因为复数包含实数,所以从实数到复数的映射是唯一的。
实数的三角函数表示相位叠加要用两个量,cos(nw)+sin(nw),看起来太麻烦,三角函数也难以计算,写成复数只需要一个量,e^jnw,正交分解的结果就是cos和sin----把复数形式的傅立叶级数分解为实部和虚部,再相加就是实数范围内的傅立叶级数。
实数域的频率是一些列三角函数序列,紧窄不同而已,从低频逐渐收紧。复数域的分解是一系列的向量,投影向量(e^jnw)旋转角度成某种比例。由于e^jnw沿着圆周的路径积分总是0,投影向量的矢量相乘仍然是e^jnw的形式,所以e^jnw是[0,2Pi]范围内的一组积分正交基(连续的,基于积分的正交基,满足周期之内积分=0的性质,概念上和离散的正交基不同)。
怎么理解傅立叶变换的逻辑意义?为什么积分式里面是自己,再积分又回来了?举个例子,我=我的上身+我的下身=我的头+我的鼻子+手+脚=......无限的分解,就是傅立叶级数----级数当中的每个项都是自己的一部分的性质,每个项的系数,化成图形,当分解到无穷的时候连起来就是傅立叶变换,也就是傅立叶变换代表了傅立叶级数的所有常数项,只是因为频率间隔无穷小,离散的图形变成了连续的图形。那么反变换就相当于频率分量的系数*频率分量本身,再做的累加和,所以就得到了原函数。
我=我的正交分解的所有量相加(积分),其中我的正交分解的每一项等于我在某个正交基投影。线性代数当中的函数向量点乘,成了连续函数的时候就是函数乘积的积分。这里用线性代数的概念推导到连续的高等数学的概念,向量乘法对应了函数积分,它们互相等价。把积分看成累加,就仍然是一个傅立叶级数展开的形式。由于级数展开的频率w是从0->无穷,所以换到积分里面的话就是积分限制从0->无穷。离散的频率间隔n变成了连续的频谱分布x,对x积分的结果是一个w的函数:F(w)=S(f(t)e^jwt)dt。
这个F(w)有什么几何意义吗?显然,傅立叶变换的积分式是一个沿着|z|=1单位圆的,对于f(t)e^(jwt)的圆周积分。很显然,如果f(t)是个常数(支流电平),那么这个积分就是0,说明频率=0。S(f(t)e^jwt)dt,把w看成常数,这个复平面的实轴是t!那么这个积分就是对弧长arc(t)的圆周曲线积分。对于每一个w点,都会有一个积分的值F,再把w看成变量,把无穷个值对(w,F)画出来就是F(w)的形状。
因此,傅立叶变换的几何物理意义就是f(t)某个w点做一圈乘积旋转(对e^jwt做积分就是正交分解),得到多大的w分量当然,因为正交分量是数量是无穷多,每个分量的投影无穷小,所以把复数域的w投影的”分布密度”画出来(密度当然是实数不是虚数了)就是这个傅立叶变换的图案了,复频域就是连续的实频域!!!引申的,为了保证可积性,拉普拉斯引入了一个衰减因子,然后就能得到拉氏变换/反变换了。如果不可积,那么不可导点的s域复频率可以由复变函数的留数定理得到,理论上完整了。在复变函数的域内,所有的线性问题都可以被映射成为圆周问题。
结论1.由傅立叶变换和拉普拉斯变换的性质,我们可以得到纯微分方程的求解方法。由e^iw表示的复数,导数等于自己乘以一个常数,两边消元了就是某种微分方程----可以用来解决高频震荡电路的问题。那么离散的差分方程呢?其实就是s变换的简化形势,复数的辐角取了正负Pi,放在实数轴上考虑,F/S变换的时间移动特性变成了差分的特性,z域的所有性质都可以从F/S域经过简单的推导得到。
结论2.画一个图来表示傅立叶变换的积分过程。这个复数积分是一个在单位圆上面旋转的矢量积分。左图是一个常数作F变换,可以看到矢量积分=0,也就是常数信号的复频率=0。右图是sin信号对于一个周期内的积分,可以靠到积分是一个实部为0的纯虚数,所以虚部=(e^jw-e^(-jw))/2i,所以复频率正负1。图虽然粗糙但是能说明问题。复数形式的正确性在于,实数积分的cos和sin相互正交,那么(cos+sin)和(cos-sin)之间也构成相互正交的关系。复数形式的傅立叶级数的求和范围是exp的负无穷(cos[w]-sin[w])=(cos[-w]+sin[-w])到正无穷(cos[w]+sin[w])。