第19章信号处理工具箱_第1页
第19章信号处理工具箱_第2页
第19章信号处理工具箱_第3页
第19章信号处理工具箱_第4页
第19章信号处理工具箱_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第1919章章 信号处理工具箱信号处理工具箱数字信号处理是一门非常重要的基础学科。在数字信号处理是一门非常重要的基础学科。在MATLAB中,中,信号处理工具箱非常的重要。本章首先介绍了常用的离信号处理工具箱非常的重要。本章首先介绍了常用的离散信号和信号发生器,接着介绍了如何改变信号的采样散信号和信号发生器,接着介绍了如何改变信号的采样率。然后介绍了利用率。然后介绍了利用MATLAB进行数字滤波,包括进行数字滤波,包括FIR滤滤波器和波器和IIR滤波器等。滤波器是用来消除或减弱干扰噪声滤波器等。滤波器是用来消除或减弱干扰噪声,是信号处理中一个非常重要的课题。最后介绍了功率,是信号处理中一个非常

2、重要的课题。最后介绍了功率谱估计,包括非参数模型法、参数模型法和子空间法进谱估计,包括非参数模型法、参数模型法和子空间法进行功率谱估计。行功率谱估计。19.1 19.1 数字信号处理理论数字信号处理理论首先简单介绍了首先简单介绍了MATLAB的信号处理工具箱,然后介绍了常的信号处理工具箱,然后介绍了常用的离散序列,包括单位抽样序列、单位阶跃序列、正用的离散序列,包括单位抽样序列、单位阶跃序列、正弦序列、实指数序列、复指数序列、随机序列和周期序弦序列、实指数序列、复指数序列、随机序列和周期序列。最后介绍了信号处理工具箱中的信号发生器,能够列。最后介绍了信号处理工具箱中的信号发生器,能够产生常用的

3、矩形波和三角波等。产生常用的矩形波和三角波等。19.1.1 19.1.1 信号处理工具箱信号处理工具箱MATLAB的信号处理工具箱提供了大量的函数,包含各种信的信号处理工具箱提供了大量的函数,包含各种信号处理算法,包括波形产生、数字滤波器、模拟滤波器号处理算法,包括波形产生、数字滤波器、模拟滤波器、线性系统变换、参数建模、线性预测、统计信号处理、线性系统变换、参数建模、线性预测、统计信号处理、倒谱分析和图形用户接口等。、倒谱分析和图形用户接口等。19.1.219.1.2离散信号离散信号实际的信号往往是连续的,经过采样和量化以后变为离散的序实际的信号往往是连续的,经过采样和量化以后变为离散的序列

4、。利用列。利用MATLAB可以对离散的序列进行分析和处理。可可以对离散的序列进行分析和处理。可以采用向量来表示一个有限长度的离散序列。以采用向量来表示一个有限长度的离散序列。对于数字信号处理工具箱中的大多数函数,都需要一个时间向对于数字信号处理工具箱中的大多数函数,都需要一个时间向量。例如,采样率为量。例如,采样率为1000Hz,时间为一秒的时间向量为:,时间为一秒的时间向量为:t=(0:0.001:1)。19.1.3 19.1.3 波形发生器波形发生器在在MATLAB的数字信号处理工具箱中,有多个函数用来产生的数字信号处理工具箱中,有多个函数用来产生各种常用的信号波形,例如方波、三角波、脉冲

5、信号等各种常用的信号波形,例如方波、三角波、脉冲信号等。这些函数如表。这些函数如表19.1所示。所示。19.219.2改变信号的采样率改变信号的采样率在将信号传送到计算机进行处理时,已经变为数字信号,具在将信号传送到计算机进行处理时,已经变为数字信号,具有固定的采样率。有时需要改变信号的采样率,提高信有固定的采样率。有时需要改变信号的采样率,提高信号的采样率或降低信号的采样率。在号的采样率或降低信号的采样率。在MATLAB的信号处的信号处理工具箱提供很多函数来改变信号的采样率。下面进行理工具箱提供很多函数来改变信号的采样率。下面进行介绍。介绍。19.2.119.2.1改变信号的采样率改变信号的

