课程设计任务书1.设计目的:(1)通过本课程设计的学习,学生将复习所学的数字信号处理知识,使课堂学习的理论知识应用于实践,通过本课程设计的实践使学生具有一定的实践操作能力;(2)掌握Matlab语言的编程方法,能熟练运用;(3)通过Matlab实践的课程设计,掌握设Matlab数字信号处理系统的思维方法和基本开发过程。2.设计内容和要求(包括原始数据、技术参数、条件、设计要求等):一、学习Matlab编程及仿真1、熟悉Matlab的运行环境;2、学会并掌握Matlab图形编程;3、根据所设计系统的需要会合理设定需完成系统的各项参数;4、根据所设计系统的需要,优化程序设计最优系统。二、实践设计要求:1、根据所选题目,设计实现系统的原理框图。2、编写Matlab程序,给出系统不同节点输出波形。3、每人写出设计报告。三、参考题目题目1:语音信号分析通过计算机录制一段语音信号,分析该语音信号。1、分析该信号的频谱特性;2、采用IIR进行降噪;3、根据FIR进行降噪;4、对信号进行断句分割。5、求信号的均值、方差;6、求信号的自相关系数;7、求信号的窗(1秒、2秒)能量;8、求信号的窗(1秒、2秒)自相关分析9、采用平均幅度差函数(AMDF法)提取求信号的基音周期、谱估计;10、根据数字特征对信号进行断句分割。注:每个同学可以选择1和2、1和3、1和4、5和6、5和7、5和8、5和9、5和10的一组作为题目,8名同学完成该题目。题目2:傅里叶变换设计自己设计傅里叶变换函数(不能使用Matlab函数);题目3:数独游戏设计1、根据数独游戏规则,设计数独判断程序;2、自动生成数独表;3、根据输入给出输出;注:2个同学一组。题目4:Matlab绘图界面设计1、设计GUI界面;2、通过下拉菜单选择绘制正弦、正切信号;3、通过编辑框输入命令,根据命令绘制信号;4、通过按钮在图形中输出标注(标题、各轴名称);注:1个同学一组。题目5:Matlab信号分析界面设计1、设计GUI界面;2、通过按钮输入信号;3、对信号进行频谱分析;4、输出信号的频谱;注:1个同学一组。题目6:Matlab信号滤波分析界面设计1、设计GUI界面;2、通过按钮输入信号;3、对信号进行低通、高通、带通分析(FIR、IIR、巴特沃斯、切比雪夫);4、输出处理信号的结果、频谱;注:每个同学选择一个滤波器,4名同学完成该题目。题目7:Matlab智能信号发生器1、输出方波、矩形波、三角波和正弦波信号;2、输出随时间变化频率的信号;3、输出随时间变化幅值的信号4、输出随时间变化斜率的等幅值的信号;5、输出处理信号的结果、频谱;注:每个同学选择一种信号,4名同学完成该题目。题目8:Matlab方程组求解数值计算设计1、设计GUI界面;2、通过按钮选择计算方法,表格录入数据;3、对录入数据判断是否可算,实现算法如高斯-赛德尔、列主元消去法、高斯消元法等;4、输出计算结果、误差;注:每个同学选择一种算法,4名同学完成该题目。题目9:Matlab插值求解数值计算设计1、设计GUI界面;2、通过按钮选择计算方法,表格录入数据;3、对录入数据判断是否可算,实现算法如三次样条插值、拉格朗日插值、牛顿插值等;4、输出计算结果、误差;注:每个同学选择一种算法,4名同学完成该题目。题目10:Matlab哈弗曼编码设计1、设计GUI界面;2、通过按钮选择计算方法,表格录入数据;3、对录入数据实现算法哈弗曼信源编码;4、输出计算结果、编码效率;注:1名同学完成该题目。题目11:Matlab费诺编码设计1、设计GUI界面;2、通过按钮选择计算方法,表格录入数据;3、对录入数据实现费诺信源编码;4、输出计算结果、编码效率;注:1名同学完成该题目。题目12:Matlab卷积码编码解码设计1、设计GUI界面;2、通过按钮选择计算方法,录入数据;3、对录入数据实现算法卷积码信道编码;4、输出计算结果、编码效率;注:一个同学设计算法、一个同学设计算法分析,2名同学完成该题目。题目13:Matlab文本内容加密解密算法设计1、设计GUI界面输入文本文件内容;2、对文本内容采用字符颠倒的顺序加密;3、密码字典设计、解密算法设计;4、输出结果。注:每个同学选择一种算法,2名同学完成该题目。题目14:Matlab加噪信号发生器1、输出理想信号如方波、矩形波、三角波和正弦波信号(参数可调);2、输出高斯噪声信号(参数可调);3、输出理想信号与噪声信号叠加后信号4、输出处理信号的结果、计算信噪比;注:每个同学选择一种信号,5名同学完成该题目。题目15:Matlab信号参数计算1、编写一个长度为100的随机信号,信号在区间[-5,5]中均匀、泊松、正态分布;2、测量该序列的均值,方差,最大值,最小值;3、计算其相关函数。注:每个同学选择一种信号,2名同学完成该题目。题目16:基于蒙特卡罗模拟方法的信号分析1、随机产生信号,信号在区间[-5,5]中泊松、正态、分布;2、设计蒙特卡罗函数;3、采用蒙特卡罗模拟方法对设计的信号进行分析;4、并输出结果;注:每个同学选择一种分布信号,3名同学完成该题目。题目17:Matlab信号分解1、编写一个由3不同特征组成信号(相位、频率、幅度);2、对信号叠加白噪声;3、分析信号的频谱、功率谱;4、测量该序列的均值,方差,最大值,最小值;5、设计滤波器,分解3个信号。注:1名同学完成该题目。题目18:Matlab信号参数分析1、设计指数、瑞利、韦泊分布的信号;2、设计3个频率组合的信号;3、叠加上述信号;4、分析上述信号的频谱。注:1名同学完成该题目。题目19:Matlab动态移动小球绘图1、设计三块磁铁构成的磁力线图;2、设计一个红色小球沿磁力线移动;3、通过键盘控制小球移动的速度;4、通过鼠标滚轮控制小球在不同的磁力线移动。注:每名同学选择上述题目中的1个,4名同学完成该题目。题目20:Matlab动态绘图1、设计不同频率组成的信号;2、分析信号的频谱;3、动态绘制信号;4、输出信号的分析结果。注:1名同学完成该题目。3.设计工作任务及工作量的要求〔包括课程设计计算说明书(论文)、图纸、实物样品等〕:(1)要求设计组的每个成员都要了解设计的要求和整体思路;(2)每个题目小组的同学各完成一份设计说明书,突出各自的工作内容;(3)要求有正确的运行结果及结果分析。课程设计任务书4.主要参考文献:谭浩强.《C程序设计(第二版)》.清华大学出版社.1999年12月袁志祥.《数据结构(c语言版)例题详解与课程设计指导》第二版.中国科学技术大学出版社出版谭浩强.《C语言程序设计题解与上机指导》.清华大学出版社.2000年11月陈朔鹰,陈英主.《C语言程序设计习题集(第二版)》.人民邮电出版社.2003年2月田淑清.《C语言程序设计辅导与习题集》.中国铁道出版社.2000年1月王明泉.《信号与系统》.科学出版社.2010年6月5.设计成果形式及要求:每个子题目小组提供详细的设计说明书一份设计说明书中包含:1、关键词解释,设计方案基本原理;2、软件框图;3、调试过程、设计结果、设计分析;4、附录软件源代码6.工作计划及进度:2016年12月5日~2016年12月5日:学习Matlab有关编程方法;2016年12月6日~2016年12月8日:在指导教师指导下实现程序设计;2016年12月8日~2016年12月9日:撰写课程设计说明书;2016年12月9日:答辩。学科部主任审查意见:签字:年月日目录一、题目说明------------------------------------1二、设计主要模块------------------------2三、功能分析-----------------------------2四、程序源代码---------------------------3五、运行调试结果-------------------------11六、收获及体会----------------------------131一、题目说明1、数独游戏设计要求①在9*9的大九宫格内,已给定若干数字,其他宫位留白。玩家需要自己按照逻辑推敲出剩下的空格里面是什么数字。②必须满足的条件:每一行与每一列都有1到9的数字,每个小九宫格里也有1到9的数字,并且每一个数字在每行,每列都只能出现一次,既不能重复也不能少。③每个数独游戏都可以根据给定的数字为线索,推算解答出来。2、matlab软件介绍①基本介绍:ATLAB(矩阵实验室)是MATrixLABoratory的缩写,是一款由美国TheMathWorks公司出品的商业数学软件。MATLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。除了矩阵运算、绘制函数/数据图像等常用功能外,MATLAB还可以用来创建用户界面及与调用其它语言(包括C,C++和FORTRAN)编写的程序。尽管MATLAB主要用于数值运算,但利用为数众多的附加工具箱(Toolbox)它也适合不同领域的应用,例如控制系统设计与分析、图像处理、信号处理与通讯、金融建模和分析等。另外还有一个配套软件包Simulink,提供了一个可视化开发环境,常用于系统模拟、动态/嵌入式系统开发等方面。②编程环境:MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。③图形处理:MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。可用于科学计算和工程绘图。新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。23、题目要求①根据数独游戏规则设置数独判断程序。②自动生成数独表。③根据输入数字给出输出,输入错误时给出提示。二、设计主要模块数独游戏主要组成部分三、功能分析游戏主要功能包括:①游戏的初始化,自动生成数独表。②根据选择的游戏难度不同产生给出数字数目不同的数独表。③当发生填写错误时会给出提示。④提供作弊功能,可以给出部分答案提示。⑤根据读者需要可以生成答案。数独游戏生成及判断程序界面设计解决数独问题程序3四、程序源代码functionsudoku(varargin)%sudoku%%SudokuGUIforMatlab%ifnargin==0,h_main=openfig(mfilename,'new');centerfig(h_main);handles=guihandles(h_main);guidata(h_main,handles);initialize(handles);elseifnargin1,feval(varargin{1},varargin{2:end})elsefeval(varargin{1})endend%--------------------------------