MATLAB70使用详解第16章信号处理工具箱

上传人:san****019 文档编号:15983786 上传时间:2020-09-15 格式:PPT 页数:29 大小:668.51KB
收藏 版权申诉 举报 下载
MATLAB70使用详解第16章信号处理工具箱_第1页
第1页 / 共29页
MATLAB70使用详解第16章信号处理工具箱_第2页
第2页 / 共29页
MATLAB70使用详解第16章信号处理工具箱_第3页
第3页 / 共29页
资源描述:

《MATLAB70使用详解第16章信号处理工具箱》由会员分享,可在线阅读,更多相关《MATLAB70使用详解第16章信号处理工具箱(29页珍藏版)》请在装配图网上搜索。

1、第16章 信号处理工具箱,MATLAB信号处理工具箱提供函数主要用于处理信号与系统问题,并可对数字或离散的信号进行变换和滤波。工具箱为滤波器设计和谱分析提供了丰富的支持,通过信号处理工具箱的有关函数可以直接设计数字滤波器,也可以建立模拟原型并离散化。在这章里将主要介绍采样函数、信号生成、滤波器的设计和随机信号功率谱分析。,16.1 MATLAB 7.0中的采样函数,数字信号处理的对象是在采样时钟的控制之下,通过A/D转换器以一定的采样率对模拟信号进行采样得到的。由采样定理可知,采样率必须大于模拟信号的最高频率的2倍。然而在很多情况下,需要对信号进行不同频率的采样,这就需要对采样信号进行处理。这

2、一节将主要介绍常用的改变采样频率的相关MATLAB函数。,16.1.1 upfirdn()函数,upfirdn()函数用于改变信号的采样率,适用于FIR滤波器。upfirdn()函数的调用格式为: upfirdn(X,H,P,Q) 返回信号X是通过上采样、滤波和下采样3个级联系统后的输出结果。 上采样系统:通过插入零值,使得采样频率上升为原来的P倍。 滤波系统:用H给定的单位冲激响应的滤波器滤波。 下采样系统:通过抽取采样点,使得采样率下降Q倍。,16.1.2 decimat()下采样函数,decimat()函数主要用于低通滤波的下采样。decimat()函数的调用格式为Y=decimat(X

3、,R),函数返回的是向量X的重采样序列,其采样率为原来的1/R倍。decimat()使用的滤波器是一个8阶的Chebyshev I型低通滤波器,其截止频率为0.8*(Fs/2)/R,其中Fs为采样频率。,16.1.3 interp()上采样函数,interp()函数主要用于上采样。interp()函数的调用格式为Y=interp(X,R),返回的是以原来采样率R倍的重采样序列。 当函数调用格式为Y=interp(X,R,L,ALPHA)时,参数L(缺省值为4)和ALPHA(缺省值为0.5)可以指定。2*L是进行插值时用到的原始数据的长度。理想情况下,L必须小于等于10。 当调用格式为Y,B=

4、interp(X,R,L,ALPHA)时,返回插入所用滤波器的系数向量B。,16.1.4 resample()重采样函数,resample()函数主要用于改变信号的采样率。resample()函数的调用格式为Y=resample(X,P,Q),返回的是向量X经重采样后的结果,重采样后采样率为原来的P/Q倍。在重采样时,resample()采用的是一个抗混叠低通FIR滤波器对X进行滤波。滤波器使用的是Kaiser窗。 当调用格式为Y=resample(X,P,Q,N)时,在重采样时,x(n)的两边都取N点。 resample()使用的滤波器长度与N(缺省值为10)成正比;通过增大N值可获得较大的

5、精度,但这会增加计算的时间。 当调用格式为Y=resample(X,P,Q,N,BETA)时,BETA为设计用到滤波器使用Kaiser窗的参数,缺省值为5。 当调用格式为Y= resample(X,P,Q,B)时,如果B是滤波器系数向量,则用B对X进行滤波。,16.2 MATLAB中的信号发生函数,MATLAB是一种程序化语言,可以处理各种信号变量,在信号处理工具箱中提供了许多信号生成函数,在实际运用中,可以通过这些基本函数生成其它一些需要的“信号”,用以模拟现实中的信号源。这些函数大多数是需要事先输入时间向量的。,16.2.1 线性调频信号发生器,线性调频信号发生器用chirp()函数来实现