6、采样率在在MATLAB中,采用函数中,采用函数resample( )按有理分数来改变信按有理分数来改变信号的采样率,该函数的常用调用格式为:号的采样率,该函数的常用调用格式为:y=resample(x, p, q):该函数对信号:该函数对信号x进行重新采样,采样进行重新采样,采样率为原采样率的率为原采样率的p/q倍,其中倍,其中p和和q必须为正整数。如果必须为正整数。如果x为矩阵,则对为矩阵,则对x的每一列进行重采样。的每一列进行重采样。y, b=resample(x, p, q):该函数返回在重采样时的滤波器:该函数返回在重采样时的滤波器的系数向量的系数向量b。19.2.2 19.2.2 降

7、低信号的采样率降低信号的采样率在在MATLAB中,可以采用函数中,可以采用函数downsample( )和函数和函数decimate( )来降低信号的采样率。函数来降低信号的采样率。函数downsample( )将采样率按整数倍下降,该函数的调用格式为:将采样率按整数倍下降,该函数的调用格式为:y=downsample(x, n):该函数将采样率降为原来的:该函数将采样率降为原来的1/n,即,即每每n个采样点中只取其中的第一个采样点。如果个采样点中只取其中的第一个采样点。如果x为矩阵为矩阵,则按矩阵的每一列进行。,则按矩阵的每一列进行。y=downsample(x, n, phase):该函数

8、中参数:该函数中参数phase为相位为相位,必须为整数,介于,必须为整数,介于0到到n-1之间。默认为之间。默认为0。19.2.2 19.2.2 降低信号的采样率降低信号的采样率在在MATLAB中,中,函数函数decimate( )通过低通滤波来降低信号通过低通滤波来降低信号的采样率,该函数的调用格式为:的采样率,该函数的调用格式为:y=decimate(x, r):该函数降低信号的采样率,输出信号:该函数降低信号的采样率,输出信号y的长度是信号的长度是信号x的的1/r。默认的滤波器为。默认的滤波器为8阶的阶的Chebyshev IIR低通滤波器低通滤波器y=decimate(x, r, n)

9、:该函数中采用:该函数中采用n阶阶Chebyshev IIR滤滤波器。波器。y=decimate(x, r,fir):该函数采用:该函数采用30阶阶FIR滤波器。滤波器。y=decimate(x, r, n, fir):该函数采用:该函数采用n阶阶FIR滤波器。滤波器。19.2.319.2.3提高信号的采样率提高信号的采样率在在MATLAB中,采用函数中,采用函数interp( )和函数和函数upsample( )来提来提高信号的采样率。函数高信号的采样率。函数upsample( )将信号的采样率提高将信号的采样率提高整数倍,该函数的调用格式为:整数倍,该函数的调用格式为:y=upsample

10、(x, n):该函数通过插入:该函数通过插入n-1个个0,将信号的采,将信号的采样率提高样率提高n倍。输出信号倍。输出信号y的长度为信号的长度为信号x的的n倍。如果倍。如果x为为矩阵,则对矩阵的每一列来提高采样率。矩阵,则对矩阵的每一列来提高采样率。y=upsample(x, n, phase):该函数中参数:该函数中参数phase为相位,为相位,介于介于0到到n-1之间。之间。19.2.319.2.3提高信号的采样率提高信号的采样率在在MATLAB中,中,还可以通过函数还可以通过函数interp( )来提高信号的采样来提高信号的采样率。该函数采用低通滤波器来提高信号的采样率,其调率。该函数采

11、用低通滤波器来提高信号的采样率,其调用格式为:用格式为:y=interp(x, r):该函数将信号的采样率提高:该函数将信号的采样率提高r倍。倍。y=interp(x, r, l, alpha):该函数设置滤波器的长度为:该函数设置滤波器的长度为l,默,默认为认为4,截止频率为,截止频率为alpha,alpha默认为默认为0.5。y, b=interp(x, r, l, alpha):该函数的返回值:该函数的返回值b为滤波器的为滤波器的系数。系数。19.3 FIR19.3 FIR数字滤波器数字滤波器根据信号的不同特性消除或减弱干扰噪声,提取有用信号的根据信号的不同特性消除或减弱干扰噪声,提取有

