首页 > 编程知识 正文

用数字信号处理知识设计,信号处理课程设计报告

时间:2023-05-03 09:54:04 阅读:124900 作者:1178

基于Matlab的数字信号处理课程设计

基于MATLAB的数字信号处理课程设计1、课程设计目的1熟悉MATLAB的执行环境,熟练运用MATLAB语言进行编程,进行数字信号处理。 2全面复习数字信号课程所学理论知识,巩固所学知识的重点和难点,把理论与实践很好地结合起来。 3综合运用所学知识提高独立分析和解决问题的能力二、MATLAB简介MATLAB是一款强大的科学和计算软件,不仅具有矩阵计算基础上的强大的数学计算和分析功能,而且具有丰富的可视化图形表达功能和方便的编程能力。 MATLAB的应用领域极为广泛,除了数学计算与分析外,还广泛应用于自动控制、系统仿真、数字信号处理、图形图像分析、数理统计、人工智能、虚拟现实技术、通信工程、金融系统等领域,因此MATLAB 三、MATLAB的主要组成部分MATLAB系统包括五个主要部分: (1)开发环境MATLAB开发环境由一系列工具和组件组成,这些工具是图形用户界面,MATLAB桌面和命令窗口)2) MATLAB数学函数库MATLAB集成了丰富的数学函数库,其强大的计算能力从基本函数(例如总和、正弦、馀弦、复数运算等)到矩阵反求、矩阵特征值、贝塞尔函数、快速傅立叶变换等) )3) MATLAB语言MATLAB语言是以矩阵运算为基础的高级语言,包括控制流描述、函数、数据结构、输入输出及面向对象编程环境,可以快速使用小程序,也可以创建大型复杂的APP应用程序。 )4)图形功能MATLAB除了通过高级命令实现二维和三维数据可视化、图像处理、动画和图形表示等功能外,还通过使用图形手柄实现复杂的图形功能,实现所有图形对象)5) APP应用程序接口) API ) MATLAB还提供APP应用程序接口库函数,以允许用户用c或FORTRAN语言编写程序并连接到MATLAB。 功能包括与MATLAB的动态连接、将MATLAB作为运算引擎调用、读写MAT文件等。 MATLAB的广泛应用促进了自身功能的快速发展,以特定领域应用为主要目的的APP应用工具箱的数量和内容不断增加。 四、利用MATLAB画熟悉的画(设计1 ) 1、设计内容可以利用MATLAB画熟悉的画。 内容有x、y坐标轴上的LABEL、各图上的TITLE、画多条曲线时的LEGEND、在图形上做适当的标记等。 (1)在一张图上画多个小图; (2)绘制一组二维图形)3)绘制一组三维图形)4)绘制多个实部和虚部。 1实验结果(1),在一张图上画多个小图; 4202410500511050051010203040504202405101520254202402405005 (2),绘制一组二维图形; 012345673210123XY绘制多条曲线y1sinxy2sinxy3sinx(3),绘制一组三维图形; 50550521012xzsin2x/3y2yz(4),描绘多个实部和虚部; 0204060813021060240902701203001503301800 (5),源程序详细注释完毕。 (参照程序)可以利用MATLAB画出熟悉的画。 其内容有x、y坐标轴上的LABEL、各图上的TITLE、画多条曲线时的LEGEND、在图形上做适当的标记等。 (1)在一张图上画多个小图; (2)绘制一组二维图形)3)绘制一组三维图形)4)绘制多个实部和虚部。 )5)完成源程序的详细评论。

CLEARCLCXLINSPACEPI,PI,200定义x轴坐标Y1SINX函数1Y2COSX函数2Y3EXPX函数3Y4SINXCOSX函数4一个图中有多个小图FIGURE1SUBPLOT221,图PLOTX, Y1绘图Y1GRIDON添加网格AXISMINXMAXXMINY1MAXY1指定显示范围SUBPLOT222、图HISTY2绘图Y2GRIDON添加网格AXISMINXMAXXMINY2MAXY2指定显示范围SUBPLOT223、图STEMX、 Y3绘图Y3GRIDON添加网格AXISMINXMAXXMINY3MAXY3指定显示范围SUBPLOT224、图PLOTX、Y4、 RP绘图Y4GRIDON附加网格在AXISMINXMAXXMINY4MAXY4指定显示范围中绘制一组二维图形figure2alin space3ysinakplota,y,1,a,y,2,a,y,3LEGENDY y,NUM2STRK3,sinxlabelxylaance kylin space 5,5,KKFORI1KKFORJ1KKZI,JSINXICOSYJENDENDSURFX,y, zlabelxylabelyzlabelztitlezsin2x/3 y2复绘图figure4clear kk 1110 for i110 yisinkkicoski/kkijendcompassy五,褶的相关计算与编程(设计2 ) 2实验成果(1)、结构按以下两个向量a1、2、3、4b9、8、7、6计算得到线性褶积

