




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MATLAB 学年论文 2011 年 6 月 23 日 论文题目 MATLAB 的基础知识及应用 学 院 电子工程学院 年 级 2008 级 专 业 电子信息科学与技术 姓 名 孟静宇 学 号 20086586 指导教师 王晓飞 I 摘要 MATLAB 有操作简便 易学习 应用广泛等优点 熟知 MATLAB 基础知 识 合理运用 MATLAB 软件 会使学习广频通信技术 语音端点检测 形态 学图像处理以及信号与系统等学科更为简单快捷 论文通过 MATLAB 在广频 通信技术 语音端点检测 形态学图像处理以及信号与系统的应用实例 探讨 了 MATLAB 在广频通信技术 语音端点检测 形态学图像处理以及信号与系 统的应用方法 关键词 关键词 MATLAB 广频通信技术 语音端点检测 形态学图像处理 信号与系统 应用 Abstract MATLAB to operate easy to learn is widely used etc Familiar with basic knowledge a reasonable use of MATLAB software MATLAB will make learning wide frequency communications technology speech endpoint detection morphological image processing and signal and system and other disciplines more simple and quick Paper by MATLAB in wide frequency communications technology speech endpoint detection morphological image processing and signal and system examples of application discusses the MATLAB in wide frequency communications technology speech endpoint detection morphological image processing and signal and system application method Keywords MATLAB wide frequency communications technology speech endpoint detection morphological image processing signal and system the application II 目录目录 摘要 I Abstract I 第一章 MATLAB 的发展概况和基础知识 1 1 1MATLAB 的发展概况 1 1 2 matlab 基础知识 1 第二章 MATLAB 的应用 5 2 1 Matlab 基本实验 5 2 2 MATLAB 在扩频通信技术的应用情况 9 2 3 MATLAB 在语音端点检测的应用 11 2 4MATLAB 在形态学图像处理的应用 11 2 4 1Matlab 图像处理工具箱中形态学图像处理函数 11 2 4 2 形态学图像处理实现 12 2 5 MATLAB 在信号与系统中的应用 13 2 5 1 用 MATLAB 绘制信号的波形 13 2 5 2 利用 MATLAB 解微分方程 14 2 5 3 根据传递函数求解 16 结束语结束语 20 参考文献参考文献 21 MATLAB 的基础知识及应用 1 第一章第一章 MATLAB 的发展概况和基础知识的发展概况和基础知识 1 1MATLAB 的发展概况 MATLAB名字由MATrix和 LABoratory 两词的前三个字母组合而成 20世 纪七十年代 时任美国新墨西哥大学计算机科学系主任的Cleve Moler教授出于 减轻学生编程负担的动机 为学生设计了一组调用LINPACK和EISPACK库程序 的 通俗易用 的接口 此即用FORTRAN编写的萌芽状态的MATLAB 经几年 的校际流传 在Little的推动下 由Little Moler Steve Bangert合作 于1984年 成立了MathWorks公司 并把MATLAB正式推向市场 从这时起 MATLAB的 内核采用C语言编写 而且除原有的数值计算能力外 还新增了数据视图功能 MATLAB在问世仅短短几年 就以其良好的开放性和运行的可靠性而被用户广 泛接受 在20世纪九十年代的时候 MATLAB已经成为国际控制界公认的标准 计算软件 在许多国际一流学术刊物上 尤其是信息科学刊物 都可以看 到MATLAB的应用 1 2 matlab 基础知识 clear 移除工作空间里的数据项 释放内存 isvarname 检查输入的字符串是否为有效地变量名 genvarname 采用字符串构建有效的变量名 ans 当没有指定输入变量名时 临时存储最近的答案 namelengthmax 返回最大的标识符长度 global a 声明全局变量 a persistent a 声明永久变量 a eps 浮点数相对精度 matlab 计算时的容许误差 intmax 本计算机能表示的最大整数 intmin 本计算机能表示的最小整数 realmax 本计算机能表示的最大浮点数 realmax 本计算机能表示的最小浮点数 MATLAB 的基础知识及应用 2 pi 圆周率 3 1415926 i j 虚数单位 inf 无穷大 NaA 非数 无效数值 computer 计算机类 比如当返回字符串 PCWIN 时 操作系统为 Microsoft Windows version matlab 版本字符串 iskeyword 查看 matlab 所有的关键字 关系运算用于比较两个同维数组伙食同维向量的对应元素 结果为一 个同维的逻辑数组 如果运算对象一个为标量 另一个为数组或是向量 那么 先进行标量扩展 然后再比较 matlab 提供了两种类型的逻辑运算 一般逻辑运算和捷径运算 捷径 运算符只能对标量值执行逻辑与 y eval sin t plot y t 0 1 2 pi y feval sin t 或是 y feval sin t plot y 以上例子的结果都相同 都是利用 matlab 绘制正弦函数 int8 uint8 int16 uint16 int32 uint32 int64 uint64 带符号和无符号整 数数组 存储空间比单精度或双精度数组小 除 int64 和 uint64 外 其余都可用 于数学运算 整数或是整数数组与标量 double 型浮点数 运算的结果的数据类型与整数 操作数的一样 如 x uint32 21 32 43 1 1 x 23 35 47 结果都是想乘 四 舍五入得出来的 常见的整数操作函数 ceil 向无穷大方向取整 round 四舍五入 MATLAB 的基础知识及应用 4 fix 向 0 取整 floor 向无穷小方向取整 isinteger 判断输入是否为整数数组 isnumeric 判断输入是否为数值数组 如 a 0 1 2 3 isinteger a ans 0 浮点数有单精度 single 和双精度 double 两种格式 默认是 double 两者可以进行强制类型转换 double 型数据共 64 位 single 共 32 位 常见的浮点数操作函数 isfloat 检查输入是否为浮点数 eps 浮点相对精度 realmax 返回本计算机能够表示的最大浮点数 realmin 返回本计算机能够表示的最小浮点数 isreal 检查是否数组所有元素为实数 complex 函数生成复数 其调用格式有两种 c complex a b 生成复数 c 且 c a bi c complex a 生成复数 c 且 c a c 的虚部为 0 从复数中提取实部和虚部 分别用 real 和 imag 函数 如 z 2 3i real z ans 2 imag z ans 3 数值型数据还经常用到的一些其他函数 format 控制输出的显示格式 这个函数仅改变数值的显示的方式 并不 MATLAB 的基础知识及应用 5 影响 matlab 怎样计算和保存数值 whos 显示输入的数据类型 调用格式是 whos 变量名 class 创建对象或返回对象类型 isa 检查输入是否为指定的数据类型 isfinite 检查数组元素是否为有限值 isinf 检查数组元素是否为无穷大或无穷小 isnan 检查数组元素时候为 NaN 第二章第二章 MATLAB 的应用的应用 2 1 Matlab 基本实验 1 某石油公司在墨西哥海湾拥有几个石油钻井平台 每个平台开采出的石 油需要运往路易斯安那的炼油厂 要在平台与路易斯安那海岸之间建造一个管 道网 使石油通过管道传输 这管道网该如何设计 才能使建造费用最低 代码 a 0 2 inf inf inf inf inf 1 8 inf inf 2 0 1 inf inf inf inf inf 6 inf inf inf 1 0 2 inf inf inf inf inf 3 inf inf inf 2 0 9 inf inf inf inf inf 7 inf inf inf 9 0 4 inf inf inf inf 2 inf inf inf inf 4 0 1 inf inf inf 1 inf inf inf inf inf 1 0 9 inf 4 inf 1 inf inf inf inf inf 9 0 7 inf inf 8 6 inf inf inf inf inf 7 0 1 inf inf inf 3 inf inf inf 4 inf 1 0 6 inf inf inf 7 2 1 inf inf inf 6 0 T c 0 v 1 MATLAB 的基础知识及应用 6 n 11 sb 2 n for j 2 n b 1 j 1 1 b 2 j 1 j b 3 j 1 a 1 j end while size T 2 n 1 minu i min b 3 T size T 2 1 b 1 c c b 3 i v b 2 i temp find sb b 2 i sb temp b i for j 1 length sb d a v b 2 j if d b 3 j b 1 j v b 3 j d end end end T c 结果 T 1 1 2 3 4 4 4 4 6 11 2 2 3 4 5 5 5 5 5 MATLAB 的基础知识及应用 7 5 2 2 1 2 9 9 9 9 4 2 c 18 则 最低费用为 18 元 2 在一个计算机通讯网络中 某一个计算机欲呼叫另一台计算机并进行数 据传输 若传输数据量很大 又要去了传输速度 则通常需要沿容量最大的路 径进行传输数据 求两台给定计算机之间容量最大的路径 代码 a 10 8 inf inf 9 inf inf inf inf inf 4 8 10 7 inf 7 inf inf inf inf inf inf inf 7 10 inf 8 inf inf inf inf 8 inf inf inf inf 10 6 inf inf 4 inf 8 inf 9 7 8 6 10 7 inf 7 inf inf inf inf inf inf inf 7 10 inf 8 inf inf 2 inf inf inf inf inf inf 10 7 inf inf 4 inf inf inf 4 7 8 7 10 0 inf inf inf inf inf inf inf inf inf 0 10 9 inf inf inf 8 8 inf inf inf inf 9 10 inf 4 inf inf inf inf 2 4 inf inf inf 10 T c 0 v 1 n 11 MATLAB 的基础知识及应用 8 sb 2 n for j 2 n b 1 j 1 1 b 2 j 1 j b 3 j 1 a 1 j end while size T 2 n 1 minu i min b 3 T size T 2 1 b i c c b 3 i v b 2 i temp find sb b 2 i sb temp b i for j 1 length sb d a v b 2 j if d b 3 j b 1 j v b 3 j d end end end T c 结果 T 1 11 11 6 5 4 8 5 2 4 11 6 7 5 4 8 9 2 3 10 MATLAB 的基础知识及应用 9 4 2 4 7 6 4 0 7 7 8 c 49 则 最大流量是 49 2 2 MATLAB 在扩频通信技术的应用情况 扩频通信技术是一种信息传输方式 其信号所占有的频带宽度远大于 所传信息必需的最小带宽 频带的扩展是通过一个独立的码序列来完成 用编 码及调制的方法来实现的 与所传信息数据无关 在接收端则用同样的码进行 相关同步接收 解扩及恢复所传信息数据 扩频通信与一般的通信系统相比 主要是在发射端增加了扩频调制 而在接收端增加了扩频解调的过程 扩频通 信按其工作方式不同主要分为直接序列扩频系统 跳频扩频系统 跳时扩频系 统 线性调频系统和混合调频系统 现以直接序列扩频系统为例说明扩频通信 的实现方法 下图为直接序列扩频系统的原理框图 直接序列扩频系统误码率的仿真 其中 W 为传输带宽 C 为信息容量 式 8 含义是在给定信号功率S和噪声功率N的条件下 用一种编码系统 以很小 的误码率 接近C 的传输速率传送信息 根据柯捷尔尼可夫理论可知 MATLAB 的基础知识及应用 10 其中 e P 为误码率 F 为信号的频率 E 为信号能量 o N 为噪声 功率谱密度 在MATLAB中的仿真模型如下图所示 加人噪声和干扰后 取 10 C L 用3个不同的正弦信号干扰 其振幅分别 为3 7 12 在误码率运算中加性噪声的方差是固定的 总共进行了1万次运算 而且在 每次运算中 信 号能量取值都满足所需的信噪比要求 从而得到了下图所示的仿真曲线 可见 正弦干扰信 号的振幅越大 误码率越大 同样 在相同信噪比下 处理增益越大 误 码率越小 而在大 信噪比时 这种差别尤为明显 MATLAB 的基础知识及应用 11 2 3 MATLAB 在语音端点检测的应用 语音数据用wavread函数直接从语音文件中读 取 x fs nbits wavread filename 语音信号进行预处理 由于语音信号的高频端大约在 8000Hz 以上 因此需要提升 高频部分 滤除低频干扰 尤其是消除 50Hz 或 60Hz 的工频干扰 可通过将语音 信号通过一个一阶的高通滤波器来实现 滤波器的数学表达式为 11 z a 其中一 般的 98 0 93 0 a 6 并用 enframe 进行分帧 确定每一帧的长度 本文中取 帧长 256 每一帧的帧移为 90 分帧命令如下 y fi l ter 1 0 9375 1 x 256 90 短时 能量 amp sum abs y 2 2 短时过零率 tmp1 enframe x 1 end 1 256 90 tmp2 enframe x 2 end 256 90 signs tmp1 tmp2 0 02 zcr sum signs di ffs 2 实验结果 结果表明 用语音短时能量和短时过 零率相结合可以很好地检测出语音的起点和终点 把它用于语音识别系统能很好 地获取语音信号 提高语音识别系统的效果 2 4MATLAB 在形态学图像处理的应用 2 4 1Matlab 图像处理工具箱中形态学图像处理函数图像处理工具箱中形态学图像处理函数 Matlab 提供了 20 类图像处理函数 涵盖了图像处理的包括近期研究成 果在内的几乎所有的技术方法 本文中我们主要介绍灰度与二值图像的形态学运 算的 IPT 函数 在 Matlab 中 IPT 函数 strel 运用各种形状和大小构建结构元素 其基本 语法为 se strel shape parameters 其中 shape 是指定希望形状的字符串 而 MATLAB 的基础知识及应用 12 parameters 是指定形状 如其大小 的一列参数 IPT 函数 imdilate 执行膨胀运算 基本的调用语法为 A2 A B 其中 A2 和 A 是二值图像或灰度图像 B 是指定的 结构元素的由 0 和 1 组成的矩阵 腐蚀则用 IPT 函数 imerode 执行 开运算和 闭运算在工具箱中用函数 imopen 和 imclose 实现 击中或击不中变换在 IPT 中 用函数 bwhitmiss 实现 该函数语法为 C bwhitmiss A B1 B2 其中 C 为结果 A 为 输入图像 B1 和 B2 为结构元素 2 4 2 形态学图像处理实现形态学图像处理实现 由于 Matlab 工具箱中含有丰富的形态学图像处理函数 使得我们在用形 态学方法进行处理时能尽可能达到所需要的效果 形态学技术对图像进行预处 理的过程中能够很好实现对图像的滤波 细化和裁剪 还能实现对图像边缘检测 及特征提取 下面我们利用 Matlab 形态学处理函数对一副不均匀亮度的米粒图 像进行滤波处理 并进行阈值处理 使得米粒和背景分割开来 来比较滤波处理前 后图像的分割效果 滤波处理部分源程序如下 f imread rice png se strel disk 50 fo imopen f se 读入图像米粒图 像 并对图像进行开运算 figure imshow f 显示米粒原图像 如图 a 图 a figure imshow fo 显示经开运算之后的图像 如图 b 图 b f2 imsubtract f fo 米粒原图像减去经开运算后的图像 获得一副均匀 背景的米粒图像 MATLAB 的基础知识及应用 13 figure imshow f2 显示均匀背景的米粒图像 如图 c 图 c 2 5 MATLAB 在信号与系统中的应用 2 5 1 用 MATLAB 绘制信号的波形 运用 MATLAB 绘图 可以很快速和简便的得到响应函数的波形图 通过 分析响应的波形将对信号的分析有更深入的了解 用 MATLAB 绘制 f t e t 3 2e t 其中 e t 为 step 函数 解 在 MATLAB 窗口中输入如下命令 f sym heaviside t 3 2 heaviside t ezplot f 5 4 hold on plot 0 0 1 1 axis 5 4 1 1 1 1 hold off 得图一 MATLAB 的基础知识及应用 14 图一 2 5 2 利用 MATLAB 解微分方程 在信号与系统中 连续时间系统处理连续时间信号 通常用微分方程来描 述这类系统 也就是系统的输入与输出之间通过他们时间函数及其对时间 t 的 各阶导数的线性组合联系起来 因此 在信号与系统中 求解微分方程对于研 究连续时间系统的时域分析非常的重要 运用 MATLAB 的方法 求解线性微分方程 y 5y 4y 7y 3u 0 5u 4u 在输入 u t 为单位脉冲及单位阶跃信号时的解 解 两边进行拉普拉斯变换 脉冲输入 U S 1 单位阶跃 U S 1 S sA sB su sss ss sy 745 45 03 23 2 求脉冲响应 A 1 5 4 7 B 3 0 5 4 r p k residue B A MATLAB 的基础知识及应用 15 时域解 t 0 0 2 10 y r 1 exp p 1 t r 2 exp p 2 t r 3 exp p 3 t plot t y 得图二 图二 求阶跃响应 打开 MATLAB 中的 simulink 模块 建立一个模型文件 命名为 meng mdl 如图三 图三 单击仿真按钮 然后返回 MATLAB 中输入一下命令 即可得到如图四 MATLAB 的基础知识及应用 16 图四 2 5 3 根据传递函数求解 根据传递函数求系统的零极点分布 单位冲激响应 单位阶跃响应以及幅 频特性 在分析系统的静态和动态特性时 常常可以通过对传递函数进行分析 从 而解决系统是否稳定等问题 然而传统的分析方法 常常要借助于人工计算 不仅工作量比较大 而且效率也比较低 而 MATLAB 解决了这一难题 本文 通过调用 MATLAB 内部的函数进行计算 非常的高效的得到了零级点分布 单位冲激响应 单位阶跃响应以及幅频特性 非常的直观 例 传递函数是 122 1 H 23 sss s 解 首先建立一个 m 文件 并且命名为 meng m clear t 0 0 01 10 MATLAB 的基础知识及应用 17 num 1 den 1 2 2 1 sys tf num den poles roots den figure 1 pzmap sys 零级点分布 h1 impulse num den t figure 2 plot
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教版部编三年级下册语文教案设计
- 农业合作园区项目开发合同
- 口腔科工作年度总结与汇报
- 中学语文节选文档情境默写训练
- 快递行业仓储及分拣操作规范
- 牛顿第一定律实验教学练习题册
- 新媒体运营人员技能培训及考核方案
- 幼儿园健康饮食方案设计与实施
- 员工绩效反馈与沟通技巧培训
- 协议之项目中介服务协议
- 宁夏银川九中教育集团阅海一校区2024-2025学年上学期七年级期末数学试卷
- 亚朵酒店前台培训
- 中医预防老年痴呆方案
- QC七大手法培训
- 建设弹簧项目环评资料环境影响
- 企业财务分析实践指南
- 青少年足球训练安全保障措施
- 体格检查(心肺)
- 《品质稽核技巧培训》课件
- 《鸿蒙智能互联设备开发(微课版)》全套教学课件
- 215kWh工商业液冷储能电池一体柜用户手册
评论
0/150
提交评论