12、用信号的过程称为滤波,而实现滤波功能的系统称为滤波器。经过程称为滤波,而实现滤波功能的系统称为滤波器。经典滤波器从功能上可以分为低通、高通、带通和带阻滤典滤波器从功能上可以分为低通、高通、带通和带阻滤波器,每一种又有模拟滤波器和数字滤波器。对于数字波器,每一种又有模拟滤波器和数字滤波器。对于数字滤波器又分为滤波器又分为FIR数字滤波器和数字滤波器和IIR数字滤波器。下面介绍数字滤波器。下面介绍FIR数字滤波器。数字滤波器。19.3.119.3.1FIRFIR滤波器介绍滤波器介绍FIR滤波器有如下的优点:滤波器有如下的优点:FIR滤波器总是稳定的;滤波器总是稳定的;FIR滤波滤波器能够用硬件实现

13、;器能够用硬件实现;FIR滤波器具有线性相位。滤波器具有线性相位。FIR滤波滤波器的缺点是设计相同性能指标的数字滤波器,器的缺点是设计相同性能指标的数字滤波器,FIR滤波器滤波器需要比需要比IIR滤波器高的多的阶数。滤波器高的多的阶数。FIR滤波器的系统函数只滤波器的系统函数只是是z-1的多项式,的多项式,IIR滤波器的系统函数采用的是有理分式滤波器的系统函数采用的是有理分式。FIR滤波器可以采用窗函数法进行设计。滤波器可以采用窗函数法进行设计。19.3.219.3.2常用的窗函数常用的窗函数在在MATLAB中,可以采用函数中,可以采用函数wvtool( )来查看窗函数的时来查看窗函数的时域和