9265080654624循环次数时间域频率域循环褶积555505080655550508065633265080654633265080654679265080654624926508065462489265080654624092650806546240从计算结果可以看出,当循环次数小于N1N21时,线性褶积和循环褶积不等,当循环次数大于等于N1N21时,线性褶积和循环褶积相等。(2)、构造两个向量A123B1235计算相关得到频率域14131623时间域(6次)148351323程序1、褶积计算普通褶积与循环褶积,分别使用时间域与频率域两种方法进行正、反演计算,指出循环褶积计算时所存在的边界效应现象;编写一个做相关分析的源程序。验证循环褶积和线性褶积在什么条件下相等CLCCLEARA1,2,3,4A矩阵B9,8,7,6B矩阵KK1LENGTHAKK2LENGTHB循环褶积时间域XX8循环次数手动更改AAZEROSXX,1AA1KK1,1A扩展ABBZEROSXX,1BB1KK2,1B扩展BBB1ZEROSXX,XX循环矩阵FORI1XXBB1IXX,IBB1XXI1BB11I1,IBBXXI2XXENDOK1BB1AA循环褶积结果线性褶积时间域BB2ZEROSKK1KK21,KK1FORI1KK1BB2IIKK21,IB1KK2ENDANAOK2BB2AN线性褶积结果循环褶积频率域AFFFTAABFFFTBBOK3IFFTAFBF2、相关计算普通褶积与循环褶积,分别使用时间域与频率域两种方法进行正、反演计算,指出循环褶积计算时所存在的边界效应现象;编写一个做相关分析的源程序。求两个一维数组的相关系数CLEARCLCA123数组A较短时可以手动输入B1235数组B较短时可以手动输入ACSVREADCSV,0,0数组A较长时可以读取CSV文件BCSVREADCSV,0,0数组A较长时可以读取CSV文件频率域求相关A2ZEROS1,MAXLENGTHA,LENGTHBB2ZEROS1,MAXLENGTHA,LENGTHBA21,1LENGTHAAB21,1LENGTHBBFFTAFFTA2FFTBFFTB2FFTBCONJFFTBRESULTIFFTFFTAFFTB频率域求相关结果时间域求相关LONGLENGTHALENGTHB1AAZEROSLONG,1BBZEROSLONG,1AA1LENGTHA,1ABB1LENGTHB,1BTEMPZEROSLONGFORI1LONGTEMP1LONGI1,IAAILONGTEMPLONGI2LONG,IAA1I1ENDRESULT2TEMPBB时间域求循环相关六、设计一维滤波处理程序(设计3)1实验内容设计一个一维滤波处理程序(1、分别做低通、高通、带通、带阻等理想滤波器进行处理;2、窗函数)2实验结果(1)、一维信号理想滤波器(2)、窗函数程序3、一维理想滤波器一维信号滤波器设计FUNCTIONVARARGOUTNUM4_1LVBOVARARGINBEGININITIALIZATIONCODEDONOTEDITGUI_SINGLETON1GUI_STATESTRUCTGUI_NAME,MFILENAME,GUI_SINGLETON,GUI_SINGLETON,GUI_OPENINGFCN,NUM4_1LVBO_OPENINGFCN,GUI_OUTPUTFCN,NUM4_1LVBO_OUTPUTFCN,GUI_LAYOUTFCN,,GUI_CALLBACK,IFNARGINENDIFNARGOUTVARARGOUT1NARGOUTGUI_MAINFCNGUI_STATE,VARARGINELSEGUI_MAINFCNGUI_STATE,VARARGINENDFUNCTIONNUM4_1LVBO_OPENINGFCNHOBJECT,EVENTDATA,HANDLES,VARARGINHANDLESOUTPUTHOBJECTGUIDATAHOBJECT,HANDLESFUNCTIONVARARGOUTNUM4_1LVBO_OUTPUTFCNHOBJECT,EVENTDATA,HANDLESVARARGOUT1HANDLESOUTPUT全局变量说明YUCHU用于存放信号FFT变换结果LONG用于存放信号长度YS用于存放原始信号读取原始信号并进行预处理FUNCTIONBT_READ_CALLBACKHOBJECT,EVENTDATA,HANDLESFILENAME,PATHNAMEUIGETFILECSVGLOBALYSYSCSVREADFILENAMEAXESHANDLESWAVE_YSPLOTYS,1,YS,2GRIDONAXISMINYS,1MAXYS,1MINYS,23/2MAXYS,23/2GLOBALYUCHUYUCHUFFTYS,2GLOBALLONGLONGLENGTHYS,2低通滤波FUNCTIONBT_DT_CALLBACKHOBJECT,EVENTDATA,HANDLESGLOBALYUCHULONGYSF1STR2DOUBLEGETHANDLES_F1,STRINGFORI1LONGIFIFIXLONG/21FIXLONG/21F1FIXLONG/21DTIYUCHUIELSEDTI0ENDENDOKIFFTDTAXESHANDLESWAVE_DTPLOTYS,1,OKGRIDON高通滤波FUNCTIONBT_GT_CALLBACKHOBJECT,EVENTDATA,HANDLESGLOBALYUCHULONGYSF1STR2DOUBLEGETHANDLES_F1,STRINGFORI1LONGIFIFIXLONG/21FIXLONG/21F1FIXLONG/21GTI0ELSEGTIYUCHUIENDENDOKIFFTGTAXESHANDLESWAVE_GTPLOTYS,1,OKGRIDON带阻滤波FUNCTIONBT_DZ_CALLBACKHOBJECT,EVENTDATA,HANDLESGLOBALYUCHULONGYSF1STR2DOUBLEGETHANDLES_F1,STRINGF2STR2DOUBLEGETHANDLES_F2,STRINGFORI1LONGIFIFIXLONG/21F1ELSEDZIYUCHUIENDENDOKIFFTDZAXESHANDLESWAVE_DZPLOTYS,1,OKGRIDON带通滤波FUNCTIONBT_DAT_CALLBACKHOBJECT,EVENTDATA,HANDLESGLOBALYUCHULONGYSF1STR2DOUBLEGETHANDLES_F1,STRINGF2STR2DOUBLEGETHANDLES_F2,STRINGFORI1LONGIFIFIXLONG/21F1ELSEDZI0ENDENDOKIFFTDZAXESHANDLESWAVE_DATPLOTYS,1,OKGRIDON4、窗函数FUNCTIONVARARGOUTNUM4_WINDOWSVARARGIN本程序用于对一维信号进行窗函数滤波其中,F1、F2、F3、F4依次为带通滤波镶边后的四个频率为了使滤波效果较好,建议使F1F2F3F4GUI_SINGLETON1GUI_STATESTRUCTGUI_NAME,MFILENAME,GUI_SINGLETON,GUI_SINGLETON,GUI_OPENINGFCN,NUM4_WINDOWS_OPENINGFCN,GUI_OUTPUTFCN,NUM4_WINDOWS_OUTPUTFCN,GUI_LAYOUTFCN,,GUI_CALLBACK,IFNARGINENDIFNARGOUTVARARGOUT1NARGOUTGUI_MAINFCNGUI_STATE,VARARGINELSEGUI_MAINFCNGUI_STATE,VARARGINENDFUNCTIONNUM4_WINDOWS_OPENINGFCNHOBJECT,EVENTDATA,HANDLES,VARARGINHANDLESOUTPUTHOBJECTGUIDATAHOBJECT,HANDLESFUNCTIONVARARGOUTNUM4_WINDOWS_OUTPUTFCNHOBJECT,EVENTDATA,HANDLESVARARGOUT1HANDLESOUTPUT以下为信号读取以及原始信号的绘制FUNCTIONREAD_CALLBACKHOBJECT,EVENTDATA,HANDLESFILENAME,PATHNAMEUIGETFILECSVREADFILEGLOBALSIGNSIGNCSVREADFILENAMEAXESHANDLESAXES_SIGNPLOT1LENGTHSIGN,SIGN,2GRIDONFUNCTIONPLOT_CALLBACKHOBJECT,EVENTDATA,HANDLES采样频率100HZ,WPL20HZ,WPH30HZ,WSL15HZ,WSH35HZ,频率/采样频率2PIWPL04PI,WPH06PI,WSL02PI,WSH08PI,RP1AS20CLCT1FS1/TSETT1按照比值进行带通的四个频率成份的界定F1STR2DOUBLEGETHANDLES_F1,STRINGF2STR2DOUBLEGETHANDLES_F2,STRINGF3STR2DOUBLEGETHANDLES_F3,STRINGF4STR2DOUBLEGETHANDLES_F4,STRINGGLOBALSIGNKKLENGTHSIGN一维信号长度WPLTANF2/2/FSPIWPHTANF3/2/FSPIWSLTANF1/2/FSPIWSHTANF4/2/FSPIRP1AS40计算模拟低通原型的参数OMIGAPWPHWPL低通滤波器通带截止频率OMIGASWSHWSL低通滤波器通带截止频率N,WNBUTTORDOMIGAP,OMIGAS,RP,AS,SB,ABUTTERN,WN,SBT,ATLP2BPB,A,SQRTWPHWPL,WPHWPLB,ABILINEARBT,AT,FSHFREQZB,A,KK,WHOLEAXESHANDLESAXES_IFFT输出滤波器PLOT1KK,IFFTABSHFFTSIGN,2,RGRIDONAXESHANDLESAXES_FFT输出滤波后的信号PLOTABSH,RGRIDON六、验证褶积性质(设计4)1设计内容验证时间域的循环褶积对应的是频率域的乘积;线性褶积则不然。2实验结果A,B两向量取如下值A1,2,3,4B1,2,3计算得到如下结果当循环次数依次为4,5,6,7时,在频率域和时间域计算得到的循环褶积均相等;当循环次数小于6(N1N21)时,时间域和频率域计算所得的结果不同,但是当循环次数大于6时,两种方法计算得到的结果相等。因此可以得到如下结论1两个向量的循环褶积所对应的频谱是两信号各自频谱在频率域的乘积;2当两个向量在频率域计算线性褶积时,要对两个信号进行补零扩展,使两个信号同大小。当扩展出的新信号长度小于临界长度6(N1N21)时,频率域和时间域计算得到的线性褶积不相等;当扩展出的新信号长度大于等于临界长度6(N1N21)时,频率域和时间域计算得到的线性褶积相等。例如设LENGTHAN1LENGTHBN2LENGTH新信号N3如果N3N1N21两种方法所得结果相等;程序验证时间域的循环褶积对应的是频率域的乘积;线性褶积则不然。CLEARCLCA1,2,3,4B1,2,3KK1LENGTHAKK2LENGTHB临界循环次数(循环线性)MINLLENGTHALENGTHB1临界循环次数(循环线性)循环次数XX4循环次数手动更改MAXLENGTHA,LENGTHBAAZEROSXX,1AA1KK1,1A扩展ABBZEROSXX,1BB1KK2,1B扩展BBB1ZEROSXX,XX循环矩阵FORI1XXBB1IXX,IBB1XXI1BB11I1,IBBXXI2XXEND时间域计算循环褶积结果OK1BB1AA时间域计算循环褶积结果频率域计算循环褶积结果OK2IFFTFFTAAFFTBB频率域计算循环褶积结果作差比较PLUS1OK1OK2作差比较时间域计算线性褶积结果OK3CONVA,B时间域计算线性褶积结果KK5AAZEROSKK,1AA1KK1,1A扩展ABBZEROSKK,1BB1KK2,1B频率域计算线性褶积结果OK4IFFTFFTAAFFTBB频率域计算线性褶积结果OK33ZEROSLENGTHOK3LENGTHOK4,1OK331LENGTHOK3,1OK3OK44ZEROSLENGTHOK3LENGTHOK4,1OK441LENGTHOK4,1OK4作差比较PLUS2OK33OK44作差比较七、实习感想通过这次的计算机编程与数字信号处理实习,使我对数字信号处理的了解有了很大的提高。老师生动细致的讲解和悉心辅导让人印象深刻。在此,首先要对老师的指导致以深深的谢意。刚刚开始的时候,我感觉对MATLAB比较生疏,编程时还是比较喜欢使用C语言,但是随着学习的深入,渐渐地体会到了MATLAB的优势,尤其是在大量复杂的数据处理方面。当然,这两周短暂的上机实习并不足以使我们完全掌握MATLAB软件的用法,我将在日后继续学习。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。