《MATLAB课程设计》报告DOC
Matlab课程设计报告

至诚学院《 MATLAB 实践》课程设计学生姓名:学号:专业班级:(2)指导教师:二○一四年四月三十日目录1.设计目的 (3)2.题目分析 (3)3.总体设计 (3)4.具体设计 (4)5.小结和心得 (15)1、设计目的:使用MATLAB的GUI程序设计学生成绩管理系统。
完成需学生成绩的基本管理,包含对学生成绩的读入、修改、添加和查询等基本的功能。
本课题主要解决对学生成绩总体的客观评价,通过一系列数据的分析比较,例如平均值,成绩分布等整体数据的处理,以及matlab和excel在数据联动功能方面的应用,所绘制的直方图、正态分布图等图像信息使得分析成绩系统更直观、有效地反映学生此课程这一阶段的表现,进而研究今后的教学重点,以及从教学到考试等一连串过程中的薄弱环节,从而达到教学相长的目的。
不论是对学生的整体学习情况还是单独考虑每个学生的学习情况都能够进行较好的评价。
面比起单纯的"绝对分数"评价学生的学习状况,忽略了基础条件的差异,我们运用了各种方法和模型来去避免这类现象的发生,动态的分析每个学生的情况,并从定性和定量两方面分别给出了数值与建议。
2、题目分析根据课题的要求,分析成绩管理系统的现实需求,我们可以概括为设计的程序应该包含的几个基本模块及应该完成的功能如下:1.文件管理:完成成绩表格的导入(.xls文件),完成对修改后的成绩文件的保存。
2.成绩管理:完成对学生成绩、学号、成绩、总分的显示和修改,还有添加新的学生的信息。
3.查询管理:完成对姓名或者学号的查询的显示和删除,学生的信息显示在成绩管理里面的显示框里面。
4.在学生的姓名显示框点击学生姓名,成绩管理系统里面自动获取学生的基本信息。
5.统计出学生的最高分和最低分以及各科成绩的平均分情况。
6.通过各科成绩的统计分布直方图,直观地分析学生的各科的成绩状况。
3、总体设计围绕设计的题目范围,我们可以将起绘制成功能模块的总体模块图如下图1。
Matlab课程设计报告

