信号与系统.docx
信号与系统第一课什么是卷积卷积有什么用什么是傅利叶变换什么是拉普拉斯变换引子很多朋友以及我一样工科电子类专业学了一堆信号方面的课什么都没学懂背了公式考了试然后毕业了。先讲卷积有什么用这个问题。(有人抢答卷积是为了学习信号与系统这门课的后续章节而存在的。我大吼一声把他拖出去枪毙)讲一个故事:张三刚刚应聘到了一个电子产品公司做测试人员他没有学过信号与系统这门课程。一天他拿到了一个产品开发人员告诉他产品有一个输入端有一个输出端有限的输入信号只会产生有限的输出。然后经理让张三测试当输入sin(t)(t1秒)信号的时候(有信号发生器)该产品输出什么样的波形。张三照做了花了一个波形图。很好经理讲。然后经理给了张三一叠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.F变换得到的结果有负数/复数局部有什么物理意义吗?解释:F变换是个数学工具不具有直接的物理意义负数/复数的存在只是为了计算的完好性。3.信号与系统这们课的根本主旨是什么?对于通信以及电子类的学生来讲很多情况下我们的工作是设计或OSI七层模型当中的物理层技术这种技术的复杂性首先在于你必须确立传输介质的电气特性通常不同传输介质对于不同频率段的信号有不同的处理才能。以太网线处理基带信号广域网光线传出高频调制信号挪动通信2G以及3G分别需要有不同的载频特性。那么这些介质(空气电线光纤等)对于某种频率的输入是否可以在传输了一定的间隔之后得到根本不变的输入呢?那么我们就要建立介质的频率相应数学模型。同时知道了介质的频率特性怎样设计在它上面传输的信号才能大到理论上的最大传输速率?-这就是信号与系统这们课带着我们进入的一个世界。当然信号与系统的应用不止这些以及香农的信息理论挂钩它还可以用于信息处理(声音图像)形式识别智能控制等领域。假如讲计算机专业的课程是数据表达的逻辑模型那么信号与系统建立的就是更底层的代表了某种物理意义的数学模型。数据构造的知识能解决逻辑信息的编码以及纠错而信号的知识能帮我们设计出码流的物理载体(假如承受到的信号波形是混乱的那我根据什么来判断这个是1还是0?逻辑上的纠错就失去了意义)。在工业控制领域计算机的应用前提是各种数模转换那么各种物理现象产生的连续模拟信号(温度电阻大小压力速度等)怎样被一个特定设备转换为有意义的数字信号首先我们就要设计一个可用的数学转换模型。4.怎样设计系统?设计物理上的系统函数(连续的或者离散的状态)有输入有输出而中间的处理经过以及详细的物理实现相关不是这们课关心的重点(电子电路设计?)。信号与系统归根到底就是为了特定的需求来设计一个系统函数。设计出系统函数的前提是把输入以及输出都用函数来表示(例如sin(t)。分析的方法就是把一个复杂的信号分解为假设干个简单的信号累加详细的经过就是一大堆微积分的东西详细的数学运算不是这门课的中心思想。那么系统有那些种类呢?(a)按功能分类:调制解调(信号抽样以及重构)叠加滤波功放相位调整信号时钟同步负反应锁相环和假设干子系统组成的一个更为复杂的系统-你可以画出系统流程图是不是很接近编写程序的逻辑流程图?确实在符号的空间里它们没有区别。还有就是离散状态的数字信号处理(后续课程)。(b)按系统类别划分无状态系统有限状态机线性系统等。而物理层的连续系统函数是一种复杂的线性系统。5.最好的教材?符号系统的核心是集合论不是微积分没有集合论构造出来的系统实现用到的微积分便毫无意义-你甚至不知道运算了半天到底是要作什么。以计算机的观点来学习信号与系统最好的教材之一就是是UCBerkeley的EdwardA.LeeandPravinVaraiya-先定义再实现符合人类的思维习惯。国内的教材通篇都是数学推导就是不肯讲这些推导是为了什么目的来做的用来得到什么建立什么防止什么不去从认识论以及需求上讨论通篇都是看不出目的的方法论本末倒置了。第三课抽样定理是干什么的1.举个例子打的时候机发出的信号是PAM脉冲调幅在线路上传的不是话音而是话音通过信道编码转换后的脉冲序列在收端恢复语音波形。那么对于连续的讲话人语音信号怎样转化成为一些列脉冲才能保证根本不失真可以传输呢?很明显我们想到的就是取样每隔M毫秒对话音采样一次看看电信号振幅把振幅转换为脉冲编码传输出去在收端按某种规那么重新生成语言。那么问题来了每M毫秒采样一次M多小是足够的?在收端怎么才能恢复语言波形呢?对于第一个问题我们考虑语音信号是个时间频率信号(所以对应的F变换就表示时间频率)把语音信号分解为假设干个不同频率的单音混合体(周期函数的复利叶级数展开非周期的区间函数可以看成补齐以后的周期信号展开效果一样)对于最高频率的信号分量假如抽样方式能否保证恢复这个分量那么其他的低频率分量也就能通过抽样的方式使得信息得以保存。假如人的声音高频限制在3000Hz那么高频分量我们看成sin(3000t)这个sin函数要通过抽样保存信息可以看为:对于一个周期波峰采样一次波谷采样一次也就是采样频率是最高频率分量的2倍(奈奎斯特抽样定理)我们就可以通过采样信号无损的表示原始的模拟连续信号。这两个信号一一对应相互等价。对于第二个问题在收端怎么从脉冲序列(梳装波形)恢复模拟的连续信号呢?首先我们已经肯定了在频率域上面的脉冲序列已经包含了全部信息但是原始信息只在某一个频率以下存在怎么做?我们让输入脉冲信号I通过一个设备X输出信号为原始的语音O那么I(*)XO这里(*)表示卷积。时域的特性不好分析那么在频率域F(I)*F(X)F(O)相乘关系这下就很明显了只要F(X)是一个理想的低通滤波器就可以了(在F域画出来就是一个方框)它在时间域是一个钟型函数(由于包含时间轴的负数局部所以实际中不存在)做出这样的一个信号处理设备我们就可以通过输入的脉冲序列得到几乎理想的原始的语音。在实际应用中我们的抽样频率通常是奈奎斯特频率再多一点3k赫兹的语音信号抽样标准是8k赫兹。2.再举一个例子对于数字图像抽样定理对应于图片的分辨率-抽样密度越大图片的分辨率越高也就越明晰。假如我们的抽样频率不够信息就会发生混叠-网上有一幅图片近视眼戴眼镜看到的是爱因斯坦摘掉眼睛看到的是梦露-因为不带眼睛分辨率不够(抽样频率太低)高频分量失真被混入了低频分量才造成了一个视觉陷阱。在这里图像的F变化对应的是空间频率。话讲回来了直接在信道上传原始语音信号不好吗?模拟信号没有抗干扰才能没有纠错才能抽样得到的信号有了数字特性传输性能更佳。什么信号不能理想抽样?时域有跳变频域无穷宽例如方波信号。假如用有限带宽的抽样信号表示它相当于复利叶级数取了局部以及而这个局部以及在恢复原始信号的时候在不可导的点上面会有毛刺也叫吉布斯现象。3.为什么傅立叶想出了这么一个级数来?这个源于西方哲学以及科学的根本思想:正交分析方法。例如研究一个立体形状我们使用x,y,z三个相互正交的轴:任何一个轴在其他轴上面的投影都是0。这样的话一个物体的3视图就可以完全表达它的形状。同理信号怎么分解以及分析呢?用相互正交的三角函数分量的无限以及这就是傅立叶的奉献。入门第四课傅立叶变换的复数小波讲的广义一点复数是一个概念不是一种客观存在。什么是概念?一张纸有几个面?两个这里面是一个概念一个主观对客观存在的认知就像大以及小的概念一样只对人的意识有意义对客观存在本身没有意义(康德:纯粹理性的批判)。把纸条的两边转一下相连接变成莫比乌斯圈这个纸条就只剩下一个面了。概念是对客观世界的加工反映到意识中的东西。数的概念是这样被推广的:什么数x使得x2-1?实数轴显然不行(-1)*(-1)1。那么假如存在一个抽象空间它既包括真实世界的实数也能包括想象出来的x2-1那么我们称这个想象空间为复数域。那么实数的运算法那么就是复数域的一个特例。为什么1*(-1)-1?-符号在复数域里面代表方向-1就是向后转!这样的命令一个1在圆周运动180度以后变成了-1这里直线的数轴以及圆周旋转在复数的空间里面被统一了。因此(-1)*(-1)1可以解释为向后转向后转回到原地。那么复数域怎样表示x2-1呢?很简单向左转向左转两次相当于向后转。由于单轴的实数域(直线)不包含这样的元素所以复数域必须由两个正交的数轴表示-平面。很明显我们可以得到复数域乘法的一个特性就是结果的绝对值为两个复数绝对值相乘旋转的角度两个复数的旋转角度相加。高中时代我们就学习了迪莫弗定理。为什么有这样的乘法性质?不是因为复数域恰好具有这样的乘法性质(性质决定认识)而是创造复数域的人就是根据这样的需求去弄出了这么一个复数域(认识决定性质)是一种主观唯心主义的研究方法。为了构造x2-1我们必须考虑把乘法看为两个元素构成的集合:乘积以及角度旋转。因为三角函数可以看为圆周运动的一种投影所以在复数域三角函数以及乘法运算(指数)被统一了。我们从实数域的傅立叶级数展开入手立即可以得到形式更简单的复数域的以及实数域一一对应的傅立叶复数级数。因为复数域形式简单所以研究起来方便-固然自然界不存在复数但是由于以及实数域的级数一一对应我们做个反映射就能得到有物理意义的结果。那么傅立叶变换那个令人难以理解的转换公式是什么含义呢?我们可以看一下它以及复数域傅立叶级数的关系。什么是微积分就是先微分再积分傅立叶级数已经作了无限微分了对应无数个离散的频率分量冲击信号的以及。傅立叶变换要解决非周期信号的分析问题想象这个非周期信号也是一个周期信号:只是周期为无穷大各频率分量无穷小而已(否那么积分的结果就是无穷)。那么我们看到傅立叶级数每个分量常数的求解经过积分的区间就是从T变成了正负无穷大。而由于每个频率分量的常数无穷小那么让每个分量都去除以f就得到有值的数-所以周期函数的傅立叶变换对应一堆脉冲函数。同理各个频率分量之间无限的接近因为f很小级数中的f2f3f之间几乎是挨着的最后挨到了一起以及卷积一样这个复数频率空间的级数求以及最终可以变成一个积分式傅立叶级数变成了傅立叶变换。注意有个概念的变化离散的频率每个频率都有一个权值而连续的F域每个频率的加权值都是无穷小(面积0)只有一个频率范围内的频谱才对应一定的能量积分。频率点变成了频谱的线。因此傅立叶变换求出来的是一个通常是一个连续函数是复数频率域上面的可以画出图像的东西?那个根号2Pai又是什么?它只是为了保证正变换反变换回来以后信号不变。我们可以让正变换除以2让反变换除以Pi怎么都行。慢点怎么有负数的局部还是那句话是数轴的方向对应复数轴的旋转或对应三角函数的相位分量这样讲就很好理解了。有什么好处?我们忽略相位只研究振幅因素就能看到实数频率域内的频率特性了。我们从实数(三角函数分解)-复数(e以及Pi)-复数变换(F)-复数反变换(F-1)-复数(取幅度分量)-实数看起来很复杂但是这个工具使得单从实数域无法解决的频率分析问题变得可以解决了。两者之间的关系是:傅立叶级数中的频率幅度分量是a1-an,b1-bn这些离散的数表示频率特性每个数都是积分的结果。而傅立叶变换的结果是一个连续函数:对于f域每个取值点a1-aN(N无穷)它的值都是原始的时域函数以及一个三角函数(表示成了复数)积分的结果-这个求解以及级数的表示形式是一样的。不过是把N个离散的积分式子统一为了一个通用的连续的积分式子。复频域大众都讲画不出来但是我来画一下因为不是一个图可以表示清楚的。我用纯中文来讲:1.画一个x,y轴组成的平面以原点为中心画一个圆(r1)。再画一条竖直线:(直线方程x2)把它看成是一块挡板。2.想象有一个原子从(1,0)点出发沿着这个圆作逆时针匀速圆周运动。想象太阳光从x轴的复数方向射向x轴的正数方向那么这个原子运动在挡板(x2)上面的投影就是一个简协震动。3.再修改一下x2对应的不是一个挡板而是一个打印机的出纸口那么原子运动的经过就在白纸上画下了一条连续的sin(t)曲线!上面3条讲明了什么呢?三角函数以及圆周运动是一一对应的。假如我想要sin(tx)或cos(t)这种形式我只需要让原子的起始位置改变一下就可以了也就是级坐标的向量半径不变相位改变。傅立叶级数的实数展开形式每一个频率分量都表示为AnCos(nt)BnSin(nt)我们可以证明这个式子可以变成sqr(An2Bn2)sin(ntx)这样的单个三角函数形式那么实数值对(An,Bn)就对应了二维平面上面的一个点相位x对应这个点的相位。实数以及复数之间的一一对应关系便建立起来了因此实数频率唯一对应某个复数频率我们就可以用复数来方便的研究实数的运算把三角运算变成指数以及乘法加法运算。-但是F变换仍然是有限制的(输入函数的表示必须知足狄义赫立条件等)为了更广泛的使用域变换的思想来表示一种广义的频率信息我们就创造出了拉普拉斯变换它的连续形式对应F变换离散形式就成了Z变换。离散信号呢?离散周期函数的F级数项数有限离散非周期函数(看为周期延拓以后仍然是离散周期函数)离散F级数仍然项数有限。离散的F变换很容易理解-连续信号通过一个周期采样滤波器也就是频率域以及一堆脉冲相乘。时域取样对应频域周期延拓。为什么?反过来容易理解了时域的周期延拓对应频率域的一堆脉冲。两者的区别FT从负无穷到正无穷对积分LT从零到正无穷对积分(由于实际应用通常只做单边Laplace变换即积分从零开场)详细地在Fourier积分变换中所乘因子为exp(-jwt)此处-jwt显然是为一纯虚数而在laplace变换中所乘因子为exp(-st)其中s为一复数sDjw,jw是为虚部相当于Fourier变换中的jwt而D那么是实部作为衰减因子这样就能将许多无法作Fourier变换的函数比方exp(at),a0做域变换。而Z变换简单地讲就是离散信号(可以以叫做序列)的Laplace变换可由抽样信号的Laplace变换导出。ZT从n为负无穷到正无穷对求以及。Z域的物理意义:由于值被离散了所以输入输出的经过以及花费的物理时间已经没有了必然的关系(t只对连续信号有意义)所以频域的考察变得及其简单起来我们把(1,-1,1,-1,1,-1)这样的根本序列看成是数字频率最高的序列他的数字频率是1Hz(数字角频率2Pi)其他的数字序列频率都是N分之1Hz频率分解的结果就是0-2Pi角频率当中的假设干个值的集合也是一堆离散的数。由于时频都是离散的所以在做变换的时候不需要写出冲击函数的因子离散傅立叶变换到快速傅立叶变换-由于离散傅立叶变换的次数是O(N2)于是我们考虑把离散序列分解成两两一组进展离散傅立叶变换变换的计算复杂度就下降到了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)性能非常好MetalSeed