6、,其调用格式为Y=chirp(T,R0,T1,F1),产生一个频率随时间线性变化的信号的采样,其时间轴的设置由数组T定义。时刻0的瞬时频率为F0;时刻T1的瞬时频率为F1。缺省情况下,F0=0 Hz,T1=1,F1=100 Hz。 当函数的调用格式为Y=chirp(T,F0,T1,F1,method)时,method指定改变扫频的方法。可用的方法有linear((线性调频)、quadratic(二次调频)、logarithmic(对数调频)。缺省时为linear。 当函数的调用格式为Y=chirp(T,F0,T1,F1,method,PHI)时,PHI指定信号的初始相位,缺省时PHI的值为0。

7、,16.2.2 周期函数发生器,diric()即周期sinc函数,diric()函数的调用格式为Y=diric(X,N),其返回的是一个大小与X相同的矩阵,其元素为Dirichlet函数。N必须为正整数,该函数将02等间隔地分成N等份。Dirichlet函数的定义是:d(x)=sin(N*x/2)./(N*sin(x/2),16.2.3 锯齿波、三角波和矩形波发生器,1sawtooth()锯齿波和三角波发生器 sawtooth(T),产生周期为2,幅值为1的锯齿波,采样时刻由向量T指定。 sawtooth(T,WIDTH),产生三角波,WIDTH指定最大值出现的地方,其取值在0到1之间。当T由

8、0增大到WIDTH*2时,函数值由-1增大到1,当T由WIDTH*2增大到2时,函数值由1减小到-1。 2tripuls()非周期三角脉冲发生器 tripuls(T),产生一个连续的、非周期的、单位高度的三角脉冲的采样,采样时刻由数组T指定。缺省情况下,产生的是宽度为1的非对称三角脉冲。 tripuls(T,W),产生一个宽度为W的三角脉冲。 tripuls(T,W,S),S为三角波的斜度。参数S满足-11,当S=0时,产生一个对称的三角波。 3rectpuls()非周期矩形波发生器,16.2.4 高斯调幅正弦波发生器和脉冲序列发生器,1. gauspuls()高斯函数调幅的正弦波形发生器 2

9、. pulstran()通过对连续函数或脉冲原型进行采样而得到脉冲序列的发生器,16.3 模拟滤波器设计,16.3.1 巴特沃思滤波器,16.3.2 切比雪夫型滤波器,16.3.3 切比雪夫型滤波器,16.3.4 椭圆滤波器,16.3.5 贝塞尔滤波器,16.3.6 频率变换,频率变换函数可以实现传递函数自变量之间的变换,可以通过模拟低通滤波器原型得到低通滤波器、高通滤波器、带通滤波器和带阻滤波器,再经S域到Z域的转换可以用以设计数字IIR滤波器。 1lp2lp函数 l lp2lp函数调用格式一:bt,at=lp2lp(b,a,Wo)。 l lp2lp函数调用格式二:At,Bt,Ct,Dt=l

10、p2lp(A,B,C,D,Wo)。 2lp2hp函数 l lp2hp函数调用格式一:bt,at=lp2hp(b,a,Wo)。 l lp2hp函数调用格式二:At,Bt,Ct,Dt=lp2hp(A,B,C,D,Wo)。 3lp2bp函数 l lp2bp函数调用格式一:bt,at=lp2bp(b,a,Wo,Bw)。 l lp2bp函数调用格式二:At,Bt,Ct,Dt=lp2bp(A,B,C,D,Wo,Bw)。 4lp2bs函数 l lp2bs函数调用格式一:bt,at=lp2bs(b,a,Wo,Bw)。 l lp2bs函数调用格式二:At,Bt,Ct,Dt=lp2bs(A,B,C,D,Wo,Bw

11、)。,16.3.7 滤波器阶数选择,在滤波器设计中,确定滤波器的阶数是非常重要的。这是因为过大的阶数在实际应用中难以实现,而阶数太小则无法满足指标的要求,因此用户面临着选择阶数的问题,在MATLAB中,针对不同的滤波器提供了不同的阶数选择函数。 buttord(),Butterworth滤波器阶数选择函数。调用格式为n,Wn = buttord(Wp,Ws,Rp,Rs)或者n,Wn = buttord(Wp,Ws,Rp,Rs,s)。 cheby1ord(),Chebyshev I型滤波器阶数选择函数。调用格式为n,Wn = cheb1ord(Wp,Ws,Rp,Rs)或者n,Wn = cheb1

12、ord(Wp,Ws,Rp,Rs,s)。 cheby2ord(),Chebyshev 型滤波器阶数选择函数。调用格式为n,Wn = cheb2ord(Wp,Ws,Rp,Rs)或者n,Wn = cheb2ord(Wp,Ws,Rp,Rs,s)。 ellipord(),椭圆滤波器阶数选择函数。调用格式为n,Wn = ellipord(Wp,Ws,Rp,Rs)或者n,Wn = ellipord(Wp,Ws,Rp,Rs,s)。,16.4 数字滤波器设计,数字滤波器在信号处理的应用中发挥着重要的作用,它是通过对采样数据信号进行数学运算处理来得到滤波的目的。数学运算通常有两种实现方式,一种是频域的方法,即利用

13、FFT分离选择信号,再用IFFT恢复信号;另一种是时域的方法,即通过差分方程的数学运算来实现。 MATLAB 7.0信号处理工具箱的两个基本组成就是滤波器的设计和谱分析。这节将主要介绍数字滤波器:IIR和FIR的设计和实现。,16.4.1 数字滤波器的设计方法简介,IIR和FIR不仅在性能上有很大的差别,而且在设计上也有很大不同。 IIR滤波器常用的设计方法是利用模拟滤波器来进行设计,而FIR则可以直接由给定的频率特性进行设计。 数字滤波器的设计在整体上来说,无论IIR还是FIR都可分为三步: 确定所需滤波器的技术指标。 设计已H(z)使其尽可能的逼近所需的技术指标。 实现设计的H(z)。 I

14、IR数字滤波器的设计借助于模拟滤波器原型,首先将模型滤波器原型转化为模拟滤波器,在将模拟滤波器转换为数字滤波器。具体来讲数字滤波器的设计步骤如下。 (1)按照一定的规则将给出的数字滤波器的技术指标转换为模拟低通滤波器的技术指标; (2)根据得到的技术指标选择滤波器阶数选择函数,确定最小阶数N和固有频率Wn; (3)运用最小阶数N产生模拟低通滤波器原型; (4)将模拟低通滤波器原型转换为模拟低通、高通、带通、带阻滤波器; (5)利用冲击响应不变法或双线性不变法,把模拟滤波器转化为数字滤波器。,16.4.2 IIR滤波器设计函数,IIR滤波器的设计有着成熟的经验,可以依赖于许多MATLAB自带的设

15、计函数,下面就介绍一下这些设计函数。 1. butter函数 2. cheby1函数 3. cheby2函数 4. ellip函数,16.4.3 冲激响应不变法,16.4.4 双线性变换法,16.4.5 FIR窗函数设计法设计步骤,在上面几节的介绍中,读者可以看出,尽管IIR滤波器可以在幅频特性上满足各项性能指标,但在相频特性上往往呈现非线性,而FIR滤波器不仅能够满足幅频响应的指标要求,而且可以得到线性的相位特性,只是FIR滤波器的阶数要高于IIR滤波器而产生较大的延迟。 基于窗函数的FIR数字滤波器设计是一种典型的FIR设计,其具体步骤如下。,16.4.6 基于窗函数法的MATLAB信号处

16、理工具箱函数,MATLAB信号处理工具箱提供了基于窗函数的工具箱函数fir1和fir2。 1. fir1函数 2. fir2函数,16.5 随机信号的参数模型和功率谱估计,随机信号不存在傅立叶变换,因此不能用确定的数学关系式来描述,只能通过各种统计平均量来表征。本章将介绍随机过程的相关分析和功率谱,以及MATLAB实现。,16.5.1 相关函数估计,MATLAB信号处理工具箱提供了计算随机信号的相关函数xcorr。 互相关函数的调用格式如下。 调用格式一:c = xcorr(x,y)。 调用格式二:c = xcorr(x,y,option)。 调用格式三:c = xcorr(x,y,maxlags)。 调用格式四:c = xcorr(x,y,maxlags,option)。 调用格式五:c,lags = xcorr(.)。,16.5.2 功率谱估计,MATLAB信号处理工具箱提供了诸多谱分析函数,下面就简单介绍一下常用的谱分析函数。其余的请读者参考帮助文件。 1. psd()函数,功率谱密度估计 2spectrum()函数,一个或两个序列的功率谱估计 3specgram()函数,计算信号的功率谱,

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!