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

下载本文档

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

文档简介

第16章 信号处理工具箱 MATLAB信号处理工具箱提供函数主要用于处理信 号与系统问题,并可对数字或离散的信号进行变 换和滤波。工具箱为滤波器设计和谱分析提供了 丰富的支持,通过信号处理工具箱的有关函数可 以直接设计数字滤波器,也可以建立模拟原型并 离散化。在这章里将主要介绍采样函数、信号生 成、滤波器的设计和随机信号功率谱分析。 16.1 MATLAB 7.0中的采样函数 数字信号处理的对象是在采样时钟的控制之下, 通过A/D转换器以一定的采样率对模拟信号进行采 样得到的。由采样定理可知,采样率必须大于模 拟信号的最高频率的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,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= 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值可获得较大的精度,但这 会增加计算的时间。 当调用格式为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()函数来实现,其调用格式为 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。 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由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. 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=lp2lp(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)。 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 = 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恢复信号;另一种是时域的方法,即 通过差分方程的数学运算来实现。 MATLAB 7.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.2 IIR滤波器设计函数 IIR滤波器的设计有着成熟的经验,可以依赖于许多MATLAB自带的 设计函数,下面就介绍一下这些设计函数。 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信号处理工具箱函数 MATLAB信号处理工具箱提供了基于窗函数的工具 箱函数fir1和fir2。 1. fir1函数 2. fir2函数 16.5 随机信号的参数模型和功率谱估计 随机信号不存在傅立叶变换,因此不能用确定的 数学关系式来描述,只能通过各种统计平均量来 表征。本章将介绍随机过程的相关分析和功率谱 ,以及MATLAB实现。 16.5.1 相关函数估计 MATLAB信号处理工具箱提供了计算随机信号的相关函数 xcorr。 互相关函数的调用格式如下。 调用格式一:c = xcorr(x,y)。 调用格式二:

温馨提示

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

评论

0/150

提交评论