14、频域波形。该函数的调用格式为:域和频域波形。该函数的调用格式为:wvtool(winname(n),其中参数,其中参数winname为窗函数的名为窗函数的名字,字,n为数据点数。为数据点数。1矩形窗(矩形窗(Rectangular window)2汉宁窗(汉宁窗(Hanning window)3海明窗(海明窗(Hamming window)4布莱克曼窗(布莱克曼窗(Blackman window)19.3.319.3.3基于窗函数的基于窗函数的FIRFIR滤波器滤波器在在MATLAB的信号处理工具箱中,函数的信号处理工具箱中,函数fir1( )采用窗函数法采用窗函数法设计设计FIR数字滤波器,

15、能够设计低通、高通、带通、带阻数字滤波器,能够设计低通、高通、带通、带阻滤波器。该算法的基本思想是,假定滤波器。该算法的基本思想是,假定w(n)为指定的窗函为指定的窗函数,理想滤波器的单位冲激响应为数,理想滤波器的单位冲激响应为h(n),则得到滤波器的,则得到滤波器的系数系数b(n)=w(n)h(n),其中,其中1 nN 。19.3.419.3.4基于频率采样的基于频率采样的FIRFIR滤波器滤波器在在MATLAB中,采用函数中,采用函数fir2( )设计基于频率采样的设计基于频率采样的FIR滤滤波器。该函数的常用调用格式为:波器。该函数的常用调用格式为:b=fir2(n, f, m):该函数

16、产生采用频率采样得到的滤波器系:该函数产生采用频率采样得到的滤波器系数。其中参数数。其中参数n为滤波器的阶数,为滤波器的阶数,f为归一化的频率向量为归一化的频率向量,介于,介于0, 1,其中,其中1对应的是奈奎斯特频率。对应的是奈奎斯特频率。m为每个频为每个频率点对应的幅度向量,和参数率点对应的幅度向量,和参数f具有相同的长度。具有相同的长度。b=fir2(n, f, m, window):该函数设置窗函数,长度为:该函数设置窗函数,长度为n+1,默认为汉明窗。,默认为汉明窗。b=fir2(n, f, m, npt, window):该函数中参数:该函数中参数npt为频率响为频率响应的内插点数

17、。应的内插点数。19.3.5 FIR19.3.5 FIR滤波器实例分析滤波器实例分析首先建立含有首先建立含有3种频率和白噪声的信号。然后,利用窗函数种频率和白噪声的信号。然后,利用窗函数法设计法设计FIR带通滤波器,并对数字信号进行带通滤波。带通滤波器,并对数字信号进行带通滤波。19.419.4IIRIIR数字滤波器数字滤波器IIR滤波器,即无限长冲激响应(滤波器,即无限长冲激响应(infinite impulse response,IIR)滤波器,它的单位冲激响应是无限长的)滤波器,它的单位冲激响应是无限长的。设计。设计IIR滤波器,就是寻找滤波器的各个系数滤波器,就是寻找滤波器的各个系数a

18、k和和bk。下面对下面对IIR滤波器进行详细的介绍。滤波器进行详细的介绍。19.4.1 IIR19.4.1 IIR数字滤波器介绍数字滤波器介绍IIR数字滤波器的差分方程为:数字滤波器的差分方程为:IIR数字滤波器的系统函数为:数字滤波器的系统函数为:一般应满足一般应满足MN,这类系统称为,这类系统称为N阶系统,当阶系统,当MN时,可看时,可看成一个成一个N阶阶IIR子系统与一个子系统与一个(M-N)阶的阶的FIR子系统的级联子系统的级联。以下讨论都假定。以下讨论都假定MN 。设计。设计IIR滤波器,就是获取滤波滤波器,就是获取滤波器的各个系数器的各个系数ak和和bk 。10 NMkkkky n

19、a y nkb x nk 01( )1MkkkNkkkb zH za z19.4.2 IIR19.4.2 IIR数字滤波器数字滤波器在在MATLAB中,采用函数中,采用函数butter( )设计巴特沃兹滤波器。设计巴特沃兹滤波器。函数函数cheby1( )设计切比雪夫设计切比雪夫I型滤波器。型滤波器。函数函数cheby2( )设计切比雪夫设计切比雪夫II型滤波器。型滤波器。函数函数ellip( )设计椭圆数字滤波器。设计椭圆数字滤波器。函数函数yulewalk( )设计递归型的设计递归型的IIR数字滤波器。数字滤波器。19.4.3 IIR19.4.3 IIR数字滤波器阶数的选择数字滤波器阶数的

20、选择在在MATLAB中,可以通过函数来确定中,可以通过函数来确定IIR滤波器的最小的阶滤波器的最小的阶数。对于巴特沃兹滤波器,阶数的选择函数为数。对于巴特沃兹滤波器,阶数的选择函数为buttord( )。对于。对于Chebyshev I型滤波器,阶数的选择函数为型滤波器,阶数的选择函数为cheb1ord( )。对于。对于Chebyshev II型滤波器,阶数的选择型滤波器,阶数的选择函数为函数为cheby2ord( )。对于椭圆滤波器,阶数的选择函。对于椭圆滤波器,阶数的选择函数为数为ellipord( )。19.4.4 IIR19.4.4 IIR滤波器实例分析滤波器实例分析首先建立含有首先建

21、立含有3种频率(种频率(10Hz、20Hz和和30Hz)正弦信号。)正弦信号。然后设计然后设计IIR带通数字滤波器,并对数字信号进行带通滤带通数字滤波器,并对数字信号进行带通滤波。波。19.5 19.5 非参数法功率谱估计非参数法功率谱估计功率谱估计是基于有限的数据寻找信号、随机过程或系统的功率谱估计是基于有限的数据寻找信号、随机过程或系统的频率成份。它表示随机信号频域的统计特性,有着明显频率成份。它表示随机信号频域的统计特性,有着明显的物理意义,是信号处理的重要研究内容之一。由于实的物理意义,是信号处理的重要研究内容之一。由于实际中得到的随机信号长度总是有限的,用这种有限长度际中得到的随机信

22、号长度总是有限的,用这种有限长度信号所得到的功率谱只是随机信号真实功率谱的一种估信号所得到的功率谱只是随机信号真实功率谱的一种估计,所以称其为功率谱估计。周期图法、计,所以称其为功率谱估计。周期图法、Bartlett法、法、Welch 法、法、Nuttall法,以及最大熵谱估计等属于经典功法,以及最大熵谱估计等属于经典功率谱估计,以傅立叶变换为基础。下面介绍周期图法功率谱估计,以傅立叶变换为基础。下面介绍周期图法功率谱估计和率谱估计和Welch法功率谱估计。法功率谱估计。19.5.1 19.5.1 周期图法功率谱估计周期图法功率谱估计周期图法是最简单的非参数模型法,把随机序列周期图法是最简单的

23、非参数模型法,把随机序列x(n)的的N个个观测数据直接进行离散傅立叶变换,然后取其幅值的平观测数据直接进行离散傅立叶变换,然后取其幅值的平方,并除以方,并除以N,作为序列,作为序列x(n)真实功率谱的估计。真实功率谱的估计。采用函数采用函数periodogram( )进行周期图法功率谱估计。进行周期图法功率谱估计。19.6.2 Welch19.6.2 Welch法功率谱估计法功率谱估计Welch法功率谱估计在周期图法的基础上进行了改进,是一法功率谱估计在周期图法的基础上进行了改进,是一种广泛应用的经典功率谱估计方法。种广泛应用的经典功率谱估计方法。Welch法功率谱估计法功率谱估计能够改善谱失

24、真现象。能够改善谱失真现象。采用函数采用函数pwelch( )进行进行Welch法功率谱估计。法功率谱估计。19.6 19.6 参数模型法功率谱估计参数模型法功率谱估计参数模型谱估计的方法不是直接的进行功率谱的计算,而是参数模型谱估计的方法不是直接的进行功率谱的计算,而是假设随机信号服从一个模型。通过有限的数据记录,对假设随机信号服从一个模型。通过有限的数据记录,对信号模型的参数进行估计,通过模型参数得到信号的功信号模型的参数进行估计,通过模型参数得到信号的功率谱。参数模型法功率谱估计包括:率谱。参数模型法功率谱估计包括:AR模型、模型、MA模型模型和和ARMA模型等。模型等。AR模型、模型、

25、MA模型和模型和ARMA模型,从数学逼近的角度来讲,模型,从数学逼近的角度来讲,三者之间可以互相转换。估计三者之间可以互相转换。估计ARMA或或MA模型参数一般模型参数一般需要解一组非线性方程,而估计需要解一组非线性方程,而估计AR模型通常只需要解一模型通常只需要解一组线性方程,因此,组线性方程,因此,AR模型得到了深入研究和广泛应用模型得到了深入研究和广泛应用。19.6.1 AR19.6.1 AR模型功率谱估计模型功率谱估计AR模型(又称为自回归模型)是一个全极点模型,可用如模型(又称为自回归模型)是一个全极点模型,可用如下的差分方程表示:下的差分方程表示:其中其中(n)(n)为均值为为均值

26、为0,方差为,方差为2 2的白噪声序列,的白噪声序列,p为为AR模模型的阶数。型的阶数。1( )( ) ()( )ppix nai x nin 19.6.2 Yule-Walker19.6.2 Yule-Walker法功率谱估计法功率谱估计在在MATLAB中,通过函数中,通过函数aryule( )来估计来估计AR模型的参数,模型的参数,该函数的调用格式为:该函数的调用格式为:a, e=aryule(data, order),其中,其中x为输入信号,为输入信号,order为为AR模型的阶数,模型的阶数,a为为AR模型的参模型的参数,数,e为方差。为方差。利用函数利用函数pyulear( )可以估

27、计可以估计AR模型的功率谱。该函数首先模型的功率谱。该函数首先采样采样Yule-Walker方法估计方法估计AR模型的参数,然后估计功模型的参数,然后估计功率谱值。率谱值。19.6.3 Burg19.6.3 Burg法功率谱估计法功率谱估计在在MATLAB中,通过函数中,通过函数arburg( )来估计来估计AR模型的参数,模型的参数,该函数的调用格式为:该函数的调用格式为:a, e=arburg(data, order),其中,其中x为输入信号,为输入信号,order为为AR模型的阶数,模型的阶数,a为为AR模型的参模型的参数,数,e为方差。为方差。Burg法估计功率谱又称为最大熵谱估计。函数法估计功率谱又称为最大熵谱估计。函数pburg( )采用采用Burg法估计法估计AR模型的功率谱。模型的功率谱。19.6.4 19.6.4 协方差法功率谱估计协方差法功率谱估计在在MATLAB中,函数中,函数arcov( )采用协方差方法来估计功率谱采用协方差方法来估计功率谱,该函数的调用格式为:,该函数的调用格式为:a, e=arcov(x, p),其中,其中x为输为输入信号,入信号,p为阶数,为阶数,a为为AR模型的系数,模型的系数,e为方差。为方差。函数函数pcov( )采用协方差方法

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论