《MATLAB》课程设计报告设计课题:MATLAB综合实验学生姓名:学生学号:专业班级:指导教师:一、课程设计的目的及其意义了解matlab的窗口工具栏的使用以及作用、让matlab成为我们的日常好帮手,并为将来使用matlab进行信号处理领域的各种分析和实际应用打下基础。
二、课程设计原理matlab软件包有五大功能:数值计算功能、符号运算功能、数据化可视功能、数据图形文字统一处理功能和建模仿真可视化功能。
matlab在信号与系统中的主要功能是数值计算与仿真分析,主要包括函数波形绘制、函数运算、冲击响应与阶跃响应仿真分析、信号的时域分析、信号的频谱分析、信号的S域分析和零极点图绘制等内容。
三、课程设计要求使用帮助功能,绘制出sinc和三角波的波形。
四、课程设计过程1、函数代码Sinc波的函数代码及图像t=—pi:0。
001:pi; x=sinc(t);plot(t,x);xlabel('t’),ylabel(’sinc(t);');三角波的函数代码及图像t=-2*pi:0。
001:2*pi;y=sawtooth(t);plot(t,y);xlabel(’t'),ylabel(’ y=sawtooth(t);’);五、课程设计体会刚开始拿到这个课程设计、并不知道该干些什么东西,不过还是决定先打开matlab软件看看,一下想到弄两个波形出来,看看会是怎么样的效果。
于是把两个程序输入,并得到了波形其实对于matlab的学习已经有一段时间了,可是发现自己对这个软件的认识还只是皮毛上的东西。
matlab是一个基于矩阵运算的软件,这是我们大家都知道的事情了,但是,在真正运用这个软件的时候(就是在编程的时候),很多人特别是我这样的初学者,很多时候往往没有注意到这个问题,所以就会有for循环(包括while循环)嵌套了十几层,这种做法浪费了大量资源,而且没有发挥matlab的长处,还浪费了大家宝贵的时间,就只见左下角一直busy。
MATLAB课程设计

MATLAB课程设计课程设计(论文)题目:用MATLAB语言程序开发凑五子棋游戏专业:信息与计算科学指导教师:张大海学生姓名:谢艳涛班级-学号:信计131-30学生姓名:黄元福班级-学号:信计131-26学生姓名:辛安班级-学号:信计131-222016年 11月摘要凑五子棋是一种两人对弈的纯策略型棋类游戏,应用MATLAB语言编写程序可以在计算机上实现二人对弈凑五子棋功能。
二人对弈凑五子棋程序由欢迎界面显示、游戏界面生成、光标移动与落子、判断胜负、悔棋功能、提供音效等子程序构成;程序中应用了结构体、数组、全局变量、按键处理和图形编程等元素和语句。
程序通过棋盘和棋子图像生成、二人移子与落子和判断胜负等功能的实现,在计算机上实现了二人凑五子棋对弈。
目录摘要-------------------------------------------------- II 第1章:需求分析 ---------------------------------------- 11.1凑五子棋背景 ----------------------------------- 11.2 凑五子棋需求分析和流程设计--------------------- 1 第2章:概要设计 ---------------------------------------- 72.1 各类头文件和全局变量--------------------------- 72.2 画面显示模块----------------------------------- 8 第3章:详细设计 --------------------------------------- 103.1 玩家操作模块---------------------------------- 103.2音效提供模块 ---------------------------------- 113.3 胜负判断模块---------------------------------- 11 第4章:调试分析 --------------------------------------- 124.1 图形模块-------------------------------------- 12 4.2 玩家操作模块 ------------------------------------ 134.3 胜负判断模块---------------------------------- 14 第5章:用户手册 --------------------------------------- 14第6章:小组分工 --------------------------------------- 15 第7章:结论与心得 ------------------------------------- 16 第8章:源程序代码 ------------------------------------ 16第1章:需求分析1.1凑五子棋背景传统凑五子棋的棋具与围棋相同,棋子分为黑白两色,棋盘为18×18,棋子放置于棋盘线交叉点上。
matlab 课程设计 实验报告

前言 (3)一.课程设计题目及要求 (4)1.1 课程设计的目的 (4)1.2课程设计内容及要求 (4)二.设计具体实现 (6)2.1 设计思想 (6)2.2 系统功能结构 (6)3.关键部分详细描述和介绍 (7)3.1 信号产生函数 (7)3.2 幅频分析函数 (8)3.3 相频分析函数 (8)3.4 切比雪夫高通滤波函数 (10)3.5 窗函数法高通滤波函数 (11)3.6 输出信号分析函数 (12)四. 心得体会 (13)参考文献 (14)源程序 (15)数字信号处理课程设计与《数字信号处理》课程配套,是电子通信工程专业的重要实践环节。
数字信号处理是每一个电子信息科学工作者必须掌握的重要知识。
数字信号处理是利用计算机或专用处理设备,以数值计算的方法对信号进行采集、抽样、变换、综合、估值与识别等加工处理,借以达到提取信息和便于应用的目的。
它在语音、雷达、图像、系统控制、通信、航空航天、生物医学等众多领域都获得了极其广泛的应用。
具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等优点。
数字滤波器, 是数字信号处理中及其重要的一部分。
随着信息时代和数字技术的发展,受到人们越来越多的重视。
数字滤波器可以通过数值运算实现滤波,所以数字滤波器处理精度高、稳定、体积小、重量轻、灵活不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊功能。
数字滤波器种类很多,根据其实现的网络结构或者其冲激响应函数的时域特性,可分为两种,即有限冲激响应( FIR,Finite Impulse Response)滤波器和无限冲激响应( IIR,Infinite Impulse Response)滤波器。
FIR滤波器结构上主要是非递归结构,没有输出到输入的反馈,系统函数H (z)在处收敛,极点全部在z = 0处(因果系统),因而只能用较高的阶数达到高的选择性。
FIR数字滤波器的幅频特性精度较之于IIR数字滤波器低,但是线性相位,就是不同频率分量的信号经过fir滤波器后他们的时间差不变,这是很好的性质。
matlab课程设计完整版

matlab课程设计完整版一、教学目标本节课的教学目标是让学生掌握MATLAB的基本语法和操作,能够利用MATLAB进行简单的数学计算和数据分析。
具体来说,知识目标包括:了解MATLAB的历史和发展,掌握MATLAB的基本语法和数据类型,熟悉MATLAB的工作环境。
技能目标包括:能够使用MATLAB进行矩阵运算,编写简单的MATLAB脚本程序,进行数学计算和数据分析。
情感态度价值观目标包括:培养学生对科学计算软件的兴趣,增强学生的动手能力和团队协作能力。
二、教学内容本节课的教学内容主要包括MATLAB的基本语法和操作。
首先,介绍MATLAB的历史和发展,使学生对MATLAB有一个整体的认识。
然后,讲解MATLAB的基本语法和数据类型,如矩阵的创建和操作,数据的输入和输出等。
接着,介绍MATLAB的工作环境,包括命令窗口、变量浏览器和脚本文件等。
最后,通过实例演示和练习,使学生能够熟练使用MATLAB进行简单的数学计算和数据分析。
三、教学方法为了达到本节课的教学目标,将采用讲授法、实践法和讨论法等多种教学方法。
首先,通过讲授法向学生介绍MATLAB的基本概念和语法。
然后,通过实践法,让学生动手操作MATLAB软件,进行实际的数学计算和数据分析。
在实践过程中,引导学生进行讨论,分享自己的心得和经验,互相学习和进步。
最后,通过讨论法,对学生的学习情况进行总结和评价,及时调整教学策略。
四、教学资源为了保证本节课的教学质量,将准备教材、多媒体资料和实验设备等多种教学资源。
教材是学生学习的基础,多媒体资料可以丰富教学手段,实验设备则是学生进行实践操作的重要工具。
此外,还将利用网络资源,如在线教程和讨论区,为学生提供更多的学习资料和实践机会。
五、教学评估本节课的教学评估将采用多元化的评价方式,以全面、客观、公正地评估学生的学习成果。
评估方式包括平时表现、作业和考试等。
平时表现主要考察学生的课堂参与度和团队合作能力,通过观察和记录学生在课堂上的表现来进行评估。
matlab课程设计

m a t l a b课程设计(简单计算器的设计)(共16页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--matlab课程设计报告题目简易计算器的设计学院电子信息工程学院专业电子信息学生姓名和学号指导教师一、选题目的及意义GUI的广泛应用是当今计算机发展的重大成就之一,它极大地方便了非专业用户的使用。
人们从此不再需要死记硬背大量的命令,取而代之的是可以通过窗口、菜单、按键等方式来方便地进行操作,而在matlab有很简单的gui设计工具,我们可以通过这个工具轻松地构建我们想要的程序,从而实现与用户的信息交互。
本次课程设计是使用了matlab中的guide生成了简单的计算器程序。
二、源代码function varargout = Calculator(varargin)%Simple Calculator%@Anhui University% Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct('gui_Name', mfilename, ...'gui_Singleton', gui_Singleton, ...'gui_OpeningFcn', @Calculator_OpeningFcn, ...'gui_OutputFcn', @Calculator_OutputFcn, ...'gui_LayoutFcn', [] , ...'gui_Callback', []);if nargin && ischar(varargin{1})= str2func(varargin{1});endif nargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});elsegui_mainfcn(gui_State, varargin{:});end% End initialization code - DO NOT EDIT% --- Executes just before Calculator is made visible.function Calculator_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn.% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% varargin command line arguments to Calculator (see VARARGIN)% Choose default command line output for Calculator= hObject;% Update handles structureguidata(hObject, handles);% UIWAIT makes Calculator wait for user response (see UIRESUME)% uiwait;% --- Outputs from this function are returned to the command line. function varargout = Calculator_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT);% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Get default command line output from handles structure varargout{1} = ;% --- Executes on button press in p1.function p1_Callback(hObject, eventdata, handles)% hObject handle to p1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) textstring=get,'string');textstring=strcat(textstring,'1');set,'string',textstring)% --- Executes on button press in p2.function p2_Callback(hObject, eventdata, handles)% hObject handle to p2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) textstring=get,'string');textstring=strcat(textstring,'2');set,'string',textstring)% --- Executes on button press in p3.function p3_Callback(hObject, eventdata, handles)% hObject handle to p3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) textstring=get,'string');textstring=strcat(textstring,'3');set,'string',textstring)% --- Executes on button press in p4.function p4_Callback(hObject, eventdata, handles)% hObject handle to p4 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) textstring=get,'string');textstring=strcat(textstring,'4');set,'string',textstring)% --- Executes on button press in p5.function p5_Callback(hObject, eventdata, handles)% hObject handle to p5 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) textstring=get,'string');textstring=strcat(textstring,'5');set,'string',textstring)% --- Executes on button press in p6.function p6_Callback(hObject, eventdata, handles)% hObject handle to p6 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) textstring=get,'string');textstring=strcat(textstring,'6');set,'string',textstring)% --- Executes on button press in p7.function p7_Callback(hObject, eventdata, handles)% hObject handle to p7 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) textstring=get,'string');textstring=strcat(textstring,'7');set,'string',textstring)% --- Executes on button press in p8.function p8_Callback(hObject, eventdata, handles)% hObject handle to p8 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) textstring=get,'string');textstring=strcat(textstring,'8');set,'string',textstring)% --- Executes on button press in p9.function p9_Callback(hObject, eventdata, handles)% hObject handle to p9 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) textstring=get,'string');textstring=strcat(textstring,'9');set,'string',textstring)% --- Executes on button press in add.function add_Callback(hObject, eventdata, handles)% hObject handle to add (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) textstring=get,'string');textstring=strcat(textstring,'+');set,'string',textstring)% --- Executes on button press in p0.function p0_Callback(hObject, eventdata, handles)% hObject handle to p0 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) textstring=get,'string');textstring=strcat(textstring,'0');set,'string',textstring)% --- Executes on button press in sub.function sub_Callback(hObject, eventdata, handles)% hObject handle to sub (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) textstring=get,'string');textstring=strcat(textstring,'-');set,'string',textstring)% --- Executes on button press in div.function div_Callback(hObject, eventdata, handles)% hObject handle to div (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) textstring=get,'string');textstring=strcat(textstring,'/');set,'string',textstring)% --- Executes on button press in mul.function mul_Callback(hObject, eventdata, handles)% hObject handle to mul (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) textstring=get,'string');textstring=strcat(textstring,'*');set,'string',textstring)% --- Executes on button press in denghao.function denghao_Callback(hObject, eventdata, handles)% hObject handle to denghao (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) textstring=get,'string');textstring=eval(textstring);set,'string',textstring)% --- Executes on button press in clear.function clear_Callback(hObject, eventdata, handles)% hObject handle to clear (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) set,'string','0')% --------------------------------------------------------------------function exit_Callback(hObject, eventdata, handles)% hObject handle to exit (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) close(gcf)% --------------------------------------------------------------------function calculate_Callback(hObject, eventdata, handles)% hObject handle to calculate (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) textstring=get,'string');textstring=eval(textstring);set,'string',textstring)% --- Executes on button press in point.function point_Callback(hObject, eventdata, handles)% hObject handle to point (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) textstring=get,'string');textstring=strcat(textstring,'.');set,'string',textstring)设计功能:1.可进行加减乘除四则运算2.可进行清零,退出等三、界面设计及运行结果1-1. GUIDE 设计界面1-2.进入程序初始状态1-3.简单的实例测试五、心得及体会通过这次matlab课程设计,让我对matlab有了更深的了解。
《MATLAB课程设计》报告.DOC

