matlab在信号与图像处理中的应用第5章
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1
第5章 MATLAB 信号处理基础知识
在前面的章节中,我们对MATLAB R2007a 的基本知识作了详细的介绍,目的是让读者对MA TLAB 的应用环境以及基本功能有个初步的了解。随着MATLAB 版本不断升级,其功能日益强大,应用范围更是日益广泛,覆盖了工业、电子、医疗、建筑等众多领域。特别是MATLAB 主要用于矩阵运算,在数据分析、信号处理、自动控制等方面具有非常强大的功能,已成为科研人员和工程技术人员必不可少的工具之一。
从本章开始,我们将介绍MATLAB 在特定领域内的应用。数字信号处理是当前的热门学科之一,相应的MATLAB R2007a 所提供的信号处理工具箱则对该方面的研究提供了非常全面的支持。本章将基于信号处理工具箱,介绍MATLAB 信号处理的基础知识,包括信号处理工具箱的简介、信号表示方法、数据读入方式、一些典型的离散序列和常用波形如何产生等内容。
❒
熟悉信号处理工具箱的基本功能和特性 ❒
掌握信号的表示方法和数据的读入方式 ❒
掌握几种典型的离散序列 ❒ 掌握常用波形发生器
❒ 分别生成单位抽样序列()0δ和()5δ。
❒ 分别生成单位阶跃序列()0u 和()5u 。
❒ 生成正弦型序列()8/sin n π。
❒ 分别生成实指数序列()n 4/3和()n 3/4。
❒ 生成复指数序列()n j e 6/05.0π+。
❒ 产生均值为0.5,方差为0.1的白噪声序列。
❒ 将实指数序列()n 4/3扩展为具有3个周期的序列。
❒ 生成一个方波信号,要求正信号所占百分比为60%。
❒ 生成0.5s 的锯齿波和三角波信号,频率都为10Hz ,采样频率为10kHz 。
❒ 已知输入变量x ,生成sinc 函数波形。
学习目标 练习案例
第5章MATLAB信号处理基础知识
2❒生成一个线性扫频信号。
❒产生一个二次型扫频信号,要求二次型扫频信号频谱为凹状。
❒绘出狄立克莱(Dirichlet)函数图形。
❒绘出中心频率为50kHz的高斯正弦脉冲,要求相对带宽60%,包络下降到峰值的40dB之下。
❒分别产生一个对称的和一个非对称的三角脉冲。
❒产生一个矩形脉冲,要求脉冲宽度为2s。
❒产生一个锯齿形脉冲序列,要求重复频率为3Hz,锯齿宽度0.1s,信号总长度1s,采样频率1kHz。
❒产生一个幅度递减的高斯脉冲序列,每个脉冲的中心频率10kHz,带宽40%,脉冲重复频率为1kHz,采样率50kHz,脉冲序列长度为10ms,脉冲幅度每次递减0.8。
❒假设一个输入信号为三角波,绘出该信号经压控振荡器的输出波形,已知采样频率10kHz。
5.1 信号处理工具箱简介
MATLAB工具箱中包含了许多用于解决具体问题的应用程序专用M文件,而信号处理工具箱则包含了许多执行信号处理算法的函数,如滤波器设计与实现、频谱分析、加窗、转换等等。本节将简要介绍一下信号处理工具箱的基本情况。
5.1.1 什么是信号处理工具箱
信号处理工具箱(Signal Processing Toolbox)是基于MATLAB数值计算环境的一系列工具(函数)的集合。工具箱支持各种形式的信号处理操作,从波形产生到滤波器设计和实现、参数建模和谱分析等等。工具箱提供了两大类工具:命令行函数和图形用户界面(GUI),其中命令行函数主要应用于以下几个方面:
❒离散时间滤波器设计、分析和实现
❒模拟滤波器设计、分析和实现
❒线性系统变换
❒窗函数
❒谱分析和倒谱分析(cepstral analysis)
❒变换(transforms)
❒统计信号处理
❒参数建模
❒线性预测
❒多速率信号处理
❒波形产生
而交互式的图形用户界面主要应用于:
❒滤波器设计和分析
5.1 信号处理工具箱简介
3 ❒窗函数设计和分析
❒信号作图和分析
❒谱分析
❒滤波处理
5.1.2 信号的表示方法
在MATLAB环境中,大部分数据都是以数值阵列的形式表示,即将一组实数或虚数按一定顺序排列在两维或更多维空间内。因而采集到的基本信号(包括一维信号或序列、多通道信号、二维信号等)都要表示成阵列的形式。
对于一维采样信号或序列,在MATLAB中用向量表示。所谓向量是1×n或n×1的阵列,这里n是序列的采样值个数。引入一个序列的方法之一是在命令提示符后输入一列元素。例如:
x = [5 3 8 -6 0 7]
这条语句产生了一个简单的行向量,该向量由6个实数组成的序列构成。转置变换就会将该序列变成一个列向量:
x = x'
结果为:
x =
5
3
8
-6
7
对于单通道信号而言,最好采用列向量进行表示,这是因为列向量较易扩展到多通道。对于多通道数据而言,一个矩阵中的每一列都对应于一个通道,而矩阵中的每一行对应于一组采样点。一个包含x、2x和x/2的三通道信号可以表示为
y = [x 2*x x/2]
将上面的x值代入,得到结果:
y =
5.0000 10.0000 2.5000
3.0000 6.0000 1.5000
8.0000 16.0000 4.0000
-6.0000 -12.0000 -3.0000
0.0000 0.0000 0.0000
7.0000 14.0000 3.5000