matlab项目总结报告.docx
- 文档编号:6954251
- 上传时间:2023-01-13
- 格式:DOCX
- 页数:50
- 大小:416KB
matlab项目总结报告.docx
《matlab项目总结报告.docx》由会员分享,可在线阅读,更多相关《matlab项目总结报告.docx(50页珍藏版)》请在冰豆网上搜索。
matlab项目总结报告
中国民航大学
电子信息工程学院
MATLAB声音和图像信号分析处理 课程设计报告
题目:
matlab信号采集、分析、处理实验
专业班级:
101045A
姓 名:
李雄洲李文君李阳雷明超
指导教师:
韩萍何炜琨
二〇一二年六月十五日
一、设计目的………………………………………………
二、设计要求………………………………………………
三、设计原理及方案………………………………………
四、硬件电路或软件流程…………………………………
五、调试分析………………………………………………
六、设计总结………………………………………………
七、参考文献………………………………………………
八、附录(程序代码及元件清单)………………………
一、设计目的
课题目的在于通过matlab仿真实验,熟悉matlab的操作环境,深刻体会信号处理的研究方法,使所学知识融会贯通,最大程度锻炼工程项目能力。
二、设计要求
声音部分:
本次课程设计的目的是利用MATLAB对语音信号进行数字信号处理和分析,要求学生采集语音信号后,在MATLAB软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。
要求利用MATLAB来读入(采集)语音信号,将它赋值给某一向量。
再将该向量看作一个普通的信号,对其进行FFT变换实现频谱分析,再依据实际情况对它进行滤波。
然后我们还可以通过sound命令来对语音信号进行回放,以便在听觉上来感受声音的变化。
图形部分:
搭建一个简单界面,实现信号(图像)的加载并显示,对采集信号进行加噪,并对加噪前后信号进行谱分析,将信号分析部分加载到所做界面中将滤波器设计部分加载到所做界面中,信号特技效果实现。
三、设计原理与方案
1、设计原理
MATLAB是矩阵实验室(MatrixLaboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。
通过MATLAB里几个命令函数的调用,很轻易的在实际语音与数字信号的理论之间搭了一座桥。
课题的特色在于它将语音信号看作一个向量,于是就把语音数字化了。
那么,就可以完全利用数字信号处理的知识来解决语音及加噪处理问题。
我们可以像给一般信号做频谱分析一样,来对语音信号做频谱分析,也可以较容易的用数字滤波器来对语音进行滤波处理。
FIR滤波器结构上主要是非递归结构,没有输出到输入的反馈,系统函数H(z)在处收敛,极点全部在z=0处(因果系统),因而只能用较高的阶数达到高的选择性。
FIR数字滤波器的幅频特性精度较之于IIR数字滤波器低,但是线性相位,就是不同频率分量的信号经过fir滤波器后他们的时间差不变,这是很好的性质。
FIR数字滤波器是有限的单位响应也有利于对数字信号的处理,便于编程,用于计算的时延也小,这对实时的信号处理很重要。
FIR滤波器因具有系统稳定,易实现相位控制,允许设计多通带(或多阻带)滤波器等优点收到人们的青睐。
IIR滤波器采用递归型结构,即结构上带有反馈环路。
IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。
同时,IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,在设计一个IIR数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。
在matlab中,一幅图片可以定义为一个二维函数f(x,y),其中x和y表示空间坐标,而f对于任何一对(x,y)坐标的函数值称为该点处图像的亮度或灰度。
当x,y和f的值都是有限的、离散的数值时,称该图像为数字图像。
图像编码压缩技术可减少描述图像的数据量(即比特数),以便节省图像传输、处理时间和减少所占用的存储器容量。
压缩可以在不失真的前提下获得,也可以在允许的失真条件下进行。
编码是压缩技术中最重要的方法,它在图像处理技术中是发展最早且比较成熟的技术。
图像增强和复原的目的是为了提高图像的质量,如去除噪声,提高图像的清晰度等。
图像增强不考虑图像降质的原因,突出图像中所感兴趣的部分。
如强化图像高频分量,可使图像中物体轮廓清晰,细节明显;如强化低频分量可减少图像中噪声影响。
图像复原要求对图像降质的原因有一定的了解,一般讲应根据降质过程建立“降质模型”,再采用某种滤波方法,恢复或重建原来的图像。
2、设计方案
①MATLAB软件熟悉与运用。
②信号处理原理分析与处理方法讨论。
③使用matlab中的GUI进行搭建
④仿真测试与调试。
四、软件流程
五、调试分析
项目最开始的问题的是给GUI加一张背景图片,起初的想法是在界面上放一个坐标,结果很不理想,后来发现本来GUI的界面就是一个坐标,我们只要设置好就行,因而就有了很经典的那段程序:
ha=axes('units','normalized','position',[0011]);
uistack(ha,'down')
II=imread('cauc.bmp');
image(II)
colormapgray
set(ha,'handlevisibility','off','visible','off');
这里面有个很有趣的东西,我们可以设置图片为最底层,只要把‘down’改成‘button’就好
程序在画图时,在GUI上放了一些坐标轴,但是设计得比较难看,因而使用程序为其设置位置与大小:
h=subplot(1,1,1);
set(h,'position',[0.10.10.80.7]);
起到了很好的效果。
做回声那块儿东西的时候,一直无法取到很好的效果,回声效果一直不是很理想,最后试了好多次:
globalx;
N=length(x);
x1=x(1:
N);
x2=x(1:
N);
x1=[x1',zeros(1,3000)];
x2=[zeros(1,1500),0.4*x2',zeros(1,1500)];
y=x1+x2;
终于发现,分成1500和1500等长的两段之后,发现效果还是不错的,不知道是不是最好,但是已经很不错了。
六、设计总结
通过此次项目,我们不仅把知识融会贯通,而且丰富了大脑,同时在查找资料的过程中也了解了许多课外知识,开拓了视野,认识了自己将来的发展方向,使自己在专业知识方面和动手能力方面有了质的飞跃。
信号处理项目是对学校所学知识的全面总结和综合应用,又为今后走向社会的实际操作应用铸就了一个良好开端,对我们所学知识理论的检验与总结,能够培养和提高设计者独立分析和解决问题的能力;其次,项目指导是老师检验其教学效果,改进教学方法,提高教学质量的绝好机会。
在没有做信号处理项目以前觉得信号处理项目只是对这一年来所学知识的大概总结,但是真的面对信号处理项目发现自己的想法基本是错误的。
信号处理项目不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。
通过这次信号处理项目使我们明白了自己原来知识太理论化了,面对单独的课题的是感觉很茫然。
通过这次信号处理项目,我们终于明白学习是一个长期积累的过程,在以后的工作、生活中都应该不断的学习,努力提高自己知识和综合素质。
总之,不管学会的还是学不会的的确觉得困难比较多,真是万事开头难,不知道如何入手。
最后终于做完了有种如释重负的感觉。
此外,还得出一个结论:
知识必须通过应用才能实现其价值!
有些东西以为学会了,但真正到用的时候才发现是两回事,所以我认为只有到真正会用的时候才是真的学会了。
在此要感谢我们指导老师悉心的指导,感谢老师们给我的帮助。
在项目过程中,我们通过查阅大量有关资料,与同学交流经验和自学,并向老师请教等方式,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。
在整个项目中我懂得了许多东西,也培养了我们工作的能力,树立了对自己工作能力的信心。
而且大大提高了动手的能力,使我们充分体会到了在创造过程中探索的艰难和成功时的喜悦。
虽然这个项目做的也不太好,但是在项目过程中所学到的东西是这次项目的最大收获和财富,使我们终身受益。
七、参考文献
[1]J.S.park。
matlabguitutorialforbeginners。
UniversityofIncheon。
[2]易克初,等.语音信号处理[M].北京:
国防工业出版社,2006,6.
[3]胡航.语音信号处理[M].哈尔滨:
哈尔滨工业大学出版社,2000,5.
[4]韩纪庆,张磊,郑铁然.语音信号处理[M].北京:
清华大学出版社,2004
[5]彭军。
《一个实例搞定matlab界面编程》。
八、附录(程序代码及元件清单)
functionvarargout=open_the_road_5(varargin)
%OPEN_THE_ROAD_5M-fileforopen_the_road_5.fig
%OPEN_THE_ROAD_5,byitself,createsanewOPEN_THE_ROAD_5orraisestheexisting
%singleton*.
%
%H=OPEN_THE_ROAD_5returnsthehandletoanewOPEN_THE_ROAD_5orthehandleto
%theexistingsingleton*.
%
%OPEN_THE_ROAD_5('CALLBACK',hObject,eventData,handles,...)callsthelocal
%functionnamedCALLBACKinOPEN_THE_ROAD_5.Mwiththegiveninputarguments.
%
%OPEN_THE_ROAD_5('Property','Value',...)createsanewOPEN_THE_ROAD_5orraisesthe
%existingsingleton*.Startingfromtheleft,propertyvaluepairsare
%appliedtotheGUIbeforeopen_the_road_5_OpeningFcngetscalled.An
%unrecognizedpropertynameorinvalidvaluemakespropertyapplication
%stop.Allinputsarepassedtoopen_the_road_5_OpeningFcnviavarargin.
%
%*SeeGUIOptionsonGUIDE'sToolsmenu.Choose"GUIallowsonlyone
%instancetorun(singleton)".
%
%Seealso:
GUIDE,GUIDATA,GUIHANDLES
%Edittheabovetexttomodifytheresponsetohelpopen_the_road_5
%LastModifiedbyGUIDEv2.528-May-201221:
53:
24
%Begininitializationcode-DONOTEDIT
gui_Singleton=1;
gui_State=struct('gui_Name',mfilename,...
'gui_Singleton',gui_Singleton,...
'gui_OpeningFcn',@open_the_road_5_OpeningFcn,...
'gui_OutputFcn',@open_the_road_5_OutputFcn,...
'gui_LayoutFcn',[],...
'gui_Callback',[]);
ifnargin&&ischar(varargin{1})
gui_State.gui_Callback=str2func(varargin{1});
end
ifnargout
[varargout{1:
nargout}]=gui_mainfcn(gui_State,varargin{:
});
else
gui_mainfcn(gui_State,varargin{:
});
end
%Endinitializationcode-DONOTEDIT
%---Executesjustbeforeopen_the_road_5ismadevisible.
functionopen_the_road_5_OpeningFcn(hObject,eventdata,handles,varargin)
%Thisfunctionhasnooutputargs,seeOutputFcn.
%hObjecthandletofigure
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
%varargincommandlineargumentstoopen_the_road_5(seeVARARGIN)
%Choosedefaultcommandlineoutputforopen_the_road_5
handles.output=hObject;
%Updatehandlesstructure
guidata(hObject,handles);
%UIWAITmakesopen_the_road_5waitforuserresponse(seeUIRESUME)
%uiwait(handles.figure1);
%---Outputsfromthisfunctionarereturnedtothecommandline.
functionvarargout=open_the_road_5_OutputFcn(hObject,eventdata,handles)
%varargoutcellarrayforreturningoutputargs(seeVARARGOUT);
%hObjecthandletofigure
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
%Getdefaultcommandlineoutputfromhandlesstructure
varargout{1}=handles.output;
%---Executesonbuttonpressinpushbutton1.
functionpushbutton1_Callback(hObject,eventdata,handles)
close(gcf)
run('open_the_road_4')
%hObjecthandletopushbutton1(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
%---Executesonbuttonpressinpushbutton2.
functionpushbutton2_Callback(hObject,eventdata,handles)
close(gcf)
run('open_the_road_6')
%hObjecthandletopushbutton2(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
%---Executesduringobjectcreation,aftersettingallproperties.
functionfigure1_CreateFcn(hObject,eventdata,handles)
ha=axes('units','normalized','position',[0011]);
uistack(ha,'down')
II=imread('cauc.bmp');
image(II)
colormapgray
set(ha,'handlevisibility','off','visible','off');
%hObjecthandletofigure1(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesempty-handlesnotcreateduntilafterallCreateFcnscalled
functionvarargout=open_the_road_4(varargin)
%OPEN_THE_ROAD_4M-fileforopen_the_road_4.fig
%OPEN_THE_ROAD_4,byitself,createsanewOPEN_THE_ROAD_4orraisestheexisting
%singleton*.
%
%H=OPEN_THE_ROAD_4returnsthehandletoanewOPEN_THE_ROAD_4orthehandleto
%theexistingsingleton*.
%
%OPEN_THE_ROAD_4('CALLBACK',hObject,eventData,handles,...)callsthelocal
%functionnamedCALLBACKinOPEN_THE_ROAD_4.Mwiththegiveninputarguments.
%
%OPEN_THE_ROAD_4('Property','Value',...)createsanewOPEN_THE_ROAD_4orraisesthe
%existingsingleton*.Startingfromtheleft,propertyvaluepairsare
%appliedtotheGUIbeforeopen_the_road_4_OpeningFcngetscalled.An
%unrecognizedpropertynameorinvalidvaluemakespropertyapplication
%stop.Allinputsarepassedtoopen_the_road_4_OpeningFcnviavarargin.
%
%*SeeGUIOptionsonGUIDE'sToolsmenu.Choose"GUIallowsonlyone
%instancetorun(singleton)".
%
%Seealso:
GUIDE,GUIDATA,GUIHANDLES
%Edittheabovetexttomodifytheresponsetohelpopen_the_road_4
%LastModifiedbyGUIDEv2.530-May-201208:
35:
36
%Begininitializationcode-DONOTEDIT
gui_Singleton=1;
gui_State=struct('gui_Name',mfilename,...
'gui_Singleton',gui_Singleton,...
'gui_OpeningFcn',@open_the_road_4_OpeningFcn,...
'gui_OutputFcn',@open_the_road_4_OutputFcn,...
'gui_LayoutFcn',[],...
'gui_Callback',[]);
ifnargin&&ischar(varargin{1})
gui_State.gui_Callback=str2func(varargin{1});
end
ifnargout
[varargout{1:
nargout}]=gui_mainfcn(gui_State,varargin{:
});
else
gui_mainfcn(gui_State,varargin{:
});
end
%Endinitializationcode-DONOTEDIT
%---Executesjustbeforeopen_the_road_4ismadevisible.
functionopen_the_road_4_OpeningFcn(hObject,eventdata,handles,varargin)
%Thisfunctionhasnooutputargs,seeOutputFcn.
%hObjecthandletofigure
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
%varargincommandlineargumentstoopen_the_road_3(seeVARARGIN)
%Choosedefaultcommandlineoutputforopen_the_road_3
handles.output=hObject;
%Update
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 项目 总结报告