《MATLAB课程设计》报告设计题目:基于MATLAB的语音信号采集与处理学生姓名:学生学号:********专业班级:光信息科学与技术答辩时间:2013年12月指导教师:冯明库广东技术师范学院电子与信息学院一、设计目的及意义1. MATLAB软件功能简介MATLAB的名称源自Matrix Laboratory,1984年由美国Mathworks公司推向市场。
它是一种科学计算软件,专门以矩阵的形式处理数据。
MATLAB将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛的应用于科学计算、控制系统和信息处理等领域的分析、仿真和设计工作。
MATLAB软件包括五大通用功能,数值计算功能(Nemeric)、符号运算功能(Symbolic)、数据可视化功能(Graphic)、数字图形文字统一处理功能(Notebook)和建模仿真可视化功能(Simulink)。
其中,符号运算功能的实现是通过请求MAPLE 内核计算并将结果返回到MATLAB命令窗口。
该软件有三大特点,一是功能强大;二是界面友善、语言自然;三是开放性强。
目前,Mathworks公司已推出30多个应用工具箱。
MATLAB在线性代数、矩阵分析、数值及优化、数值统计和随机信号分析、电路与系统、系统动力学、次那好和图像处理、控制理论分析和系统设计、过程控制、建模和仿真、通信系统以及财政金融等众多领域的理论研究和工程设计中得到了广泛应用。
MATLAB在信号与系统中的应用主要包括符号运算和数值计算仿真分析。
由于信号与系统课程的许多内容都是基于公式演算,而MATLAB借助符号数学工具箱提供的符号运算功能,能基本满足信号与系统课程的需求。
例如解微分方程、傅里叶正反变换、拉普拉斯正反变换和z正反变换等。
MATLAB在信号与系统中的另一主要应用是数值计算与仿真分析,主要包括函数波形绘制、函数运算、冲击响应与阶跃响应仿真分析、信号的时域分析、信号的频谱分析、系统的S域分析和零极点图绘制等内容。
MATLAB课程设计报告(绝对完整)

课程设计任务书学生姓名:董航专业班级:电信1006班指导教师:阙大顺,李景松工作单位:信息工程学院课程设计名称:Matlab应用课程设计课程设计题目:Matlab运算与应用设计5初始条件:1.Matlab6.5以上版本软件;2.课程设计辅导资料:“Matlab语言基础及使用入门”、“Matlab及在电子信息课程中的应用”、线性代数及相关书籍等;3.先修课程:高等数学、线性代数、电路、Matlab应用实践及信号处理类相关课程等。
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1.课程设计内容:根据指导老师给定的7套题目,按规定选择其中1套完成;2.本课程设计统一技术要求:研读辅导资料对应章节,对选定的设计题目进行理论分析,针对具体设计部分的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(含计算结果和图表),并对实验结果进行分析和总结。
具体设计要求包括:①初步了解Matlab、熟悉Matlab界面、进行简单操作;②MATLAB的数值计算:创建矩阵矩阵运算、多项式运算、线性方程组、数值统计;③基本绘图函数:plot, plot3, mesh, surf等,要求掌握以上绘图函数的用法、简单图形标注、简单颜色设定等;④使用文本编辑器编辑m文件,函数调用;⑤能进行简单的信号处理Matlab编程;⑥按要求参加课程设计实验演示和答辩等。
3.课程设计说明书按学校“课程设计工作规范”中的“统一书写格式”撰写,具体包括:①目录;②与设计题目相关的理论分析、归纳和总结;③与设计内容相关的原理分析、建模、推导、可行性分析;④程序设计框图、程序代码(含注释)、程序运行结果和图表、实验结果分析和总结;⑤课程设计的心得体会(至少500字);⑥参考文献(不少于5篇);⑦其它必要内容等。
时间安排:1.5周(分散进行)参考文献:[1](美)穆尔,高会生,刘童娜,李聪聪.MA TLAB实用教程(第二版) . 电子工业出版社,2010.[2]王正林,刘明.精通MATLAB(升级版) .电子工业出版社,2011.[3]陈杰. MA TLAB宝典(第3版) . 电子工业出版社,2011.[4]刘保柱,苏彦华,张宏林. MATLAB 7.0从入门到精通(修订版) . 人民邮电出版社,2010.指导教师签名:年月日系主任(或责任教师)签名:年月日目录1 MATLAB的简介 (1)2课程设计内容 (4)2.1 (5)2.2 (2)2.3 (2)2.4 (2)2.5 (2)2.6 (2)2.7 (2)2.8 (2)2.9 (2)2.10 (2)3课程设计心得体会 (1)4参考文献 (1)1 Matlab 软件简介1.1 MATLAB产生的历史背景MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
matlab自修课程设计报告(matlab实现傅立叶变换)

