MATLAB课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告
设计名称:MATLAB课程设计
系别:
学生姓名:
班级:
学号:
成绩:
指导教师:
开课时间: 2010 至2011 学年第 2 学期
MATLAB语音信号的采集与处理
一、实践的目的和要求
1.MATLAB软件功能简介
MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,使MATLAB成为一个强大的数学软件。
MATLAB特点:
1) 高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;
2) 具有完备的图形处理功能,实现计算结果和编程的可视化;
3) 友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;
4) 功能丰富的应用工具箱,为用户提供了大量方便实用的处理工具。
MATLAB与其他计算机语言相比,它有很多的优点:
①友好的工作平台和编程环境
②简单易用的程序语言,运算符丰富,语言简洁紧凑,使用方便灵活,库函数
极其丰富。
③强大的科学计算机数据处理能力,MATLAB既具有结构化的控制语句(如for
循环、while循环、break语句和if语句),又有面向对象编程的特性。
④应用广泛的模块集合工具箱
⑤语法限制不严格,程序设计自由度大。
⑥程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统
上运行。
⑦出色的图形处理功能
⑧实用的程序接口和发布平台
2.本题目的意义
(1)有利于基础知识的理解
通过《MATLAB 及在电子信息类(课程中的应用)》的学习,我掌握了MATLAB 的一些基本知识和用法,对我以后的学习带来方便。 (2)有利于逻辑思维的锻炼
程序设计是公认的、最能直接有效地训练学生的创新思维,培养分析问题、解决问题能力的学科之一。即使一个简单的程序,从任务分析、确定算法、界面布局、编写代码到调试运行,整个过程学生都需要有条理地构思,这中间有猜测设想、判断推理的抽象思维训练,也有分析问题、解决问题、预测目标等能力的培养。
(3)有利于与其他学科的整合
在程序设计中,我们可以解决其它学科有关问题,也利用其它课程的有关知识来解决MATLAB 中比较抽象很难理解的知识。在MATLAB 课中整合其它学科的知识,发挥MATLAB 的优势。 (4)有利于治学态度的培养。
课程设计中,语句的语法和常量变量的定义都有严格的要求,有时输了一个中文标点、打错了一个字母,程序无法正常运行。因此,程序设计初学阶段,我们经常会犯这样的错误,可能要通过几次乃至十多次的反复修改、才能成功,但这种现象会随着学习的深入而慢慢改观。这当中就有一个严谨治学、一丝不苟的科学精神的培养,又有一个不怕失败、百折不挠品格的锻炼。 二、实践内容 1.常用信号的实现
通过编写MATLAB 软件仿真程序,掌握MATLAB 软件中常用信号的表示方法,绘图函数的使用。内容如下:
(1)单位阶跃信号f (t )= ()t ε和单位阶跃序列的实现 (2)单位冲激信号()()f t t δ=和单位脉冲序列的实现
(3)单边衰减指数信号()()t f t e t αε-=和实指数序列()n x n a =的实现 2.信号的时域基本运算
通过调用MATLAB 中的相关函数,编写信号的基本运算仿真程序,实现信号的时域基本运算,达到掌握MATLAB 相关运算函数的调用格式及功能的目的。 (1)信号的相加,相乘和移位运算 (2)序列的卷积运算 3.系统分析
通过调用MATLAB 相关函数,实现对LTI 系统的时域和频域进行分析,熟练掌
握LTI系统单位冲激响应和零状态响应得MATLAB求解方法。
(1)连续LTI系统的时域分析
(2)连续LTI系统的频域分析
4.综合设计
在熟练掌握MATLAB基本的信号处理方法的基础上,按照要求设计特定功能的综合系统,掌握MATLAB信号处理系统的仿真程序设计。综合系统题目
(1)MATLAB模拟滤波器的实现
(2)MATLAB语音信号的采集与处理
三、实践仿真程序设计及结果分析
1.常用信号的实现
(1)单位阶跃信号f(t)= ()t
ε和单位阶跃序列()()
x n u n
=的实现
①单位阶跃信号f(t)= ()t
ε的实现程序:
t0=0;t1=-1;t2=3;
dt=0.01;
t=t1:dt:-t0;
n=length(t);
t3=-t0:dt:t2;
n3=length(t3);
u=zeros(1,n);
u3=ones(1,n3);
plot(t,u);
hold on;
plot(t3,u3);
plot([-t0,-t0],[0,1]);
hold off;
axis([t1,t2,-0.2,1.5]);
>> xlabel('时间(t)');ylabel('幅值(f)');title('单位阶跃信号');
时域波形: