matlab信号处理

matlab信号处理
数字信号处理基本理论
在计算机中,所有的信号都是离散信号,因此在使用 MATLAB 进行信号处理之前,首 先要了解离散时间信号处理的相关理论。

离散信号
信号是信息的表现形式,是通信传输的客观对象,其特性可以从两个方面来描述,即时 间特性和频率特性。信号之所以不同是因为各自有不同的时间特性和频率特性,并且两者之 间有一定的对应关系。若 t 是定义在时间轴上的离散点,则 x(t)为离散时间信号,表 示 为 x ( nT), T 表示相邻两个点之间的时间间隔,也称为抽样周期,n 取整数并代表时间的离散时刻。一 般可以把 T 归一化为 1,这样 x(nT)可简记为 x(n),又称为离散时间序列。 在 MATLAB 中,可用一个向量来表示一个有限长度的序列(由于内存的限制,不可能 表示一个任意无限序列), 示例代码设置如下: x(n)=[4,5,2,3,9,8,0,7,-1]

离散系统
系统是由若干相互作用和相互依赖的事物组合而成的并具有特定功能的整体。系统分析 的着眼点是分析系统的输入和输出的关系,而不涉及系统的内部情况。 一个离散系统可以抽象为一种变换或者一种映射,即 y(n)=T[x(n)]。其中 T 代表变换。在 数字信号处理中,所研究的系统基本上都是线性时不变系统(LSI 系统),其输入/输出关系 可以通过冲激响应 h(n)表示:

 Z变换
Z 变换是离散系统和离散信号分析、综合的重要工具,其地位和作用如同拉普拉斯变换 之于连续信号和系统。

离散傅立叶变换
Z 变换提供了任意序列在频域的表示方法,但它是连续变量 z 的函数,因此无法直接利 用计算机进行数值计算。为了使用 MATLAB,必须截断序列,得到有限个点的表达式。这就 产生了离散傅立叶级数(DFS)、离散傅立叶变换(DFT)和计算量小的快速傅立叶变换(FFT)。 如果信号在频域上是离散的,则该信号在时域上就是周期性的函数。反之在时域上离散 的信号在频域上必然表现为周期性的频率函数。可以得出一个一般规律:一个域的离散必然 造成另一个域的周期延拓。这种离散变换,本质上都是周期的。因此,首先从周期序列及其 傅立叶级数开始讨论,然后再讨论可作为周期序列一个周期的、有限长序列的离散傅立叶变 换(DFT)

离散傅立叶级数(DFS)
离散傅立叶变换(DFT)


数字滤波器结构
数字信号处理的目的之一是设计某种设备或建立某种算法用以处理序列,使序列具有某 种确定的性质,这种设备或算法结构就称为数字滤波器。数字滤波器可以分为有限冲激响应 (FIR)和无限冲激响应(IIR)两种。滤波器的设计结果受滤波器的类型和结构的影响。本节 分别介绍这两种滤波器的结构

MATLAB 7.0 的信号处理工具箱函数
MATLAB 包含了进行信号处理的许多工具箱函数,有关这些工具箱函数的使用可通过 Help 命令得到。为使用方便,本节将按分组给出这些函数的简单说明,在后面的章节会给出 其中一部分函数的使用举例。详细的文档可以在 Help 目录下找到。
10.2.1  波形产生(Waveform Generation)