matlab实现信号的傅立叶变换一、设计目的1.熟悉和掌握matlab的基本使用方法,能够熟练运用matlab。
ﻩ2.巩固信号与系统中的傅立叶变换内容,加深对这部分内容的理解。
二、设计任务ﻩ1.掌握matlab的基本操作。
2.利用matlab实现典型非周期信号的傅立叶变换,画出信号的时域图和频域图。
3.利用matlab实现傅立叶变换的基本性质。
三、设计原理1.matlab简介MATLAB是MathWorks公司推出的一套高性能的数值计算和可视化软件,经过多年大量的、坚持不懈的改进,现在MATLAB已经更新至7.x版。
MATLAB集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便的、界面友好的用户环境。
在这个环境下,对所要求解的问题,用户只需简单地列出数学表达式,其结果便以人们十分熟悉的数值或图形方式显示出来。
MATLAB可用来解决实际的工程和数学问题,其典型应用有:通用的数值计算,算法设计,各种学科(如自动控制、数字信号处理、统计信号处理)等领域的专门问题求解。
MATLAB语言易学易用,不要求用户有高深的数学和程序语言知识,不需要用户深刻了解算法及编程技巧。
MATLAB既是一种编程环境,又是一种程序设计语言。
这种语言与C、FORTRAN等语言一样,有其内定的规则,但MATLAB的规则更接近数学表示。
使用更为简便,可使用户大大节约设计时间,提高设计质量。
2.matlab2013b基本界面介绍matlab2013b主界面窗口基本分为五个部分:1)主菜单界面在此界面我们只需要用到新建命令文件和对程序进行间断调试的功能2)文件查看窗口,双击可快速打开文件3)写命令窗口及提示窗口在这个窗口可写入参数、写入公式、显示错误、显示帮助等功能,例如对a赋值、写入公式f =a*a、显示帮助:公式fft的使用方法4)历史命令查看窗口在该窗口可查看历史输入命令,双击历史命令可再次输入到命令窗口5)数值查看窗口在该窗口可查看所有参数详细数值3.理论原理:傅里叶变换的基本思想首先由法国学者傅里叶系统提出,所以以其名字来命名以示纪念。
MATLAB课程设计报告

《基于MATLAB的图像处理》课程设计学生姓名:徐清福学号:110700136专业班级:信通一班指导教师:郑晓明二○一零年 4 月8 日目录(二号字体)一.课程设计目的 (2)二.课程设计要求 (2)三.课程设计报告内容 (2)四.程序需求和模块分析 (2)五.详细设计过程 (3)六.调试及分析 (16)七.心得体会 (17)八.附录 (18)九.参考文献 (34)课程设计的内容如下:一.课程设计目的综合运用MATLAB工具箱实现图像处理的GUI程序设计。
二.课程设计题目描述和要求1)熟悉和掌握MATLAB 程序设计方法2)掌握MATLAB GUI 程序设计3)学习和熟悉MATLAB图像处理工具箱4)学会运用MATLAB工具箱对图像进行处理和分析三.课程设计报告内容学习MATLAB GUI程序设计,利用MA TLAB图像处理工具箱,设计和实现自己的Photoshop 。
要求:按照软件工程方法,根据需求进行程序的功能分析和界面设计,给出设计详细说明。
然后按照自己拟定的功能要求进行程序设计和调试。
1)图像的读取和保存。
2)设计图形用户界面,让用户能够对图像进行任意的亮度和对比度变化调整,显示和对比变换前后的图像。
3)设计图形用户界面,让用户能够用鼠标选取图像感兴趣区域,显示和保存该选择区域。
4)编写程序通过最近邻插值和双线性插值等算法将用户所选取的图像区域进行放大和缩小整数倍的操作,并保存,比较几种插值的效果。
5)图像直方图统计和直方图均衡,要求显示直方图统计,比较直方图均衡后的效果。
6)能对图像加入各种噪声,并通过几种滤波算法实现去噪并显示结果。
比较去噪效果。
四.程序需求和功能模块分析在设计过程中出满足了一般的数字图像处理功能。
例如读取图像、保存图像、图像的旋转变换、加噪声去噪声、彩色图像直方图统计、频谱分析、灰度图像处理和彩色图像的颜色转换模型等基本功能。
本设计还加入了边沿检测和用滑动条控制图像的亮度和gamma值等功能。
matlab课程设计报告摘要

matlab课程设计报告摘要一、教学目标本课程的教学目标是使学生掌握MATLAB的基本语法、编程技巧和应用方法,能够利用MATLAB进行简单的科学计算和数据分析。
具体目标如下:1.掌握MATLAB的基本语法和数据类型。
2.掌握MATLAB的矩阵运算和线性方程求解。
3.了解MATLAB的图形绘制和图像处理功能。
4.能够使用MATLAB进行简单的科学计算和数据分析。
5.能够编写MATLAB脚本文件和函数文件。
6.能够利用MATLAB绘制图形和图像。
情感态度价值观目标:1.培养学生的团队合作意识和沟通能力。
2.培养学生的创新思维和实践能力。
3.培养学生的科学精神和责任感。
二、教学内容根据课程目标,教学内容主要包括MATLAB的基本语法、矩阵运算、线性方程求解、图形绘制和图像处理。
具体安排如下:1.MATLAB的基本语法和数据类型:变量定义、数据类型转换、运算符、函数等。
2.矩阵运算:矩阵的创建、矩阵的运算规则、矩阵的逆、矩阵的秩等。
3.线性方程求解:高斯消元法、矩阵的逆、线性方程组的解法等。
4.图形绘制:基本图形绘制、图形的属性设置、图形的编辑和修饰等。
5.图像处理:图像的读取和显示、图像的转换和处理、图像的分析和识别等。
三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法相结合的方式。
主要包括:1.讲授法:通过讲解MATLAB的基本语法、矩阵运算、线性方程求解等内容,使学生掌握相关知识。
2.案例分析法:通过分析实际案例,使学生了解MATLAB在科学计算和数据分析中的应用。
3.实验法:通过上机实验,使学生亲自操作MATLAB,巩固所学知识,提高实际操作能力。
4.小组讨论法:通过小组讨论和合作,培养学生的团队合作意识和沟通能力。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:《MATLAB入门教程》或《MATLAB实用教程》等。
2.参考书:提供一些相关的参考书籍,供学生课后自学。
matlab课程设计报告摘要

