没有合适的资源?快使用搜索试试~ 我知道了~
该文件对学习matlab在信号采集与处理中有重要的意义,值得好好看看
资源推荐
资源详情
资源评论
第5 章 MATLAB 信号处理基础知识
在前面的章节中,我们对 MATLAB R2007a 的基本知识作了详细的介绍,目的是让读者
对 MATLAB 的应用环境以及基本功能有个初步的了解。随着 MATLAB 版本不断升级,其功
能日益强大,应用范围更是日益广泛,覆盖了工业、电子、医疗、建筑等众多领域。特别是
MATLAB 主要用于矩阵运算,在数据分析、信号处理、自动控制等方面具有非常强大的功
能,已成为科研人员和工程技术人员必不可少的工具之一。
从本章开始,我们将介绍 MATLAB 在特定领域内的应用。数字信号处理是当前的热门
学科之一,相应的 MATLAB R2007a 所提供的信号处理工具箱则对该方面的研究提供了非常
全面的支持。本章将基于信号处理工具箱,介绍 MATLAB 信号处理的基础知识,包括信号
处理工具箱的简介、信号表示方法、数据读入方式、一些典型的离散序列和常用波形如何产
生等内容。
熟悉信号处理工具箱的基本功能和特性
掌握信号的表示方法和数据的读入方式
掌握几种典型的离散序列
掌握常用波形发生器
分别生成单位抽样序列 和 。
分别生成单位阶跃序列 和 。
生成正弦型序列 。
分别生成实指数序列 和 。
生成复指数序列 。
产生均值为 0.5,方差为 0.1 的白噪声序列。
将实指数序列 扩展为具有 3 个周期的序列。
生成一个方波信号,要求正信号所占百分比为 60%。
1
学习目标
学习目标
练习案例
练习案例
第 5 章 MATLAB 信号处理基础知识
生成 0.5s 的锯齿波和三角波信号,频率都为 10Hz,采样频率为 10kHz。
已知输入变量 x,生成 sinc 函数波形。
生成一个线性扫频信号。
产生一个二次型扫频信号,要求二次型扫频信号频谱为凹状。
绘出狄立克莱(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)
统计信号处理
参数建模
线性预测
多速率信号处理
波形产生
2
5.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
0
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
3
第 5 章 MATLAB 信号处理基础知识
5.1.3 数据的读入方式
在 MATLAB 工作环境内读入
在后续章节当中的一些具体范例,数据的获取一般通过以下两种方式:
直接输入,即在键盘上手动输入数据;
利用 MATLAB 或工具箱函数,例如 sin、cos、sawtooth、square 等等;
在 MATLAB 工作环境外读入
在某些应用场合,可能需要从 MATLAB 工作环境之外输入。根据数据的格式,可以采
用以下几种方法读入:
利用 MATLAB 的“load”命令,从 ASCII 文件或 MAT 文件中加载数据,该函数
的使用方法已在第二章中给出介绍,这里不再赘述;
利用一个低层文件 I/O 函数将数据读入 MATLAB,例如“fopen,fread,fscanf”
等;
开发一个 MEX 文件来读取数据;
将数据转换为 MAT 文件
也可利用其他资源读入数据,例如高级程序语言(Fortran 或者 C 等)可将数据写成
MAT 文件形式,再用 MATLAB“load”命令读取。
提示:信号处理工具箱仅支持双精度输入。如果输入单精度浮点型或整数型数据,将得不到正确的结果。
将滤波器设计工具箱与定点工具箱联合使用,可使单精度浮点和定点类型数据能够用于滤波处理及
滤波器设计。
5.1.4 工具箱的核心功能
信号处理工具箱函数大部分是一些以 M 文件表示的算法,能够实现多种信号处理功能。
这些函数是在 MATLAB 计算与制图环境之外的专门用于信号处理领域的功能扩展。
信号与系统
工具箱函数所处理的基本实体是信号和系统。这些函数专门用于处理数字(或离散)信
号,而非模拟(或连续)信号。工具箱支持的主要滤波器类型是单输入单输出的线性非时变
滤波器。可以利用一个或几个模型(例如传递函数、状态空间、零极点增益等)来表示线性
时不变系统,当然,这些不同表达形式之间可以进行相互转换。
滤波器设计分析与实现
信号处理工具箱提供滤波器设计功能,即按照特定需求,使用者可以自行设计滤波器。
工具箱中包含的滤波器设计功能主要包括 FIR 和 IIR 滤波器设计分析和实现、滤波阶数估计
模拟滤波器原型设计与转换等。
线性系统转换
工具箱拥有大量的转换函数,包括二次剖面、状态空间、零极点、网格或梯形函数、以
及传递函数之间的转换等。
窗函数
4
剩余23页未读,继续阅读
资源评论
jueluoyidai
- 粉丝: 0
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功