10.2.1  波形产生(Waveform Generation)
在该工具箱里包含以下几个函数: • chirp:产生扫频余弦函数; • diric:产生 Dirichlet 或周期 sinc 函数; • gauspuls:产生高斯调制的正弦曲线脉冲; • gmonopuls:产生高斯单脉冲; • pulstran:产生一个脉冲序列; • rectpuls:产生一个非周期的抽样方波; • sawtooth:产生锯齿波或三角波;
• sinc:产生 sinc 函数,即
t
t
p p )s in(

• square:产生方波; • tripuls:产生一个非周期的采样三角波; • vco:压控振荡器。
10.2.2  滤波器分析(Filter Analysis)
在该工具箱里包含以下几个函数: • abs:求绝对值(幅值,这是一个 MATLAB 函数); • angle:求相角(这是一个 MATLAB 函数); • freqs:模拟滤波器的频率响应; • freqspace:频率响应中的频率间隔(这是一个 MATLAB 函数); • freqz:计算数字滤波器的频率响应; • fvtool:打开滤波器可视化工具; • grpdelay:计算平均滤波器延迟(群延迟); • impz:计算数字滤波器的冲激响应; • phasedelay:计算数字滤波器的相位延迟响应; • phasez:计算数字滤波器的相位响应; • stepz:计算数字滤波器的阶跃响应; • unwrap:展开相角(这是一个 MATLAB 函数); • zerophase:计算数字滤波器的零相位响应; • zplane:离散系统零极点图。
第 10 章  信号处理工具箱
–369–
10.2.3  滤波器实现(Filter Implementation)
在该工具箱里包含以下几个函数: • conv:求卷积和多项式乘法(这是一个 MATLAB 函数); • conv2:二维卷积(这是一个 MATLAB 函数); • convmtx:卷积矩阵; • deconv:反卷积和多项式除法(这是一个 MATLAB 函数); • fftfilt:采用重叠相加法基于 FFT 的 FIR 滤波器实现; • filter:直接滤波器实现(这是一个 MATLAB 函数); • filter2:二维数字滤波(这是一个 MATLAB 函数); • filtfilt:零相位数字滤波; • filtic:直接 II 型滤波器的初始条件选择; • latcfilt:格型和格-梯型滤波器实现; • medfilt1:一维中值滤波; • sgolayfilt:Savitzky-Golay滤波; • sosfilt:二阶(四次)IIR 数字滤波; • upfirdn:过采样,FIR 滤波和抽样。
10.2.4  线性系统变换(Linear System Transformations)
在该工具箱里包含以下几个函数: • latc2tf:将格形滤波器参数转换维传输函数格式; • polystab:稳定多项式; • polyscale:多项式的根的数值范围; • residuez:Z 变换部分分式展开或留数计算; • sos2ss:变系统二阶分割形式为状态空间形式; • sos2tf:变系统二阶分割形式为传递函数形式; • sos2zp:变系统二阶分割形式为零极点增益形式; • ss2sos:变系统状态空间形式为二阶分割形式; • ss2tf:变系统状态空间形式为传递函数形式; • ss2zp:变系统状态空间形式为零极点增益形式; • tf2latc:变传递参数形式为格形滤波器形式; • tf2sos:变传递函数形式为系统二阶分割形式; • tf2ss:变传递函数形式为系统状态空间形式; • tf2zp:变连续时间传递函数为零极点增益形式;  • tf2zpk:变离散时间传递函数为零极点增益形式;  • zp2sos:变零极点增益形式为二阶分割形式; • zp2ss:变零极点增益形式为状态空间形式; • zp2tf:变零极点增益形式为传递函数形式。
MATLAB 7.0 从入门到精通
–370–
10.2.5  FIR 滤波器设计(FIR Digital Filter Design)
在该工具箱里包含以下几个函数: • cfirpm:复杂非线性相位等纹波滤波器设计; • dfilt:用面向对象的方式产生滤波器; • fir1:基于窗函数的 FIR 滤波器设计; • fir2:基于频率取样的 FIR 滤波器设计; • fircls:多波段有限最小二乘 FIR 滤波器设计; • fircls1:低通和高通线性相位 FIR 滤波器的有限最小二乘设计; • firgauss:高斯 FIR 滤波器设计; • firls:最小二乘线性相位 FIR 滤波器设计; • firpm:Parks-McClellan 最优化 FIR 滤波器设计; • firpmord:Parks-McClellan最优化 FIR 滤波器阶估计;  • firrcos:升余弦 FIR 滤波器设计; • intfilt:内插 FIR 滤波器设计; • kaiserord:用 Kaiser 窗进行设计的 FIR 滤波器的参数估计; • sgolay:Savitzky-Golay 滤波器设计。
10.2.6  IIR 滤波器设计(IIR Digital Filter Design)
在该工具箱里包含以下几个函数: • butter:Butterworth(巴特沃思)模拟和数字滤波器设计; • cheby1:Chebyshev(切比雪夫)I 型滤波器设计; • cheby2:Chebyshev II 型滤波器设计; • dfilt:用面向对象的方法产生滤波器; • ellip:椭圆滤波器设计; • filtstates:包含滤波器状态信息的对象; • maxflat:归一化数字 Butterworth 滤波器设计; • yulewalk:递归数字滤波器设计。
10.2.7  IIR 滤波器阶的选择(IIR Filter Order Estimation)
在该工具箱里包含以下几个函数: • buttord:计算 Butterworth滤波器的阶和截止频率; • cheb1ord:计算 Chebyshev I 型滤波器的阶; • cheb2ord:计算 Chebyshev II 型滤波器的阶; • ellipord:计算椭圆滤波器的最小阶。  
第 10 章  信号处理工具箱
–371–
10.2.8  变换(Transforms)
在该工具箱里包含以下几个函数: • bitrevorder:将输入序列按比特反向变换; • czt:线性调频 Z 变换; • dct:离散余弦变换(DCT); • dftmtx:离散傅立叶变换矩阵; • digitrevorder:将输入序列按数字反向变换; • fft:一维快速傅立叶变换; • fft2:二维快速傅立叶变换; • fftshift:重新编排 FFT 函数的输出; • goertzel:用二阶 Goertzel 算法计算离散傅立叶变换; • hilbert:希尔伯特变换; • idct:逆离散余弦变换; • ifft:一维逆快速傅立叶变换; • ifft2:二维逆快速傅立叶变。
10.2.9  统计信号处理和谱分析(Statistical Signal Processing and Spectral Analysis)
在该工具箱里包含以下几个函数: • corrcoef:计算相关系数矩阵; • corrmtx:计算自相关矩阵的数据矩阵; • cov:协方差矩阵; • cpsd:两个信号的互谱密度估计; • dspdata:DSP 数据对象的参数信息; • dspopts:频谱对象的可选参数信息; • mscohere:两个信号之间的幅度自相关函数估计; • pburg:基于 Burg 方法的功率谱密度估计; • pcov:基于协方差方法的功率谱密度估计; • peig:基于特征向量方法的伪谱; • periodogram:基于周期图的功率谱密度估计; • pmcov:基于修正协方差方法的功率谱密度估计; • pmtm:基于 MTM 方法的功率谱密度估计; • pmusic:基于 MUSIC 算法的功率谱密度估计; • pwelch:基于 Welch 方法的功率谱密度估计; • pyulear:基于 Yule-Walker AR 方法的功率谱密度估计;  • rooteig:基于特征向量方法的频率和功率分析; • rootmusic:基于 root MUSIC 算法的频率和功率分析; • spectrum:含有频谱估计方法的参数信息的对象;
• tfestimate:从输入和输出估计传递函数; • xcorr:互相关函数估计; • xcorr2:二维互相关函数估计; • xcov:互协方差函数估计。
10.2.10  窗函数(Windows)
在该工具箱里包含以下几个函数: • barthannwin:修正的 Bartlett-Hann 窗; • bartlett:Bartlett(巴特利特)窗; • blackman:Blackman(布莱克曼)窗; • blackmanharris:最小化 4 阶 Blackman-Harris 窗; • bohmanwin:Bohman 窗; • chebwin:Chebyshev 窗; • flattopwin:平坦顶部窗; • gausswin:Gaussian(高斯)窗; • hamming:Hamming(汉明)窗; • hann:Hann(汉宁)窗; • kaiser:Kaiser(凯泽)窗; • nuttallwin:Nuttall 定义的最小化 4 阶 Blackman-Harris 窗; • parzenwin:Parzen 窗; • rectwin:矩形窗; • sigwin:用面向对象方法生成窗; • triang:三角窗; • tukeywin:Tukey 窗; • window:窗函数生成; • wvtool:窗可视化工具。
10.2.11  参数化建模(Parametric Modeling)
在该工具箱里包含以下几个函数: • arburg:基于 Burg 方法的 AR 模型参数估算; • arcov:基于协方差方法的 AR 模型参数估算; • armcov:基于修正协方差方法的 AR 模型参数估算; • aryule:基于 Yule-Walker 方法的 AR 模型参数估算; • ident:查看系统识别工具箱文件; • invfreqs:模拟滤波器拟合频率响应; • invfreqz:离散滤波器拟合频率响应; • prony:利用 Prony 法的离散滤波器拟合时间响应; • stmcb:利用 Steiglitz-McBride 迭代方法求线性模型。 
10.2.12  特殊操作(Specialized Operations)
在该工具箱里包含以下几个函数: • buffer:将信号向量缓存在数据帧矩阵中; • cell2sos:将二阶分区的单元序列转换为二阶分区矩阵; • cplxpair:将复数归成复共轭对; • demod:通信仿真中的解调; • dpss:离散椭球体序列(Slepian序列); • dpssclear:清除数据库中的 Slepian 序列; • dpssdir:Slepian 序列的数据库目录; • dpssload:从数据库中加载 Slepian 序列; • dpsssave:保存 Slepian 序列; • eqtflength:使传输函数分子和分母等长; • modulate:通信仿真中的调制; • seqperiod:计算序列周期; • sos2cell:将二阶分区矩阵转换为单元序列; • specgram:频谱分析; • stem:离散数据序列作图; • strips:条状图; • udecode:将 2n 进制整型输入解码为浮点数输出; • uencode:将浮点数输入编码为整型输出。
10.2.13  模拟低通滤波器原型(Analog Lowpass Filter Prototypes)
在该工具箱里包含以下几个函数: • besselap:Bessel 模拟低通滤波器原型; • buttap:Butterworth 模拟低通滤波器原型; • cheb1ap:Chebyshev I 型模拟低通滤波器原型; • cheb2ap:Chebyshev II 型模拟低通滤波器原型; • ellipap:椭圆模拟低通滤波器原型。
10.2.14  模拟滤波器设计(Analog Filter Design)
在该工具箱里包含以下几个函数: • besself:Bessel 模拟滤波器设计; • butter:Butterworth 模拟数字滤波器设计; • cheby1:Chebyshev I 型滤波器设计; • cheby2:Chebyshev II 型滤波器设计; • ellip:椭圆滤波器设计。
10.2.15  模拟滤波器转换(Analog Filter Transformation)
在该工具箱里包含以下几个函数: • lp2bp:将低通模拟滤波器转换为带通滤波器; • lp2bs:将低通模拟滤波器转换为带阻滤波器; • lp2hp:将低通模拟滤波器转换为高通滤波器; • lp2lp:改变模拟低通滤波器的截止频率。
10.2.16  滤波器离散化(Filter Discretization)
在该工具箱里包含以下几个函数: • bilinear:双线性变换法实现模拟到数字的滤波器变换; • impinvar:脉冲响应不变法实现模拟到数字的滤波器变换。
10.2.17  对数倒谱分析(Cepstral Analysis)
在该工具箱里包含以下几个函数: • cceps:倒谱分析; • icceps:逆倒谱分析; • rceps:实倒谱和最小相位重构。
10.2.18  线性预测(Linear Prediction)
在该工具箱里包含以下几个函数: • ac2poly:将自相关序列转换为预测多项式; • ac2rc:将自相关序列转换为反射系数; • is2rc:将反正弦参数转换为反射系数; • lar2rc:将对数域比例参数转换为反射系数; • levinson:Levinson-Durbin 递归算法; • lpc:计算线性预测系数; • lsf2poly:将线性谱频率转换为预测系数; • poly2ac:将预测多项式转换为自相关序列; • poly2lsf:将预测系数转换为线性谱频率; • poly2rc:将预测多项式转换为反射系数; • rc2ac:将反射系数转换为自相关序列; • rc2is:将反射系数转换为反正弦参数; • rc2lar:将反射系数转换为对数域比例参数; • rc2poly:将反射系数转换为预测多项式; • rlevinson:逆 Levinson-Durbin 递归; • schurrc:利用自相关序列计算反射系数。
10.2.19  多速信号处理(Multirate Signal Processing)
在该工具箱里包含以下几个函数: • decimate:降低序列的采样速率; • downsample:采样速率整数倍下降; • interp:提高采样速率; • interp1:一维数据插值; • resample:按有理数因数改变采样率; • spline:三次样条函数内插; • upfirdn:过采样,FIR 滤波,取样; • upsample:采样速率整数倍提高。
10.2.20  图形用户接口(Graphical User Interfaces)
在该工具箱里包含以下几个函数: • fdatool:打开滤波器设计和分析工具; • fvtool:打开滤波器可视化工具; • sptool:交互式数字信号处理工具(SP 工具); • wintool:打开窗函数设计和分析工具; • wvtool:打开可视窗工具
  • 9
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数字信号处理中常用的matlab工具箱函数简介-数字信号处理中常用的matlab工具箱函数简介.pdf 数字信号处理中常用的matlab工具箱函数简介 摘 要:本文就数字信号处理中所涉及到的一些典型MATLAB工具箱函数进行了简要的介绍,希望能为专门从事数字信号处理的人士,在使用MATLAB这门应用性工具方面,提供一些适当的帮助。[著者文摘] 关键词:MATLAB 应用性工具 数字信号处理 工具箱函数 本文正是考虑到了MATLAB的这些特点,专门针对数字信号处理这个领域,对于数字信号处理所最常用的一些MATLAB工具箱函数进行了简要介绍。就数字信号处理MATLAB两方面无法避开的问题做了原理性的说明。尽量不牵扯到和这个领域无关的知识,甚至有意避开和数字信号处理无关的MATLA B内容。旨在为从事数字信号处理工作和学习的人员在最短的时间内,了解到在使用MATLAB这个应用性工具去解决数字信号处理的问题时,最必要也最核心的知识。最后,本文还列举了两个相关程序,对于文中所提及到的函数的使用,做了一个示范。并收罗了和数字信号处理紧密相关的MATLAB函数,以列表的形式提出,想必一定会为相关人员提供恰当的帮助。 1 数字信号处理中常用的MATLAB函数工具箱介绍 2 关于上述工具箱函数的应用实例 3 小结 本文就数字信号处理中最常用的MATLAB工具箱函数,做了一个简要的使用介绍,着重在数字信号处理的原理方面给予精当说明,力图避开MATLAB当中和数字信号处理无关的知识内容。之后给出了两个数字信号处理中典型的MATLAB程序,为文中提及到的工具箱函数的使用,给予了进一步的示范说明。最后,将文中不曾详细介绍的,数字信号处理中另外一些工具箱函数以列表的形式给出,希望能够为从事这方面工作的人士提供必要的方便。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值