matlab课程设计报告摘要一、教学目标本课程的教学目标是使学生掌握MATLAB的基本语法、编程技巧以及解决科学计算和工程问题的能力。
具体目标如下:1.知识目标:•掌握MATLAB的基本数据类型、运算符和表达式。
•理解MATLAB的编程结构,包括条件语句、循环语句和函数。
•熟悉MATLAB的矩阵操作、数据分析和解算器功能。
2.技能目标:•能够使用MATLAB进行数学计算、数据可视化和仿真。
•能够编写MATLAB脚本文件和函数文件,解决实际问题。
•能够利用MATLAB与其他软件进行数据交换和协同工作。
3.情感态度价值观目标:•培养学生的团队合作精神和问题解决能力。
•培养学生的创新意识和科学思维方式。
•培养学生对MATLAB软件的兴趣和积极性。
二、教学内容根据教学目标,本课程的教学内容主要包括以下几个方面:1.MATLAB基本语法和编程结构:•数据类型、运算符和表达式。
•变量和赋值语句。
•矩阵操作和线性方程组求解。
2.MATLAB控制结构:•条件语句和循环语句。
•嵌套结构和转移语句。
3.MATLAB函数和脚本文件:•函数的定义和调用。
•脚本文件的编写和执行。
4.MATLAB数据可视化和仿真:•二维和三维图形绘制。
•图像处理和动画制作。
5.MATLAB与其他软件的交互:•数据交换和文件操作。
•与其他编程语言的集成。
三、教学方法为了实现教学目标,本课程将采用多种教学方法相结合的方式:1.讲授法:通过教师的讲解和示范,引导学生掌握MATLAB的基本概念和编程技巧。
2.讨论法:通过小组讨论和问题解答,培养学生的合作精神和问题解决能力。
3.案例分析法:通过分析实际案例,让学生学会将MATLAB应用于解决科学计算和工程问题。
4.实验法:通过上机实验,让学生动手实践,加深对MATLAB编程的理解和应用能力。
四、教学资源为了支持教学内容和教学方法的实施,本课程将利用以下教学资源:1.教材:选用权威的MATLAB教材,提供全面、系统的知识体系。
matlab程序设计课程设计

matlab程序设计课程设计一、教学目标本课程的目标是使学生掌握Matlab程序设计的基本原理和方法,培养学生运用Matlab解决实际问题的能力。
具体的教学目标如下:1.知识目标:(1)理解Matlab的基本语法和编程方法。
(2)熟悉Matlab的数据类型、运算符和控制结构。
(3)掌握Matlab函数的定义和调用方法。
(4)了解Matlab的绘图功能和图形用户界面设计。
2.技能目标:(1)能够运用Matlab编写简单的程序,解决数学、工程和科学计算问题。
(2)具备阅读和分析Matlab程序的能力。
(3)能够独立完成Matlab程序的调试和优化。
(4)学会使用Matlab进行数据分析和可视化。
3.情感态度价值观目标:(1)培养学生对计算机编程的兴趣和热情。
(2)增强学生运用计算机技术解决实际问题的意识。
(3)培养学生团队合作精神和自主学习能力。
二、教学内容本课程的教学内容主要包括以下几个部分:1.Matlab概述:介绍Matlab的发展历程、功能特点和应用领域。
2.Matlab基本语法:包括数据类型、运算符、控制结构等。
3.Matlab函数:介绍常用数学函数、绘图函数和图形用户界面设计函数。
4.Matlab编程实践:通过实例讲解如何运用Matlab解决实际问题。
5.Matlab与其他软件的接口:介绍Matlab与其他软件的联合使用方法。
三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式进行教学:1.讲授法:用于讲解Matlab的基本语法和函数。
2.案例分析法:通过分析实际案例,使学生掌握Matlab在工程和科学计算中的应用。
3.实验法:安排上机实验,让学生动手实践,巩固所学知识。
4.讨论法:学生进行小组讨论,培养团队合作精神和解决问题的能力。
四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:选用权威、实用的Matlab教材作为主要教学资料。
2.参考书:提供相关的Matlab编程指南和实例教程。
简单matlab课程设计报告

简单matlab课程设计报告一、教学目标本课程旨在通过MATLAB软件的基本操作和编程技巧,培养学生的科学计算能力和解决实际问题的能力。
通过本课程的学习,学生将掌握MATLAB软件的基本使用方法,包括数据的导入导出、矩阵运算、图形绘制等功能,并能够运用MATLAB进行简单的科学计算和数据分析。
在技能目标方面,学生将学会使用MATLAB编写简单的脚本程序和函数程序,能够运用MATLAB解决实际问题,如线性方程组的求解、数据的拟合和可视化等。
在情感态度价值观目标方面,学生将培养对科学计算和数据分析的兴趣,提高对MATLAB软件的认同感和运用MATLAB解决实际问题的自信心。
二、教学内容本课程的教学内容主要包括MATLAB软件的基本操作、矩阵运算、图形绘制以及简单的编程技巧。
具体来说,我们将从MATLAB软件的安装和使用方法开始,介绍MATLAB的工作环境、命令窗口和图形用户界面。
然后,我们将学习MATLAB的基本数据类型,如矩阵和细胞数组,以及基本的矩阵运算,如加减乘除、转置和逆矩阵等。
接下来,我们将介绍MATLAB的图形绘制功能,包括绘制线图、散点图、柱状图等,并学习如何对图形进行美化和标注。
最后,我们将学习MATLAB的编程技巧,包括变量的定义和赋值、循环和条件语句、函数的定义和调用等。
三、教学方法为了提高学生的学习兴趣和主动性,我们将采用多种教学方法相结合的方式进行教学。
首先,我们将采用讲授法,系统地讲解MATLAB软件的基本操作和编程技巧,帮助学生建立扎实的理论基础。
同时,我们将结合讨论法,鼓励学生积极参与课堂讨论,提出问题和建议,促进师生之间的互动和交流。
其次,我们将采用案例分析法,通过分析和解决实际问题,让学生学会将MATLAB软件应用于实际场景,提高学生的应用能力和解决问题的能力。
此外,我们还将实验课,让学生亲自动手操作MATLAB软件,进行科学计算和数据分析,提高学生的实践能力和动手能力。
matlab课程设计报告模板

