MATLAB7.0使用详解-第16章 信号处理工具箱课件_第1页
MATLAB7.0使用详解-第16章 信号处理工具箱课件_第2页
MATLAB7.0使用详解-第16章 信号处理工具箱课件_第3页
MATLAB7.0使用详解-第16章 信号处理工具箱课件_第4页
MATLAB7.0使用详解-第16章 信号处理工具箱课件_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

第16章信号处理工具箱MATLAB信号处理工具箱提供函数主要用于处理信号与系统问题,并可对数字或离散的信号进行变换和滤波。工具箱为滤波器设计和谱分析提供了丰富的支持,通过信号处理工具箱的有关函数可以直接设计数字滤波器,也可以建立模拟原型并离散化。在这章里将主要介绍采样函数、信号生成、滤波器的设计和随机信号功率谱分析。16.1MATLAB7.0中的采样函数数字信号处理的对象是在采样时钟的控制之下,通过A/D转换器以一定的采样率对模拟信号进行采样得到的。由采样定理可知,采样率必须大于模拟信号的最高频率的2倍。然而在很多情况下,需要对信号进行不同频率的采样,这就需要对采样信号进行处理。这一节将主要介绍常用的改变采样频率的相关MATLAB函数。16.1.1upfirdn()函数upfirdn()函数用于改变信号的采样率,适用于FIR滤波器。upfirdn()函数的调用格式为:upfirdn(X,H,P,Q)返回信号X是通过上采样、滤波和下采样3个级联系统后的输出结果。上采样系统:通过插入零值,使得采样频率上升为原来的P倍。滤波系统:用H给定的单位冲激响应的滤波器滤波。下采样系统:通过抽取采样点,使得采样率下降Q倍。16.1.3interp()上采样函数interp()函数主要用于上采样。interp()函数的调用格式为Y=interp(X,R),返回的是以原来采样率R倍的重采样序列。当函数调用格式为Y=interp(X,R,L,ALPHA)时,参数L(缺省值为4)和ALPHA(缺省值为0.5)可以指定。2*L是进行插值时用到的原始数据的长度。理想情况下,L必须小于等于10。当调用格式为[Y,B]=interp(X,R,L,ALPHA)时,返回插入所用滤波器的系数向量B。16.2MATLAB中的信号发生函数MATLAB是一种程序化语言,可以处理各种信号变量,在信号处理工具箱中提供了许多信号生成函数,在实际运用中,可以通过这些基本函数生成其它一些需要的“信号”,用以模拟现实中的信号源。这些函数大多数是需要事先输入时间向量的。16.2.1线性调频信号发生器线性调频信号发生器用chirp()函数来实现,其调用格式为Y=chirp(T,R0,T1,F1),产生一个频率随时间线性变化的信号的采样,其时间轴的设置由数组T定义。时刻0的瞬时频率为F0;时刻T1的瞬时频率为F1。缺省情况下,F0=0Hz,T1=1,F1=100Hz。当函数的调用格式为Y=chirp(T,F0,T1,F1,'method')时,method指定改变扫频的方法。可用的方法有linear((线性调频)、quadratic(二次调频)、logarithmic(对数调频)。缺省时为linear。当函数的调用格式为Y=chirp(T,F0,T1,F1,'method',PHI)时,PHI指定信号的初始相位,缺省时PHI的值为0。16.2.3锯齿波、三角波和矩形波发生器1.sawtooth()锯齿波和三角波发生器sawtooth(T),产生周期为2π,幅值为1的锯齿波,采样时刻由向量T指定。sawtooth(T,WIDTH),产生三角波,WIDTH指定最大值出现的地方,其取值在0到1之间。当T由0增大到WIDTH*2π时,函数值由-1增大到1,当T由WIDTH*2π增大到2π时,函数值由1减小到-1。2.tripuls()非周期三角脉冲发生器tripuls(T),产生一个连续的、非周期的、单位高度的三角脉冲的采样,采样时刻由数组T指定。缺省情况下,产生的是宽度为1的非对称三角脉冲。tripuls(T,W),产生一个宽度为W的三角脉冲。tripuls(T,W,S),S为三角波的斜度。参数S满足-1<S>1,当S=0时,产生一个对称的三角波。3.rectpuls()非周期矩形波发生器16.2.4高斯调幅正弦波发生器和脉冲序列发生器1.gauspuls()高斯函数调幅的正弦波形发生器2.pulstran()通过对连续函数或脉冲原型进行采样而得到脉冲序列的发生器16.3.1巴特沃思滤波器16.3.2切比雪夫I型滤波器16.3.4椭圆滤波器16.3.5贝塞尔滤波器16.3.7滤波器阶数选择在滤波器设计中,确定滤波器的阶数是非常重要的。这是因为过大的阶数在实际应用中难以实现,而阶数太小则无法满足指标的要求,因此用户面临着选择阶数的问题,在MATLAB中,针对不同的滤波器提供了不同的阶数选择函数。buttord(),Butterworth滤波器阶数选择函数。调用格式为[n,Wn]=buttord(Wp,Ws,Rp,Rs)或者[n,Wn]=buttord(Wp,Ws,Rp,Rs,'s')。cheby1ord(),ChebyshevI型滤波器阶数选择函数。调用格式为[n,Wn]=cheb1ord(Wp,Ws,Rp,Rs)或者[n,Wn]=cheb1ord(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数字滤波器设计数字滤波器在信号处理的应用中发挥着重要的作用,它是通过对采样数据信号进行数学运算处理来得到滤波的目的。数学运算通常有两种实现方式,一种是频域的方法,即利用FFT分离选择信号,再用IFFT恢复信号;另一种是时域的方法,即通过差分方程的数学运算来实现。MATLAB7.0信号处理工具箱的两个基本组成就是滤波器的设计和谱分析。这节将主要介绍数字滤波器:IIR和FIR的设计和实现。16.4.1数字滤波器的设计方法简介IIR和FIR不仅在性能上有很大的差别,而且在设计上也有很大不同。IIR滤波器常用的设计方法是利用模拟滤波器来进行设计,而FIR则可以直接由给定的频率特性进行设计。数字滤波器的设计在整体上来说,无论IIR还是FIR都可分为三步:确定所需滤波器的技术指标。设计已H(z)使其尽可能的逼近所需的技术指标。实现设计的H(z)。IIR数字滤波器的设计借助于模拟滤波器原型,首先将模型滤波器原型转化为模拟滤波器,在将模拟滤波器转换为数字滤波器。具体来讲数字滤波器的设计步骤如下。(1)按照一定的规则将给出的数字滤波器的技术指标转换为模拟低通滤波器的技术指标;(2)根据得到的技术指标选择滤波器阶数选择函数,确定最小阶数N和固有频率Wn;(3)运用最小阶数N产生模拟低通滤波器原型;(4)将模拟低通滤波器原型转换为模拟低通、高通、带通、带阻滤波器;(5)利用冲击响应不变法或双线性不变法,把模拟滤波器转化为数字滤波器。

16.4.2IIR滤波器设计函数IIR滤波器的设计有着成熟的经验,可以依赖于许多MATLAB自带的设计函数,下面就介绍一下这些设计函数。1.butter函数2.cheby1函数3.cheby2函数4.ellip函数16.4.4双线性变换法16.4.5FIR窗函数设计法设计步骤在上面几节的介绍中,读者可以看出,尽管IIR滤波器可以在幅频特性上满足各项性能指标,但在相频特性上往往呈现非线性,而FIR滤波器不仅能够满足幅频响应的指标要求,而且可以得到线性的相位特性,只是FIR滤波器的阶数要高于IIR滤波器而产生较大的延迟。基于窗函数的FIR数字滤波器设计是一种典型的FIR设计,其具体步骤如下。16.4.6基于窗函数法的MATLAB信号处理工具箱函数MATLAB信号处理工具箱提供了基于窗函数的工具箱函数fir1和fir2。1.fir1函数2.fir2函数16.5随机信号的参数模型和功率谱估计随机信号不存在傅立叶变换,因此不能用确定的数学关系式来描述,只能通过各种统计

温馨提示

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

评论

0/150

提交评论