欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    MATLAB辅助现代工程数字信号处理 第二版 作者 李益华 第15章 第1章.ppt

    • 资源ID:2250429       资源大小:1.31MB        全文页数:108页
    • 资源格式: PPT        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    MATLAB辅助现代工程数字信号处理 第二版 作者 李益华 第15章 第1章.ppt

    第1章 数字信号处理与离散时间系统,1.1 数字信号处理概述1.2 信号与系统1.3 离散时间信号1.4 离散时间系统1.5 小结,在线教务辅导网:http:/,教材其余课件及动画素材请查阅在线教务辅导网,QQ:349134187 或者直接输入下面地址:,http:/,1.1 数字信号处理概述目前,以DSP芯片为核心的数字信号处理开发设备已广泛应用于工程技术领域。所涉及的信号包括电、磁、机械、热、声、光等各个方面。随着大规模集成电路和数字计算机的飞速发展,以及数字信号处理理论和技术的成熟与完善,数字信号处理已成为一门极其重要的学科。,1.1.1 数字信号处理的理论基础在较强背景噪声下,如何提取出真正的信号或信号特征,并将其应用于实际工程是信号处理理论要完成的主要任务。数字信号处理在理论上所涉及的范围极广。数学领域中的微积分、概率统计、随机过程、高等代数、数值分析、复变函数等是其基本分析工具;网络理论、信号与系统等是其理论基础;最优控制、通信理论、故障诊断等也与其紧密相连。在近40年的发展中,数字信号处理已基本形成了一套较完整的理论体系,主要包括信号的采集(A/D转换、采样定理、多抽样率等)、离散信号的分析(时频分析、信号变换等)、离散系统分析及其算法(系统转移函数、频率特性、快速傅里叶变换、快速卷积等)、信号的估值(各种估值理论、相关函数与功率谱估计等)、数字滤波技术(各种数字滤波器的设计与实现)、信号的建模(AR、MA、ARMA、PRONY等模型)、信号处理中的特殊算法(抽取、插值、反卷积、信号重建等)、信号处理技术的实现与应用(软硬件系统的整体实现)。,伴随着通信技术、电子技术及计算机的飞速发展,数字信号处理的理论也在不断地发展和完善,各种新算法、新理论层出不穷。平稳信号的高阶统计量分析、非平稳信号的联合时域分析、信号的多抽样率分析、小波变换及独立分量分析等信号理论取得了较大的发展。,1.1.2 数字信号处理的实现数字信号处理的实现是指将信号处理的理论应用于某一具体的实践任务中。对象不同,实现的途径也不相同,总体说来,数字信号处理的实现可分为软件实现和硬件实现两大类。软件实现主要是指在通用计算机上用软件来实现信号处理的过程。目前,有关信号处理最强大的软件工具是MATLAB语言及相应的工具箱。本书涉及的工程数字信号处理的相关理论与具体实际应用,均以MATLAB为辅助软件来实现信号处理的仿真过程。硬件实现主要是指采用通用微处理器或数字信号处理器DSP芯片,配置适当的外围IC,配合相应的处理程序构成的数字信号处理系统。DSP芯片可分为通用的可编程DSP芯片和专用的DSP芯片。,具体有以下几种实现方式:(1)在大、中、小型计算机上运行相应的数字信号处理软件来实现。如图像压缩和解压缩软件等。软件实现的执行速度较慢,因此,软件实现一般仅用于DSP算法的模拟与仿真。(2)在通用计算机系统中加上专用的加速处理机来实现。此方法专用性强,但不便于系统的独立运行。(3)在通用的单片机(如MCS-51系列、MSC-96系列等)上实现。这种方法主要用于数字控制等领域。设计中可根据不同环境选配不同的单片机类型,以达到实时控制的目的,但该法数据运算量不能太大,只适用于实现简单的DSP算法。,(4)利用通用的可编程DSP芯片来实现。DSP芯片较之单片机,具有更加适合于数字信号处理的软件和硬件资源,可用于复杂的数字信号处理算法。通用DSP芯片内部带有乘法器、累加器,采用流水线工作方式及并行结构、多总线结构,执行速度快,适用于信号处理的指令等。(5)采用专用的DSP芯片来实现。在一些特殊场合,当要求信号处理速度极高时,通用DSP芯片很难实现要求的功能,须采用专用的DSP芯片。例如专用于FFT、数字滤波、卷积、相关等算法的DSP芯片。这种芯片将相应的信号处理算法在芯片内部用硬件实现,使用者只需给出输入数据,即可在输出端直接得到数据,无需进行编程。,1.1.3 数字信号处理的应用数字信号处理是一门涉及多学科的新兴学科,在语音、雷达、声纳、地震、图像、通信系统、系统控制、生物医学工程、机械振动、遥感遥测、地质勘探、航空航天、电力系统、故障检测、自动化仪器等众多领域获得了极其广泛的应用。数字信号处理有效地推动了众多工程技术领域的技术改造和学科发展。近年来,随着多媒体的发展,DSP芯片已在家电、电话、磁盘机等设备中广泛应用。数字信号处理的典型应用如表1.1所示。,1.2 信 号 与 系 统信号是信息的载体,是信息的物理表现形式,是信息的函数。信号是随着时间、空间或其他自变量变化的物理量。通常把一个信号描述为一个或几个自变量的函数。例如,函数S(x,y)5x4xy20y2(1.1)描述了含两个自变量x和y的信号,是一种确定性信号。然而,很多情况下,这种函数关系是未知的,比如语音信号等自然信号。,信号根据其不同的特征属性,有很多种分类方法。按信号的周期性可分为周期信号和非周期信号;按信号是否能被确定规则所唯一描述,可分为确定性信号和随机信号;按信号时间自变量的特征和取值,可分为连续时间信号和离散时间信号。系统定义为对某个信号执行某种操作的一台物理设备。譬如,用于降低有用信息载体信号噪声和干扰的滤波器,就是一个系统。滤波器通过执行相应操作有效地滤去信号中的噪声和干扰。操作就是信号处理。操作的执行过程就是对信号的处理过程。在操作过程中,如果是线性操作,系统就是线性的;如果是非线性操作,系统就是非线性的。,系统不仅包括物理设备,还包括对信号操作的软件实现。对于计算机处理系统来说,程序就是软件实现。信号处理主要针对的是数字信号,而模拟信号一般可以转换成所需处理的数字信号。因此,本书主要论述的是数字系统。从广义上讲,一个数字系统是一个硬件和软件结合的实现,每一部分都执行自身的一套特定操作。系统是可以被描述的。连续系统可用常系数微分方程、傅里叶变换、拉普拉斯变换描述;离散系统可用差分方程、离散傅里叶变换、Z变换描述。数字系统所执行的操作通常可以由数学方式来表达,执行相应数学操作的方法或规则集称为算法。,1.2.1 连续时间信号和离散时间信号连续时间信号在给定时间区域内,对于任意时刻都对应一个确定的函数值。时间域可以是有限或是无限。常见的连续时间信号主要有指数信号、正弦信号、单位阶跃信号、单位斜坡信号、正负号信号、脉冲信号、sinc信号及复指数信号。离散时间信号定义在某些特定的时间值上,只是在某些离散的瞬时时间点给出函数值,其他点无定义。这些时间点不需要是等间隔的,但为计算方便和易于处理,通常取为等时间间隔。如果使用离散时间的序号n作为自变量,那么信号值就会变成整型变量的函数,这样,一个离散时间信号就可以用一系列实数或复数来表示。为强调信号的离散时间特性,通常用序列x(n)来表示这种信号。若信号等间隔,则可用x(nT)表示,T为采样周期。,在MATLAB中,可用一个列向量来表示一个有限长度序列x(n)。由于计算机内存有限,故无法表示任意无限序列。另外,由于列向量没有包含采样时刻的信息,因此要完整地表示序列x(n),需要用n和x两个向量来表示,前者表示序列元素的位置,后者表示相应的序列值。例如序列x(n)=3,1,4,6,5,8,9,2在MATLAB中可表示为n=1,0,1,2,3,4,5,6x=3,1,4,6,5,8,9,2,1.2.2 确定性信号与随机信号任何一个可以被一个显式数学表达式、一个数据表或者一个定义好的规则所唯一描述的信号,都称为确定性信号。确定性信号的每个值都可以用有限个参量唯一地加以描述。然而,在很多实际应用中,有些信号不能被数学公式显式表达到一个合理的精度,或者是描述得太过复杂以至于没有任何实际用处。这种不能用有限参量来唯一、确定地加以描述,也无法对其未来值确定地预测的信号,称为随机信号。随机信号可以通过统计数学的方法描述,常用的是概率密度函数或功率密度谱描述。如地震信号、语音信号以及最常用的白噪声。,随机信号可分为平稳随机信号与非平稳随机信号,而平稳随机信号又可分为各态遍历信号与非各态遍历信号。白噪声的特征是所有频率(无限带宽)下具有平坦的功率密度(即均匀能量分布),但它的概率密度函数可以有各种分布形式。从信号处理的角度出发,由于噪声是一个随机过程,可用统计方法描述,将混杂在有用信号中的噪声去除,即在噪声中提取有用信号。,1.2.3 能量信号与功率信号连续信号x(t)和离散信号x(n)的能量分别定义为,(1.2a),(1.2b),式中,若E,则称为能量无限信号。当x(t)和x(n)的能量E无限时,仅研究它们的功率。信号x(t)和x(n)的功率分别为,(1.3a),(1.3b),式中,若P,则称x(t)或x(n)为功率有限信号,简称功率信号。随机信号由于其时间是无限的,所以总是功率信号。一般来说,在有限区间内存在的确定性信号有可能是能量信号。,1.2.4 数字信号处理系统的基本组成在科学和工程上,大多数信号都是自然模拟信号。该类信号一般为连续变量的函数,可以直接被适合的模拟系统处理,以改变信号的特征或提取有用信息。在这种情况下,输入和输出信号均是模拟的。数字信号处理是把信号用数字或符号表示成序列,通过计算机或专用信号处理设备,用数值计算方法进行各种处理,达到提取有用信息以便于应用的目的。如滤波、检测、变换、增强、估计、识别、参数提取以及频谱分析等。,数字信号处理提供了处理模拟信号的备用方法,如图1.1所示。要执行数字信号的处理,需在模拟信号和数字信号间加一个A/D转换器,将模拟信号转换为数字信号,再作为数字信号处理器的输入。,图 1.1 数字信号处理系统,可编程数字计算机是一个对输入信号执行所需操作的数字信号处理器。处理器通过更改软件来灵活地改变信号的处理操作。在实际应用中,数字信号处理器的输出通常是以模拟信号传给用户的,例如语音、图像等,这就需用D/A转换器将数字信号转换为模拟信号输出。图像等,这就需用D/A转换器将数字信号转换为模拟信号输出。数字信号处理与模拟信号处理相比,数字信号处理的动态范围宽,信噪比高。信号在模拟系统中经过一系列模拟运算处理后,误差积累,噪声逐级放大,整个系统信噪比指标下降;信号在数字系统中,仅受A/D转换的量化误差及系统有限字长影响,处理过程中不会产生其他噪声。数字信号处理系统的性能具有确定性、可预见性和可重复性,稳定性好。这是由数字器件相比模拟器件的高精度及高稳定度决定的。数字信号处理系统具有很强的灵活性,易于实现自适应算法,易于大规模集成。,1.2.5 模数转换和数模转换现实中的信号大多是模拟信号,要通过数字方法处理模拟信号,首先就需将其转换为具有有限精度的数字序列形式。这一过程称为模数(A/D)转换,其转换设备称为A/D转换器。A/D转换一般由采样、量化和编码三步完成。而数模(D/A)转换器则通过样本间的插值操作完成数字信号到模拟信号的输出。,1.模拟信号的采样模拟信号的采样即对信号时间上的离散化,这是数字化处理的第一个环节。其研究内容主要包含信号经采样后发生的变化(如频谱的变化)、信号内容是否丢失(采样序列能否代表原始信号、如何不失真地还原信号)以及由离散信号恢复连续信号的条件。采样器一般由电子开关组成,开关每隔T秒短暂地闭合一次,将连续信号接通,实现一次采样。如开关每次闭合秒,则采样器的输出是一串重复周期为T,宽度为的脉冲,脉冲的幅度是这段时间内信号的幅度,这一采样过程可看做一个脉冲调幅过程,脉冲载波是一串周期为T、宽度为的矩形脉冲,用P(t)表示,调制信号是输入的连续信号xa(t),则采样输出为xp(t)=xa(t)P(t)(1.4),一般是很小的,越小,则采样输出脉冲幅度越接近输入信号在离散时间点上的瞬时值。信号采样要满足奈奎斯特采样定理,即在信号采样中,采样频率必须大于信号最高频率的两倍。工程实际中,考虑到信号含有噪声,为避免频谱混淆,选取的采样频率总比信号最高频率S的两倍大得多。同时,为避免高于折叠频率S/2的噪声信号进入采样器造成频谱混淆,采样器前常常加一个保护性的前置低通滤波器(抗混叠滤波器)。,2.量化量化是离散时间连续值信号转换到离散时间离散值信号的转换过程。每个信号的样本值是从可能值的有限集中选取的。3.编码在A/D转换器中的编码过程为每一个量化级别赋予一个唯一的二进制数。如果有L级,那么至少需要L个不同的二进制数。若字长为b位,则可生成2b个不同的二进制数。,4.D/A转换与插值处理D/A转换通过执行某种插值操作连接数字信号的点,其一般的样本形式称为零阶保持或阶梯近似。采样定理指出了带限信号的最佳插值。为简化插值处理过程,实际上大多采用零阶保持线性插值的方法来实现D/A转换,再跟随一个后滤波器或平滑滤波器来实现模拟输出。,1.3 离散时间信号对模拟信号xa(t)进行等间隔采样,采样间隔为T,可得到的采样输出为xn=xa(t)|t=nT=xa(nT),n=,2,1,0,1,2,(1.5)对于不同的n值,xa(nT)是一个有序的数字序列,该数字序列就是离散时间信号。T称为采样周期或采样间隔,f=1/T为采样频率。,实际信号处理中,这些数字序列值按顺序存放于存储器中,此时nT代表的是前后顺序。为了简化表述,一般不写采样间隔,记为x(n),称为数字序列。对于具体信号,x(n)也代表第n个序列值。需要说明的是,n需取整数,非整数时无定义;另外,在数值上它等于信号的采样值,且信号随n的变化规律可以用公式表示,也可以用图形表示。,1.3.1 典型离散时间信号在数字信号处理中,定义了一些基本的典型离散时间信号序列,它们的定义和在MATLAB中的表述如下。1.单位采样序列单位采样序列的表达式为,(1.6),(1.7),单位采样序列也可以称为单位脉冲序列,特点是仅在n=0时取值为1,其他情况时均为0。它类似于模拟信号和系统中的单位冲激函数(t),但不同的是(t)在t=0时,取值无穷大,t0时取值为0,对时间t的积分为1。在MATLAB中,利用函数zeros(1,N)可以实现有限长区间的(n),也可利用逻辑关系操作符n=0来实现。,【例 1.1】用MATLAB编写生成单位采样序列的程序,其中,n10,10,n0=1。MATLAB程序如下:%MATLAB PROGRAM 1-1%a Delta Sequencen0=1;n1=-10;n2=10;%Generate x(n)=delta(n-n0);n1 n2)|(n1 n2)error(参数必须满足 n1=n0=n2)endn=n1:n2;%x=zeros(1,(n0-n1),1,zeros(1,(n2-n0);%用zeros函数实现x=(n-n0)=0;%用逻辑关系式实现 stem(n,x)xlabel(n);ylabel(x(n);title(Delta Sequence);grid程序运行结果如图1.2所示。,图 1.2 单位采样序列,2.单位阶跃序列单位阶跃序列的表达式为,(1.8),(1.9),单位阶跃序列类似于模拟信号中的单位阶跃函数u(t)。(n)与u(n)之间的关系为(n)=u(n)u(n1)(1.10),(1.11),在MATLAB中,利用函数ones(1,N)可以实现有限长区间的u(n),也可用逻辑关系式n0来实现。【例 1.2】用MATLAB编写生成单位阶跃序列的程序,其中,n8,8,n0=2。MATLAB程序如下:%MATLAB PROGRAM 1-2%Functionx,n=stepseq(n0,n1,n2)n0=2;n1=-8;n2=8;if(n0 n2)|(n1 n2)error(参数必须满足 n1=0;%用“”实现stem(n,x)xlabel(n);ylabel(x(n);title(Step Sequence);grid,程序运行结果如图1.3所示。,图 1.3 单位阶跃序列,矩形序列是其一种特殊序列,定义为,(1.12),式中,N称为矩形序列的长度。,3.单位斜坡序列单位斜坡序列的表达式为,(1.13),【例 1.3】用MATLAB编写生成单位斜坡序列的程序,其中,n0,10。,MATLAB程序如下:%MATLAB PROGRAM 1-3%a Ramp Sequencen1=0;n2=10;n=n1:0.5:n2;x=n;stem(n,x)xlabel(n);ylabel(x(n);title(Ramp Sequence);grid程序运行结果如图1.4所示。,图 1.4 单位斜坡序列,4.正弦、余弦序列正弦和余弦序列的表达式分别为x(n)=A sin(0n+j)n(1.14a)x(n)=A cos(0n+j)n(1.14b)式中,A为幅度;0称为序列的数字域频率,表示序列变化的速率,单位是弧度;j为初始相位角。在MATLAB中,利用函数sin和cos可以实现有限长区间的正弦和余弦序列。,【例 1.4】用MATLAB编写程序,生成x(n)=2 sin(0.3n),n10,50。MATLAB程序如下:%MATLAB PROGRAM 1-4n=10:50;x=3*cos(0.4*pi*n+pi/3)2*sin(0.3*pi*n);stem(n,x)xlabel(n);ylabel(x(n);title(Sine Sequence);grid程序运行结果如图1.5所示。,图 1.5 正余弦序列,5.实指数序列实指数序列的表达式为x(n)=an n,aR(1.15)如果|a|1,x(n)的幅度随n的增大而增大,称x(n)为发散序列。在MATLAB中,利用数组运算符“.”可以实现有限长区间的实指数序列。【例 1.5】用MATLAB编写生成x(n)=0.5n,n8,10的程序。,MATLAB程序如下:%MATLAB PROGRAM 15n=8:10;x=0.5.nstem(n,x)xlabel(n);ylabel(x(n);title(Real Power Sequence);grid程序运行结果如图1.6所示。,图 1.6 实指数序列,6.复指数序列复指数序列的表达式为x(n)=e(+j0)n(1.16)式中,0为数字域频率,为阻尼系数。借助欧拉公式可以展开为x(n)=en(cos0n+j sin0n)(1.17)式中,实部Re(n)=en cos0n,虚部Im(n)=en sin0n,模|x(n)|=en,幅角为0n。在MATLAB中,可采用函数exp实现序列。【例 1.6】用MATLAB编写生成复指数序列x(n)=e(0.2+j0.3)n,n10,10的程序。,MATLAB程序如下:%MATLAB PROGRAM 1-6n=10:10;s=0.2+0.3*j;x=exp(s*n);Re_x=real(x);Im_x=imag(x);Mag_x=abs(x);Phase_x=(180/pi)*angle(x);subplot(221);%实部序列stem(n,Re_x);xlabel(n);ylabel(Re-x);title(Power Real Port Sequence);,gridsubplot(222);%虚部序列stem(n,Im_x);xlabel(n);ylabel(Im-x);title(Power Imag Port Sequence);gridsubplot(223);%幅值序列stem(n,Mag_x);xlabel(n);ylabel(Mag-x);title(Power Magnitude Sequence);gridsubplot(224);%相位序列stem(n,Phase_x);xlabel(n);ylabel(Phase-x);title(Power Phase Sequence);grid程序运行结果如图1.7所示。,图 1.7 复指数序列,7.周期序列如果对所有n存在一个最小的正整数N,使下面的等式成立:x(n)=x(n+N)n(1.18)则称序列x(n)为周期序列,周期为N,N须取整数。例如,x(n)=sin是周期为8的周期序列,也称为正弦序列。在MATLAB中,设1个周期的序列为x(n),则4个周期的序列可表示为y(n)=x(n)x(n)x(n)x(n),8.随机序列在MATLAB中,提供了两个产生随机序列的函数:x(k)=rand(1,N)用于产生0,1区间均匀分布的随机数序列,长度为N;x(k)=randn(1,N)用于产生均值为0,方差为1,长度为N的高斯分布随机数序列(白噪声)。【例 1.7】用MATLAB编写生成a,b上均匀分布的随机序列的程序。MATLAB程序如下:%MATLAB PROGRAM 1-7%用于产生a,b上均匀分布的N点随机序列n=1:N;x=a+(b-a)*rand(1,N);stem(n,x);xlabel(n);ylabel(x(n);title(Random Sequence);grid,【例 1.8】用MATLAB编写均值为a、方差为c的高斯随机序列的程序。MATLAB程序如下:%MATLAB PROGRAM 1-8%用于产生均值为a、方差为c的高斯随机序列n=1:N;x=a+sqrt(c)*randn(1,N);stem(n,x);xlabel(n);ylabel(x(n);title(Random Sequence);grid,9.任意序列以上介绍了几种常用的典型序列。对于任意序列,常用单位采样序列的移位加权和表示,也可表示成与单位取样序列的卷积和,其表达式为,(1.19),式中,(nk)=。,1.3.2 离散时间信号的运算在数字信号处理中,离散时间信号用序列表示,序列有下面几种运算。1.序列相加设有序列x1(n)和x2(n),则序列x(n)=x1(n)+x2(n)(1.20)表示两个序列的和,定义为同序号的序列值逐项对应相加。当x1(n)和x2(n)的长度、采样位置均一样时,才能直接相加;当x1(n)和x2(n)的长度、采样位置不一样时,须用0补齐空出的位置,再相加。,【例 1.9】用MATLAB编写序列相加的程序。MATLAB程序如下:%MATLAB PROGRAM 1-9%实现 x(n)=x1(n)+x2(n)n=min(min(n1),min(n2):max(max(n1),max(n2);%y(n)的长度y1=zeros(1,length(n);y2=y1;%初始化y1(find(n=min(n1)%序列相加,2.序列数乘序列数乘的定义式为x(n)=ax1(n)(1.21)3.序列相乘(点乘)设序列为x1(n)和x2(n),则序列x(n)=x1(n)x2(n)(1.22)表示两个序列的积,定义为同序号的序列值逐项对应相乘。当x1(n)和x2(n)的长度、采样位置均一样时,才能直接相乘;当x1(n)和x2(n)的长度、采样位置不一样时,须用0补齐空出的位置,再相乘。,【例 1.10】用MATLAB编写序列相乘的程序。MATLAB程序如下:%MATLAB PROGRAM 1-10%实现 x(n)=x1(n)*x2(n)n=min(min(n1),min(n2):max(max(n1),max(n2);%y(n)的长度y1=zeros(1,length(n);y2=y1;y1(find(n=min(n1)%序列相乘,4.序列时延给定离散信号x(n),若信号以y1(n)和y2(n)分别定义为y1(n)=x(nN)(1.23)y2(n)=x(n+N)(1.24)则y1(n)是整个x(n)在时间轴上延时/右移N个抽样周期所得的新序列,同理,y2(n)是将整个x(n)超前/左移N个抽样周期的新序列。【例 1.11】用MATLAB编写序列时延的程序。MATLAB程序如下:%MATLAB PROGRAM 1-11%实现y(n)=x(n-n0),n0为时延的单位长度,m为x的下标n=m+n0;y=x;,5.序列翻转序列翻转的定义式为y(n)=x(n)(1.25)x(n)是以n=0的纵轴为对称轴,将序列x(n)加以翻转。MATLAB中用函数fliplr来实现序列翻转。【例 1.12】用MATLAB编写序列翻转的程序。MATLAB程序如下:%MATLAB PROGRAM 1-12%实现 y(n)=x(-n)y=fliplr(x);n=-fliplr(n);,6.序列的奇偶性任何一个序列x(n)都可以分解为偶分量xe(n)和奇分量xo(n)之和:x(n)=xe(n)+xo(n)(1.26)xe(n)=0.5(x(n)+x(n)=xe(n)(1.27)xo(n)=0.5(x(n)x(n)=xo(n)(1.28)【例 1.13】用MATLAB编写序列的奇偶分解程序。,MATLAB程序如下:%MATLAB PROGRAM 1-13%序列的奇偶分解m=fliplr(n);Mm=min(m,n):max(m,n);nm=n(1)-m(1);n1=1:length(n);x1=zeros(1,length(Mm);x1(n1+nm)=x;x=x1;xeven=0.5*(x+fliplr(x);xold=0.5*(x-fliplr(x);,7.序列的卷积和若有两序列x(n)和h(n),则其卷积和定义为(1.29)在MATLAB中,用函数conv来实现序列的卷积和。【例 1.14】用MATLAB编写序列卷积和的程序。MATLAB程序如下:,%MATLAB PROGRAM 1-14%y=卷积结果%ny=y的基底(support)%x=基底nx上的第一个信号%nx=x 的支架%h=基底nh上的第二个信号%nh=h的基底nyb=nx(1)+nh(1);nye=nx(length(x)+nh(length(h);ny=nyb:nye;y=conv(x,h);,8.序列的能量序列的能量定义式为(1.30)有限长序列的能量可以由MATLAB语句来得到Ex=sum(x.*conj(x)或 Ex=sum(abs(x).2),9.序列的功率序列x(n)的功率由下式给出(1.31)有限长序列的功率可由以下MATLAB语句得到 Px=sum(x.*conj(x)/length(x)或 Px=sum(abs(x).2)/length(x),10.序列的求和及求积序列求和的定义式为(1.32)序列求积的定义式为(1.33)在MATLAB中,序列的求和及求积可分别由函数sum和函数prod来得到y=sum(x(n1:n2)y=prod(x(n1:n2),1.3.3 MATLAB常用信号生成函数MATLAB信号处理工具箱提供了一些特殊信号波形的生成函数,下面简要介绍几种常用函数。1.sawtooth函数功能:产生周期为2的锯齿波或三角波。调用格式:x=sawtooth(t)x=sawtooth(t,width)其中,width为0和1之间的数,当width=0.5时,产生标准三角波。,2.square函数功能:产生周期为2、幅值为1,1的方波。调用格式:正方波 x(t)=square(t)带占空比的方波 x(t)=square(t,duty)其中,t为时间向量,duty为正幅值部分占周期的百分数。3.sinc函数功能:生成sinc函数波形。调用格式:y=sinc(x)函数sinc(x)的周期为2,并随x的增加而作衰减振荡,且为偶函数,在n处的值为0。,4.diric函数功能:生成dirichlet或sinc周期函数波形。调用格式:y=diric(x,n)其中,x为向量,n为整数。当n为奇数时,周期为2;当n为偶数时,周期为4。5.pulstran函数功能:产生脉冲串信号。调用格式:y=pulstran(t,d,func,P1,P2)其中,t为时间向量,d为脉冲串位置向量,P1和P2为与脉冲有关的参数设置,func为脉冲类型函数,MATLAB提供三种脉冲类型:Gauspuls(高斯调制正弦脉冲)、Rectpuls(非周期矩形脉冲)和Tripuls(非周期三角形脉冲)。,【例 1.15】编写程序,产生一矩形波脉冲串,脉宽为0.1 s,脉冲重复频率为3 Hz,采样频率为2 kHz,信号长度为1 s。MATLAB程序如下:%MATLAB PROGRAM 1-15clf;t=0:0.0005:1;d=0:1/3:1;y=pulstran(t,d,rectpuls,0.1);plot(t,y);title(Pulstrantripuls);xlabel(t);ylabel(y);grid;程序运行结果如图1.8所示。,图 1.8 矩形波脉冲串,1.4 离散时间系统在信号处理中,通常需要设计一个器件或算法对离散时间信号执行某些规定的运算,这样的器件或算法称为离散时间系统。也就是说,离散时间系统就是将输入序列映射成另一输出序列的变换或算子。线性时不变系统是最重要且最常用的离散时间系统。1.4.1 离散时间系统的基本概念一个离散时间系统可以抽象为一种变换,或是一种映射。设时域离散系统的输入为x(n),经过规定的运算,系统输出序列用y(n)表示。设运算关系用T表示,则输出与输入之间的关系为 y(n)=Tx(n)(1.34)下面介绍有关离散时间系统的几个重要定义。,1.线性系统满足叠加原理的系统称为线性系统。设x1(n)和x2(n)分别为系统的输入序列,其输出分别用y1(n)和y2(n)表示,即 y1(n)=Tx1(n)(1.35)y2(n)=Tx2(n)(1.36)则线性系统需满足下列两个条件:Tx1(n)+x2(n)=y1(n)+y2(n)(1.37)Tax1(n)=ay1(n)(1.38)式中,a是常数。满足式(1.37)称为线性系统的可加性;满足式(1.38)称为线性系统的比例性或齐次性。将两式结合起来,可表示为y(n)=Tax1(n)+bx2(n)=ay1(n)+by2(n)(1.39)式中,a和b均是常数。,【例 1.16】设y(n)=ax(n)+b(a和b是常数),试证明该系统y(n)是非线性系统。证明y1(n)=Tx1(n)=ax1(n)+b y2(n)=Tx2(n)=ax2(n)+by(n)=Tx1(n)+x2(n)=ax1(n)+ax2(n)+b y(n)y1(n)+y2(n)因此,该系统是非线性系统。,2.时不变系统如果系统对输入信号的运算关系T在整个运算过程中不随时间变化,或者系统对于输入信号的响应与信号加于系统的时间无关,则称该系统为时不变系统,可表示为y(n)=Tx(n)(1.40a)或 y(nn0)=Tx(nn0)(1.40b)式中,n0为任意整数。,【例 1.17】判别y(n)=ax(n)+b代表的系统是否为时不变系统。式中,a和b为常数。解 y(n)=ax(n)+b y(nn0)=ax(nn0)+b y(nn0)=Tx(nn0)因此,该系统为时不变系统。,3.系统的因果性与稳定性线性和时不变两个约束条件定义了一类可用卷积和表示的系统。若系统n时刻的输出只取决于n时刻以及n时刻以前的输入序列,而跟n时刻以后的输入序列无关,则称该系统具有因果性质,或称该系统为因果系统。若n时刻的输出还取决于n时刻以后的输入序列,在时间上违背了因果性,则这类系统是无法实现的,被称为非因果系统。因此,系统的因果性是指系统的可实现性。线性时不变系统具有因果性的充分必要条件是系统的单位取样响应满足h(n)=0,n0(1.41),满足式(1.41)的序列称为因果序列,所以,因果系统的单位取样响应必然是因果序列。由于单位取样响应是输入为(n)的零状态响应,故在n0时,输出为0。若系统输入有界,输出也有界,则称系统具有稳定性质,称之为稳定系统。系统稳定的充分必要条件是系统的单位取样响应绝对可和,即(1.42)稳定因果系统是指既满足稳定性又满足因果性的系统。稳定因果系统既是可实现的又是稳定的。这种系统的单位脉冲响应既是单边的,又是绝对可积的,即,【例 1.18】设线性时不变系统的单位取样响应h(n)=anu(n),式中,a是实常数,试分析该系统的因果稳定性。解 由于n0时,h(n)=0,所以该系统是因果系统。,(1.43),当且仅当|a|1时,,因此,系统稳定的条件是|a|1;否则,|a|1时,系统不稳定。系统稳定时,h(n)的模随n增大而减小,此时序列h(n)为收敛序列。如果系统不稳定,h(n)的模随n增大而增大,序列h(n)为发散序列。,1.4.2 离散时间线性时不变系统的分析线性时不变系统(LTI)是既满足叠加原理又具有时不变性的系统。线性时不变系统可以用单位脉冲响应来表示。单位脉冲响应即系统对于(n)的零状态响应为h(n)=T(n)(1.44)设系统输入为x(n),按照式(1.44)表示成单位采样序列移位加权和为,(1.45),(1.46),根据线性时不变系统的叠加和时不变性质,有,(1.47),式中,“*”代表卷积运算。式(1.47)表示线性时不变系统的输出等于输入序列和系统的单位脉冲响应h(n)的卷积。这个公式和模拟系统的卷积是类似的,称为离散卷积或线性卷积,或直接卷积,以区别于其他种类的卷积。线性卷积中的主要运算是翻转、移位、相乘和相加,设两序列的长度分别是N和M,线性卷积后的序列长度为(N+M1)。线性卷积服从交换律、结合律和分配律。(1)交换律:(1.48),(2)结合律:,(1.49),(3)分配律:,(1.50),卷积运算的求解步骤为:先对h(m)绕纵轴翻转,得到h(m);再对h(m)移位,得到h(nm);最后,将x(m)和h(nm)所有对应项相乘之后相加,即得离散卷积结果y(n)。令l=nm,作变量代换,则卷积公式变为,(1.51),故x(m)和h(nm)的位置可对调,即输入x(n)和单位脉冲响应h(n)的线性时不变系统与输入h(n)和单位脉冲响应x(n)的线性时不变系统具有同样的输出。在MATLAB中,利用函数conv(x,h)可以实现两个有限长度序列的卷积,函数conv假定两个序列都从n=0开始,其调用格式为 y=conv(x,h)【例 1.19】设x(n)=R4(n),h(n)=R4(n),求y(n)=x(n)*h(n)。解 按照式(1.47),有式中,矩形序列长度为4,求解该式主要是根据矩形序列的非零值区间来确定求和的上、下限,R4(m)的非零值区间为0m3,R4(nm)的非零值区间为0nm3,其乘积值的非零区间对m来说,需同时满足不等式0m3和n3mn。,当0n3时当n时,MATLAB计算卷积程序如下:%MATLAB PROGRAM 1-19nx=0:3;Ra=nx=0;nh=0:3;Rb=nh=0;y=conv(Ra,Rb);M=length(y)-1;n=0:M;disp(输出序列y=);disp(y);stem(n,y);xlabel(时间序号n);ylabel(振幅y(n);grid,程序运行结果如下:输出序列y=1 2 3 4 3 2 1卷积仿真波形如图1.9所示。LTI离散时间系统根据脉冲响应的长度,可分为有限脉冲响应(Finite Impulse Response,FIR)系统和无限脉冲响应(Infinite Impulse Response,IIR)系统两大类。,图 1.9 卷积运算,1.4.3 离散时间系统的差分方程描述为了描述一个系统,可将其看成一个黑盒子,只描述或者研究系统输出和输入之间的关系,这种方法称为输入输出描述法。对于模拟系统,可由微分方程描述系统输入输出之间的关系。而对于离散时间系统,由于其变量n是离散整型变量,故只能用差分方程来反映其输入输出序列之间的运算关系。对于线性时不变系统,常用线性常系数差分方程表示,N阶线性常系数差分方程的一般形式为,(1.52),式中,x(n)和y(n)分别是系统的输入序列和输出序列,ar、bk都是常数。差分方程的阶数N是由y(n)变量序号的最大与最小之差确定的。若已知系统的输入序列,则通过求解差分方程可以求出其输出序列。求解差分方程的基本方法主要包括经典解法、递推解法和变换域法。若已知输入序列和N个初始条件,则可以求出n时刻的输出。如果将式(1.52)中的n用n+1代替,则可求出n+1时刻的输出,因此差分方程本身就是一个适合递推法求解的方程。【例 1.20】已知一阶差分方程系统y(n)=1.5x(n)+y(n1),其输入信号为,试求解输出y(n)。

    注意事项

    本文(MATLAB辅助现代工程数字信号处理 第二版 作者 李益华 第15章 第1章.ppt)为本站会员(文库蛋蛋多)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开