matlab课程设计报告模板一、教学目标本课程的教学目标是使学生掌握MATLAB的基本功能和使用方法,能够运用MATLAB进行简单的数学计算、数据处理和图形绘制。
具体分为以下三个部分:1.知识目标:学生需要了解MATLAB的基本组成、工作环境以及常用的数学函数和工具箱。
2.技能目标:学生能够熟练使用MATLAB进行矩阵运算、数学计算、数据分析和图形绘制。
3.情感态度价值观目标:通过学习MATLAB,培养学生对科学计算和计算机辅助设计的兴趣,提高学生解决实际问题的能力。
二、教学内容根据课程目标,教学内容主要包括以下几个部分:1.MATLAB概述:介绍MATLAB的发展历程、功能特点和应用领域。
2.MATLAB基本操作:包括矩阵运算、数学计算、数据分析、图形绘制等。
3.MATLAB工具箱:介绍MATLAB常用的工具箱,如数值计算工具箱、信号处理工具箱等。
4.MATLAB实际应用案例:分析实际案例,让学生学会将MATLAB应用于实际问题的解决。
三、教学方法为了达到课程目标,我们将采用以下教学方法:1.讲授法:通过讲解MATLAB的基本概念和操作方法,使学生掌握MATLAB的基本使用技巧。
2.案例分析法:分析实际案例,让学生学会将MATLAB应用于实际问题的解决。
3.实验法:安排上机实验,让学生动手操作,巩固所学知识。
4.讨论法:学生进行小组讨论,促进学生之间的交流与合作。
四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《MATLAB教程》或其他类似教材。
2.参考书:提供相关的参考书籍,供学生课后自学。
3.多媒体资料:制作课件和教学视频,辅助课堂教学。
4.实验设备:提供计算机实验室,让学生进行上机实验。
五、教学评估为了全面、客观地评估学生的学习成果,我们将采取以下评估方式:1.平时表现:通过课堂参与、提问、讨论等方式,评估学生在课堂上的表现。
2.作业:布置适量的作业,评估学生对知识的掌握和应用能力。
MATLAB课程设计报告

目录一、课程设计目的 (1)二、课程设计任务 (1)三、课程设计题目 (1)3.1、画出分段函数图: (1)3.2、信号的产生与变换 (2)3.3、财经问题 (3)3.4、计算平均学分积GPA (4)3.5、供煤量分配问题 (6)四、课程设计结论及分析 (7)五、心得体会 (7)六、参考文献 (7)一、课程设计目的1. 熟悉MATLAB 的工作环境;2. 熟悉并练习MATLAB 的命令;3. 掌握MATLAB 的基本操作;4. 熟练掌握MATLAB 的基本应用。
二、课程设计任务1.熟练掌握MATLAB 的基本用法以及实际应用;2.将课程设计题目解答完毕,完成一下内容:(1)、画出分段函数图;(2)、信号的产生与变换;(3)、财经问题;(4)、计算平均学分积GPA ;(5)、供煤量分配问题。
三、课程设计题目3.1、画出分段函数图:2222220.5457exp(0.75 3.75 1.5),1(,)0.7575exp(6),1105457exp(0.75 3.75 1.5),1y x x x y p x y y x x y y x x x y ⎧---+>⎪=---<+≤⎨⎪--++≤-⎩(1) 程序:x=-3:0.1:3;y=-3:0.1:3;length_of_x=length(x);length_of_y=length(y);for i=1:length_of_xfor j=1:length_of_yif (x(i)+y(j))>1z(i,j)=0.5457*exp(-0.75*y(j)^2-3.75*x(i)^2-1.5*x(i)); elseif ((x(i)+y(j))>-1)&&((x(i)+y(j))<=1)z(i,j)=0.7575*exp(-y(j)^2-6*x(i)^2);elsez(i,j)=0.5457*exp(-0.75*y(j)^2-3.75*x(i)^2+1.5*x(i)); endendendmesh(x,y,z)(2) 运行结果:3.2、信号的产生与变换数字信号处理中y(n)=x(-n)的画图实现;其中21,33()0, n 3n n x n +-≤≤⎧=⎨>⎩(1)程序:n=-4:4;for i=1:9if abs(n(i))>3x(i)=0;else x(i)=2*n(i)+1;endendy=fliplr(x);stem(n,y);(2)运行结果:3.3、财经问题一笔100000元的贷款要按每月等额偿付d元的方式付清。
matlab课程设计课程的结论及分析

matlab课程设计课程的结论及分析一、教学目标本课程的教学目标旨在让学生掌握 MATLAB 基本语法、编程技巧及其在工程计算和数据分析中的应用。
通过本课程的学习,学生应能熟练使用 MATLAB 进行矩阵运算、编写简单的程序、进行图像处理和仿真分析等。
具体来说,知识目标包括:1.理解并掌握 MATLAB 的基本语法和操作。
2.掌握 MATLAB 在矩阵运算、数值计算、图像处理和仿真分析等方面的应用。
3.了解 MATLAB 的编程技巧和常见问题解决方法。
技能目标包括:1.能够独立使用 MATLAB 进行简单的编程和数据分析。
2.能够配合专业背景知识,运用 MATLAB 解决实际问题。
3.具备团队合作能力,能够参与小组项目并分工合作。
情感态度价值观目标包括:1.培养学生的自主学习能力,激发对MATLAB 编程和数据分析的兴趣。
2.培养学生的创新思维和问题解决能力,提升综合素质。
3.培养学生的团队合作意识和沟通能力,提高团队协作能力。
二、教学内容本课程的教学内容主要包括 MATLAB 基本语法、矩阵运算、编程技巧、图像处理和仿真分析等方面。
具体安排如下:1.MATLAB 基本语法和操作:介绍 MATLAB 的工作环境、基本命令、变量和数据类型、运算符等。
2.矩阵运算:包括矩阵的创建、运算、逆矩阵、特征值和特征向量等。
3.编程技巧:包括循环结构、条件语句、函数和脚本文件、模块化编程等。
4.图像处理:包括图像的读取、显示、处理和分析等。
5.仿真分析:包括模拟仿真、动画制作、模型验证和优化等。
三、教学方法本课程采用讲授法、案例分析法和实验法等多种教学方法,以激发学生的学习兴趣和主动性。
1.讲授法:通过讲解 MATLAB 基本语法、编程技巧和应用案例,使学生掌握相关知识。
2.案例分析法:分析实际案例,让学生了解 MATLAB 在工程计算和数据分析中的应用。
3.实验法:让学生动手实践,培养实际操作能力和问题解决能力。
matelab课程设计

matelab课程设计一、教学目标本节课的教学目标是让学生掌握Matlab基本操作和编程技巧,能够运用Matlab进行简单的数学计算和数据分析。
具体目标如下:1.知识目标:(1)理解Matlab的软件结构和基本功能;(2)掌握Matlab的变量定义和数据类型;(3)学会使用Matlab进行数学计算和数据分析;(4)了解Matlab的帮助系统和使用方法。
2.技能目标:(1)能够熟练操作Matlab软件;(2)能够编写简单的Matlab脚本程序;(3)能够运用Matlab解决实际问题;(4)能够阅读和理解Matlab程序代码。
3.情感态度价值观目标:(1)培养学生对科学计算和软件应用的兴趣;(2)培养学生动手实践和解决问题的能力;(3)培养学生团队协作和交流分享的习惯;(4)培养学生诚实守信和勇于创新的品质。
二、教学内容本节课的教学内容主要包括以下几个部分:1.Matlab软件介绍:介绍Matlab的发展历程、软件结构和基本功能。
2.Matlab基本操作:学习Matlab的启动和退出、变量定义、数据类型、运算符、数学计算等基本操作。
3.Matlab编程基础:学习Matlab的编程语法、函数调用、脚本编写和函数文件编写。
4.Matlab数据分析:学习Matlab的数据可视化、图像处理、数据分析等应用。
5.Matlab帮助系统:学习Matlab的帮助功能、在线帮助和教程。
三、教学方法为了提高教学效果,本节课将采用以下几种教学方法:1.讲授法:讲解Matlab的基本概念和操作方法,让学生掌握Matlab的基础知识。
2.案例分析法:通过分析实际案例,让学生学会使用Matlab解决具体问题。
3.实验法:让学生动手实践,操作Matlab软件,加深对知识的理解和记忆。
4.小组讨论法:分组讨论和分享,培养学生的团队协作和交流分享能力。
四、教学资源为了支持本节课的教学,我们将准备以下教学资源:1.教材:选用《Matlab入门与应用》作为主要教材,为学生提供系统的学习材料。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《MATLAB课程设计》报告设计题目:基于MATLAB的语音信号采集与处理学生姓名:学生学号:专业班级:光信息科学与技术答辩时间:2013年12月指导教师:冯明库广东技术师范学院电子与信息学院一、设计目的及意义1. MATLAB软件功能简介MATLAB的名称源自Matrix Laboratory,1984年由美国Mathworks公司推向市场。
它是一种科学计算软件,专门以矩阵的形式处理数据。
MATLAB将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛的应用于科学计算、控制系统和信息处理等领域的分析、仿真和设计工作。
MATLAB软件包括五大通用功能,数值计算功能(Nemeric)、符号运算功能(Symbolic)、数据可视化功能(Graphic)、数字图形文字统一处理功能(Notebook)和建模仿真可视化功能(Simulink)。
其中,符号运算功能的实现是通过请求MAPLE 内核计算并将结果返回到MATLAB命令窗口。
该软件有三大特点,一是功能强大;二是界面友善、语言自然;三是开放性强。
目前,Mathworks公司已推出30多个应用工具箱。
MATLAB在线性代数、矩阵分析、数值及优化、数值统计和随机信号分析、电路与系统、系统动力学、次那好和图像处理、控制理论分析和系统设计、过程控制、建模和仿真、通信系统以及财政金融等众多领域的理论研究和工程设计中得到了广泛应用。
MATLAB在信号与系统中的应用主要包括符号运算和数值计算仿真分析。
由于信号与系统课程的许多内容都是基于公式演算,而MATLAB借助符号数学工具箱提供的符号运算功能,能基本满足信号与系统课程的需求。
例如解微分方程、傅里叶正反变换、拉普拉斯正反变换和z正反变换等。
MATLAB在信号与系统中的另一主要应用是数值计算与仿真分析,主要包括函数波形绘制、函数运算、冲击响应与阶跃响应仿真分析、信号的时域分析、信号的频谱分析、系统的S域分析和零极点图绘制等内容。
数值计算仿真分析可以帮助学生更深入地理解理论知识,并为将来使用MATLAB进行信号处理领域的各种分析和实际应用打下基础。
2. 本题目的意义本次课程设计的课题为《基于MATLAB的语音信号采集与处理》,学会运用MATLAB的信号处理功能,采集语音信号,并对语音信号进行滤波及变换处理,观察其时域和频域特性,加深对信号处理理论的理解,并为今后熟练使用MATLAB进行系统的分析仿真和设计奠定基础。
此次实习课程主要是为了进一步熟悉对matlab软件的使用,以及学会利用matlab对声音信号这种实际问题进行处理,将理论应用于实际,加深对它的理解。
二、设计任务及指标利用MATLAB对语音信号进行分析和处理,采集语音信号后,利用MATLAB 软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。
语音信号的“短时谱”对于非平稳信号, 它是非周期的, 频谱随时间连续变化, 因此由傅里叶变换得到的频谱无法获知其在各个时刻的频谱特性。
如果利用加窗的方法从语音流中取出其中一个短断, 再进行傅里叶变换, 就可以得到该语音的短时谱。
三、设计过程(1). 语音信号的采集及分析基于声卡进行数字信号的采集。
将话筒插入计算机的语音输入插口上,启动录音机。
按下录音按钮,对话筒说话,说完后停止录音。
要保存文件时,利用了计算机上的A/D转换器,把模拟的声音信号变成了离散的量化了的数字信号,放音时,它又通过D/A转换器,把保存的数字数据恢复为原来的模拟的声音信号。
在Matlab软件平台下可以利用函数wavread对语音信号进行采样,得到了声音数据变量x1,同时把x1的采样频率fs=22050Hz和数据位Nbits=16Bit放进了MATALB 的工作空间。
图figure 1为原始语音信号的时域图形。
从图中可以看出在时域环境下,信号呈现出6不规则的信号峰值。
通过freqz函数绘制原始语音信号的频率响应图figure 2 。
然后对语音信号进行频谱分析,在Matlab中可以利用函数fft 对信号行快速傅里叶变换,得到信号的频谱图figure 3,从图中可以看出对各个频点上的随机信号在频域进行抽样 ,抽样频率为 22050Hz。
(2). 给原始信号加上一个高频噪声在Matlab中人为设计一个固定频率5500Hz的噪声干扰信号。
噪声信号通常为随机序列,在本设计中用正弦序列代替,干扰信号构建命令函数为d=[Au*sin(2*pi*5500*t)]',给出的干扰信号为一个正弦信号,针对上面的语音信号 ,采集了其中一段。
再对噪音信号进行频谱变换得到其频谱图,从图中可以看出干扰信号,在4000Hz和 6000Hz频点处有一高峰 ,其中 5500Hz 正是本设计所要利用的。
(3). 设计一个滤波器,滤除高频噪声由模拟滤波器变换为数字滤波器时,采用的是双线性变换法, 它保留的是从模拟到数字域的系统函数表示。
在滤波器的选取时, 由于设计方法的侧重点不同, 作出比较是困难的。
如果FIR滤波器情况下,最优的设计将是椭圆滤波器。
用双线性变换法设计低通滤波器。
的本设计是用双线性变换法设计BW带阻型滤波器。
在MATLAB中 ,可以利用函数 butterworth,设计FIR滤波器,利用 MATLAB 中的函数freqz 画出各滤波器的频率响应。
用设计好的带阻滤波器对含噪语音信号进行滤波,在Matlab中 FIR滤波器利用函数fftfilt对信号进行滤波,FIR滤波器利用函数filter对信号进行滤波。
在一个窗口同时画出滤波前后的波形及频谱。
从图中可以看出 ,5500Hz看到的高峰消失了 ,语音信号与开始的一样 ,滤波器成功的滤除了干扰信号。
利用MATLAB对语音信号进行分析和处理,采集语音信号后,利用MATLAB软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。
四、结论及分析1.用MATLAB对原始语音信号进行分析,画出它的时域波形和频谱程序:fs=22050; %语音信号采样频率为22050x1=wavread('C:\Documents and Settings\Administrator\桌面\声音文件.wav');%读取语音信号的数据,赋给变量x1,sound(x1,22050); %播放语音信号y1=fft(x1,1024); %对信号做1024点FFT变换f=fs*(0:511)/1024; %将0到511,步长为1的序列的值与fs相乘并除以1024的值,赋值给ffigure(1) %创建图形窗1plot(x1) %做原始语音信号的时域图形title('原始语音信号');xlabel('time n'); %x轴的名字是“time n”ylabel('fuzhi n'); %y轴的名字是“fuzhi n”figure(2)freqz(x1) %绘制原始语音信号的频率响应图title('频率响应图')figure(3)subplot(2,1,1); %创建两行一列绘图区间的第1个绘图区间plot(abs(y1(1:512))) %做原始语音信号的FFT频谱图title('原始语音信号FFT频谱')subplot(2,1,2);plot(f,abs(y1(1:512))); %abs是绝对值,plot是直角坐标下线性刻度曲线title('原始语音信号频谱')xlabel('Hz');ylabel('幅值');时域波形和频谱:图1 原始语音信号图2 语音信号频率响应图图3 原始语音信号FFT与信号频谱2. 给原始的语音信号加上一个高频余弦噪声,频率为5500hz。
对加噪后的语音进行分析,并画出其信号时域和频谱图。
程序:fs=22050;x1=wavread('C:\Documents and Settings\Administrator\桌面\声音文件.wav');%读取语音信号的数据,赋给变量x1f=fs*(0:511)/1024; %将0到511,步长为1的序列的值与fs相乘并除以1024的值,赋值给ft=0:1/fs:(length(x1)-1)/fs; %将0到x1的长度减1后的值除以fs的值,且步长为1/fs的值,的序列的值,赋予t Au=; %噪声幅值d=[Au*sin(2*pi*5500*t)]'; %所加的噪声是正弦信号x2=x1+d; %将正弦信号噪声加在语音信号上sound(x2,22050); %播放语音信号y1=fft(x1,1024); %对信号y1做1024点FFT变换y2=fft(x2,1024); %对信号y2做1024点FFT变换figure(1); %创建图形窗1plot(t,x2); %做加噪后的信号时域图形(绘出t对x2的线性图)title('加噪后的信号');xlabel('time n'); %x轴的名字是“time n”ylabel('fuzhi n'); %y轴的名字是“fuzhi n”figure(2) %创建图形窗2subplot(2,1,1); % 创建两行一列绘图区间的第1个绘图区间plot(f,abs(y1(1:512))); %做原始语音信号的频谱图title('原始语音信号频谱');xlabel('Hz'); %x轴的名字是“time n”ylabel('fuzhi'); % y轴的名字是“fuzhi”subplot(2,1,2); %创建两行一列绘图区间的第2个绘图区间plot(f,abs(y2(1:512))); %做加噪后的语音信号的频谱图(abs是绝对值,plot是直角坐标下线性刻度曲线)title('加噪后的信号频谱');xlabel('Hz'); %x轴的名字是“time n”ylabel('fuzhi'); % y轴的名字是“fuzhi”时域波形和频谱:图4 加噪后的信号时域图图5 原始信号与加噪后信号频谱对比与原始信号对比,区别:先原始信号没加噪音之前0到2000有幅值,在4000到6000之间没有幅值,但是在加了噪音之后4000到6000之间出现最大幅值12,超出正常值。
如图5原始信号与加噪后信号频谱对比图所示。
3. 设计合适的滤波器,滤除高频噪声,绘出滤波后的信号频域和时域波形:程序:%用双线性变换法设计巴特沃思低通滤波器wp=*pi; %通带截止频率ws=*pi; %阻带截止频率Rp=1; %通带最大衰减(db)Rs=15; %阻带最大衰减(db)Fs=22050;Ts=1/Fs;wp1=2/Ts*tan(wp/2); %将模拟指标转换成数字指标ws1=2/Ts*tan(ws/2); %将模拟指标转换成数字指标[N,Wn]=buttord(wp1,ws1,Rp,Rs,'s'); %选择滤波器的最小阶数(估算得到Butterworth低通滤波器的最小阶数N和3dB截止频率Wc)[Z,P,K]=buttap(N); %创建Butterworth低通滤波器原型[Bap,Aap]=zp2tf(Z,P,K); %将零极点增益转换为普遍分子,分母[b,a]=lp2lp(Bap,Aap,Wn); %将普遍的分子和分母转换为以Wn为截止频率[bz,az]=bilinear(b,a,Fs); %用双线性变换法实现模拟滤波器到数字滤波器的转换(模拟转换为数字)[H,W]=freqz(bz,az); %求频率响应figure(9)plot(W*Fs/(2*pi),abs(H)) %绘制Butterworth低通滤波器频率响应曲线grid %添加图格xlabel('频率/Hz')ylabel('频率响应幅度')title('Butterworth')f1=filter(bz,az,z); %利用上面已做好的滤波器(已bz和az为特征的滤波器)对x2信号进行滤波,赋值给f1figure(10)subplot(2,1,1) %创建两行一列绘图区间的第1绘图区间plot(t,z) %做加噪后的信号时域图形title('滤波前的时域波形');subplot(2,1,2) %创建两行一列绘图区间的第2绘图区间plot(t,f1);title('滤波后的时域波形');sound(f1,22050); %播放语音信号p=length(f1);F0=fft(f1,p);f=0:fs/p:fs*(s-1)/p;figure(11)y2=fft(z,1024); %对信号y2做1024点FFT变换subplot(2,1,1); %创建两行一列绘图区间的第1绘图区间plot(f,abs(y4));title('滤波前的频谱')xlabel('Hz'); %x轴的名字是“Hz”ylabel('fuzhi'); %y轴的名字是“fuzhi”subplot(2,1,2)F1=plot(f,abs(F0));title('滤波后的频谱')xlabel('Hz');ylabel('fuzhi');时域波形和频谱:图6 低通滤波器频率响应曲线图7 滤波前后时域波形图图8 滤波前后频谱图与原噪音信号对比,区别:通过对比分析可知,滤波后的输出波形和原始语音加噪声信号的图形发生了一些变化,在3000-6000Hz之间的信号消失,出现0-1000和7000-8000之间的信号。