基于Matlab对C6000系列DSP系统进行软件开发的研究毕业设计论文.doc

上传人:可****阿 文档编号:91645253 上传时间:2023-05-27 格式:DOC 页数:38 大小:1.46MB
返回 下载 相关 举报
基于Matlab对C6000系列DSP系统进行软件开发的研究毕业设计论文.doc_第1页
第1页 / 共38页
基于Matlab对C6000系列DSP系统进行软件开发的研究毕业设计论文.doc_第2页
第2页 / 共38页
点击查看更多>>
资源描述

《基于Matlab对C6000系列DSP系统进行软件开发的研究毕业设计论文.doc》由会员分享,可在线阅读,更多相关《基于Matlab对C6000系列DSP系统进行软件开发的研究毕业设计论文.doc(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、本科毕业设计(论文)基于Matlab/Simulink对C6000系列进行软件开发的研究Research on the software development of C6000 series based on Matlab/Simulink学 院: 电子信息工程学院 专 业: 通信工程 学生姓名: 学 号: 指导教师: 北京交通大学2023年4月34北京交通大学毕业设计(论文) 中文摘要中文摘要摘要:随着Math Works公司的产品Matlab/Simulink的不断升级,基于Matlab /Simulink的DSP系统开发方式愈来愈成熟,功能愈发强大。Embedded Target fo

2、r TI C6000工具箱可以完成从概念方案设计到软件代码仿真甚至是在硬件DSP板生进行测试的全过程,使用Matlab /Simulink可以将仿真通过的函数模型直接转换成在DSP系统上能够执行的 C / C+ 代码,生成的代码可用于实时应用和硬件在线测试,对于Simulink工具箱Embedded Target for TI C6000中已有的函数图形进行简单程序的代码生成,比如EVMDM642案例DSP系统,确实可以方便地仿真以及实现快速的从算法概念到目标代码的自动生成,几乎不需要用户参与代码编写,对于简单的应用,用户只需要动一动手指,按一按鼠标,就能够让Matlab生成全套的代码,毫不费

3、力。可以得出结论:基于Matlab/Simulink的DSP代码生成的方法,在人力和物力的损耗上,要优于传统的基于CCS的DSP开发方式,能够加快DSP系统开发的速度,降低开发的难度,并且,基于Matlab/Simulink的DSP代码生成的方法适用于初学者,非高深资历的开发人员同样能够通过这个方式来完成DSP开发的科研任务。关键词:Matlab;Simulink;DM642;自动代码生成北京交通大学毕业设计(论文) 英文摘要ABSTRACTABSTRACT: With the continuous upgrading of Works Math Matlab/Simulink product

4、s, /Simulink DSP based Matlab system development is increasingly mature, more powerful. Embedded Target for TI C6000 toolbox can be completed from conceptual design to software simulation code even in the whole process of DSP in hardware testing, using the Matlab /Simulink function can be converted

5、directly into the model through simulation can be performed on the DSP / C+ + C code, the generated code can be used for real-time applications and hardware the online test, for Simulink Target for TI C6000 Embedded toolbox has the function of simple graphics program code generation, such as the EVM

6、DM642 case of the DSP system, automatic generation can easily achieve fast algorithm simulation and from concept to object code, almost do not need users to participate in the preparation of the code, for simple applications, users only need to move your finger, press the mouse, can let Matlab gener

7、ate a full set of code, easy. We can draw the conclusion: the method based on MATLAB / Simulink DSP code generation, in the loss of human and material resources, is superior to the traditional based on CCS of DSP development way, can accelerate the speed of DSP system development, reduce development

8、 difficulty and based on MATLAB / Simulink DSP code generation method is suitable for beginners, non developers of advanced qualifications can also through this way to accomplish research tasks in the development of DSP. KEYWORDS:Matlab; Simulink; DM642; Automatic Code Generation北京交通大学毕业设计(论文) 目录目 录

9、中文摘要IABSTRACTII目 录III1引言:毕业设计的背景与意义11.1研究背景11.2研究意义11.3研究问题简述21.4课题提出的要求31.5毕业论文的结构32MATLAB和SIMULNK简介42.1Matlab 软件现状简述42.2Simulink现状简述62.3Matlab/simulink配置与指令73CCSTUDIO介绍及传统DSP代码生成流程93.1CCStudio配置与指令93.2传统DSP软件开发流程94基于MATLAB/ SIMULINK的DSP目标代码生成方法104.1生成流程104.2基于Matlab对TMS320DM642为核心的目标DSP开发板进行仿真和代码生

10、成的函数模型设计114.3基于Matlab对EVMDM642 DSP系统板进行仿真和代码生成154.4基于Matlab对合众达公司SEED-VPM642 DSP系统生成代码进行移植的方法和分析265基于MATLAB的DSP代码生成方法总结30参考文献32致 谢34附 录35北京交通大学毕业设计(论文) 正文1 引言:毕业设计的背景与意义1.1 研究背景近年来,多种音频、视频技术迅猛发展,并已比较成熟,其中依托的数学信号处理的技术DSP处理器凭借独特的哈佛结构、流水线技术,能快速实现各种数字信号处理,满足了图像处理的诸多高水准要求,还包括运算量大,较高的信息传输速率,较高的处理精度和较强的实时性

11、等。现在,DSP与许多通信产品有着千丝万缕的联系,在信息与通信科学方面是一门十分重要的学科。对于现在的软件开发商来说, DSP开发是其主要工作的内容还有业务。所以提高开发速度,降低开发难度对于他们是至关重要的问题。而传统的DSP系统设计分为2个部分:算法开发和产品实现。在算法开发设计阶段里,一般使用Matlab进行仿真,完成方案和算法的设计,当仿真结果达到要求时,再进入产品的代码编写阶段。再一次用C/C+语言或者汇编语言将算法开发过程里通过的目的算法进行编写调试,最终在硬件DSP开发板上调试通过并且固化。对于传统的DSP开发方式,由于现在的开发软件数量种类很多,开发者在不同的岗位上需要了解和学

12、习的软件或者语言很多,因此对开发者的能力提出了不小的挑战,造成了不小的压力,能否方便的使用一个开发环境编写出心怡的目标代码是开发者的小小梦想,除此之外,如今的研发部门里,硬件大多都是使用美国Texas Instruments(德州器件)公司的芯片,相配套的软件一般也以CCStudio开发环境居多,如若按照传统的DSP开发流程,不同层次的开发人员还需要编写庞大数据量的语言代码,大量的时间和精力又将会消耗在代码的反复测试验证中,无疑将会推迟目标系统的完成时间,增加工作的负担,平添了开发的风险。对于这种繁琐的工作方式来说,如果有一个新的,可靠的方法,将会是开发者的福音!1.2 研究意义随着Math

13、Works公司的产品Matlab/Simulink的不断升级,基于Simulink DSP工具箱的DSP开发方法愈发成熟,功能愈发强大。工具箱可以完成从概念方案设计到软件代码仿真甚至是在硬件DSP板生进行测试的全过程,使用Matlab /Simulink可以将仿真通过的函数模型直接转换成在DSP系统上能够执行的 C / C+ 代码,更重要的是,Matlab简学易懂,不需要开发者扎实的数学基础的扎实和熟练巧妙编程能力,而且Matlab现在正式大学教学和科研中最常使用的道具。于是基于Matlab/Simulink的设计方法将简化了DSP应用系统的设计过程。并且,多年以来,TI公司的多种高性能DSP

14、器件在学习工作中得到了广泛的应用,可以实现大数据量以及复杂运算的媒体处理,成为了数学信号处理技术开发中的主流器件之一, 同时TI公司还与Math Workss公司合作,开发了对开发嵌入式目标系统有很多方便的工具箱:Embedded Target for TI C6000,可以更加方便用户仿真以及实现快速的从算法概念到目标代码的自动生成,生成的代码可用于实时应用和硬件在线测试,几乎不需要用户参与代码编写,对于简单的应用,用户只需要动一动手指,按一按鼠标,就能够让Matlab生成全套的代码,毫不费力。对于科研部门来说,如果能够在同一个平台上对DSP进行开发,将系统模型的建立,系统设计和实现过程一气

15、呵成,完美过渡,对于DSP的应用开发将会提供一条十分便利的道路。前辈们在很多文章资料中有介绍过使用Matlab对DSP进行直接的代码生成方法:李真芳、苏涛和黄小宇的基于Matlab6.0版本的对 Texas Instruments公司 TMS320 C5000/ C6000系列 DSP和 AD公司的 SHARC DSP的代码生成方法以及调试运行的过程1;薛定宇、陈阳泉研究了基于MATLAB/Simulink的仿真技术2;刘浩对Matlab2014a的操作和使用做了介绍3等;郭小强等对C2000系列DSP系统开发做了研究4;还有王成5、齐星刚6在MATLAB/Simulink平台上研究DSP代码

16、的自动生成。可以认为,这项技术正在走向成熟。因此,基于Matlab/Simulink的DSP开发方式十分值得推广!1.3 研究问题简述随着时间的演进,Math Workss公司不断地升级着Matlab的版本,TI公司的DSP的开发软件CCStudio也有一定的变化,许多指令被整合,虽然Matlab/Simulink的功能越来越强大,但是参考的资料适用的软件版本相较现在比较久远,许多指令已经开始失效,包括在我学习的过程中发现许多指令在Matlab中以及没有效果了。于是,本文基于新版Matlab2014/Matlab2015、CCStudio3.3及以上版本4以及5针对Matlab的实时信号处理系

17、统的方法进行研究。1.4 课题提出的要求这个课题提出的主要任务包括:1. CCS下DSP代码开发的过程介绍。2. Matlab Simulink的功能和使用介绍。3. 使用Matlab完成DSP设计开发的流程,包括从概念设计、软件仿真、硬件测试的全过程。4. 使用Matlab/Simulink Coder完成C6000 DSP开发板算法的Matlab仿真和程序设计。5. 基于Matlab/Simulink的DSP生成代码的实时性分析。1.5 毕业论文的结构在第二章节中,简单介绍下Matlab/Simulink的功能和使用情况,这里会列举针对毕设课题基于Matlab /Simulink的DSP系

18、统代码生成方法中Matlab工作环境的相关调试方法。 在第三章节中将简单介绍CCStudio的情况,并且介绍传统DSP开发的流程。以CCStudio 3. 3为例简单介绍DSP工程的结构。在第四章节中将详细介绍基于Matlab/Simulink的DSP系统的代码生成方法,是本毕业设计最重要的研究内容,其中:在4.1中叙述在基于Matlab/Simulink的DSP代码生成过程中,Simulink函数模型的设计方式还有流程,以基于TMS320DM6427芯片的DSP系统人脸识别疲劳度算法8为例进行叙述。在4.2和4.3中用画中画程序模型,还有视频与音频的采集与回放程序模型,在Texas Inst

19、ruments公司的DM642案例DSP系统evmdm642系统目标板上生成DSP代码9,叙述Build指令生成的生成过程,并列举生成代码头文件进行简单的分析。在4.4中以我学校实验室中配置的合众达公司出品的SEED-VPM642 DSP系统为目标板10,测试基于Matlab /Simulink生成代码过程的实用性和Simulink函数模型移植方法的可行性。在第五章节中对我进行过的Matlab/Simulink代码生成的仿真和测试进行总结,对这种方法的可行性进行分析和阐述。北京交通大学毕业设计(论文) 正文2 Matlab和Simulnk简介2.1 Matlab 软件现状简述MATrix LA

20、Boratory是Matlab这个词的全拼,意思是矩阵实验室。这款软件是美国Math Works公司的代表产品,是科学界最有影响力的软件。Matlab是一种高级的科学技术计算语言,也是一种高级的交互式开发环境,可以用来进行科学算法的开发、数据信息的可视化、数据信息的分析还有数值信息计算。Matlab的常用功能主要是矩阵的运算、函数/数据图像的绘制,而除此之外,还可以对用户界面进行创建及,使用其它科学语言(C,C+和FORTRAN)编写程序。虽然Matlab的主要功能是用来对数值进行运算,但是如果能够利用上数量众多的软件包和工具箱(Toolbox),Matlab也能对不同领域的科学工程应用进行仿

21、真、计算,比如图像的处理、信号的处理与通讯、金融行业的建模和分析、控制系统的设计与分析等等。另外还有一个配套软件包Simulink,提供了一个可视化开发环境,常用于系统模拟、动态/嵌入式系统开发等方面。这样一来,Matlab几乎涉及所有科研领域,源于其友好易学的操作方式还有其强大的仿真计算能力。MATLAB的优势:(1) 友好的工作平台和编程环境这些工具方便用户使用MATLAB函数和文件,其中的许多工具用于图形用户界面。包括MATLAB桌面和命令窗口,历史命令窗口,编辑器和调试器,路径搜索和用户浏览帮助,工作区,文件浏览器。用MATLAB软件的不断升级和商业化,MATLAB的用户界面也越来越复

22、杂,越接近标准的Windows界面,人机交互性更强,操作更简单。与新版本的MATLAB提供了一个完整的在线查询,帮助系统,大大方便了用户的使用。简单的编程环境提供了一个完整的调试系统,程序可以直接运行无需编译的编译器,它可以报告错误和时间错误的原因。(2) 简单易用的程序语言MATLAB高级矩阵语言,其中包含控制语句,函数,数据结构,输入输出和面向对象编程的特点。用户可以同步执行命令在命令窗口输入语句,或写一个大的,复杂的应用程序(M文件),运行起来.新版本的MATLAB语言是基于最流行的C+语言基础。因此,语法特点和C+语言是非常相似的,更简单,在符合科技人员更多的写作格式的数学表达式。为了

23、使它更利于计算机科技人才的使用。此外,这种语言的可移植性和可扩展性很强,这也是MATLAB去科学研究和工程计算的重要原因(3) 强大的科学计算机数据处理能力MATLAB是一家集大型计算算法。它拥有超过600的数学运算功能,可以为用户实现各种计算功能很容易实现。在用于算法的功能是在科学研究和工程计算的最新研究成果,和前后的各种优化和容错性。在一般情况下,它可以代替底层编程语言,如C和C + +。在相同的情况下,MATLAB编程的工作量将大大减少。这些函数的MATLAB包括最简单、最基本的功能,从基本的功能如矩阵,特征向量,快速傅里叶变换的复杂功能。函数能解决的问题一般由矩阵运算和求解线性方程,微

24、分方程和偏微分方程的求解,符号计算,傅里叶变换和数据的统计分析,工程优化问题,稀疏矩阵的运算,多个运输,三角函数等基本数学运算,多维数组操作建模和动态仿真等。(4) 出色的图形处理功能图形处理函数MATLAB自生产之日起具有方便的数据可视化,以向量和矩阵的图形性能,可以标记和打印图形。高层次的映射包括二维和三维可视化,图像处理,动画和表情映射.可用于科学计算和工程制图。在图形处理函数MATLAB的新版本有了大的改进和完善,使它不仅在一般的数据可视化软件的功能(在二维和三维曲面的绘制和处理,例如曲线等)更加完善和其他一些软件(例如光图形处理,色彩处理,四维数据的性能,功能等),也表现出良好的加工

25、能力,MATLAB。同时,一些特殊的视觉要求,如图形对话框,MATLAB,也有功能,可以保证不同层次的用户。MATLAB中的另一个新版本也集中在图形用户界面(GUI)的生产取得了很大的进步,这也能满足用户的特殊要求。(5) 应用广泛的模块集合工具箱MATLAB开发的功能强大的模块集和许多特殊领域的工具箱.总的来说,他们是通过在一个特定领域的专家开发的,用户可以直接使用该工具包的学习,应用和评估不同的方法,而无需编写代码本身。目前,MATLAB工具箱扩展到科学研究和工程应用中的许多领域,如数据采集,数据库接口,概率和统计,样条拟合,优化算法,偏微分方程,神经网络,小波分析,信号处理,图像处理,系

26、统辨识,控制系统设计,控制的LMI,鲁棒控制,预测模型,模糊逻辑,财务分析,地图工具,非线性控制设计,实时快速原型和半物理仿真,嵌入式系统的发展,定点仿真,DSP和通信,电力系统仿真等,在工具箱(toolbox)家庭有他们自己的地方。(6) 实用的程序接口和发布平台新版本的MATLAB可以使用MATLAB编译器和C / C+数学库和图形库,将自己的MATLAB程序自动转换为C+和C代码独立于MATLAB运行。允许用户编写的C或C+语言程序与MATLAB结合。此外,MATLAB Web服务程序还允许自己的MATLAB数学和图形程序在Web应用程序中使用。一个MATLAB的重要特征是它有一个程序的

27、扩展系统和特殊应用子程序调用工具箱.工具箱是一个MATLAB函数子程序库,每一个工具箱是一种学科和应用而定制的,主要包括信号处理,控制系统,神经网络,模糊逻辑的应用,小波分析和系统仿真等。(7) 应用软件开发(包括用户界面)在开发环境中,用户控制多个文件和图形窗口更加方便;在嵌套函数,编程支持条件中断;在图形,更强大的图形标注和处理功能,包括性连接的音符;在输入输出方面可以直接到Excel和HDF5连接。MATLAB包括数百个内部函数,工具包有三十集中套。该工具包可以分为功能性工具和学科工具包。功能工具包是用于扩大MATLAB的符号计算,和可视化建模功能,字处理和实时控制。学科工具包是一个专业

28、的,更强大的工具,控制工具包,信号处理工具包,通信工具,等等。打开MATLAB广受用户欢迎。除了内部功能,所有主要的matlab程序包文件和各种工具都是可读可修改的文件,用户通过对源程序的修改或添加自己写的程序构建新的专用工具。Matlab自20世纪70年代,由美国新墨西哥大学Cleve Moler推出,1984年推出第一代商业产品,之后不断推陈出新,不断地加入了新的工具箱和软件包,添加更加强大的功能,展现出来Matlab软件和Math Works公司旺盛的活力。现在的最新版本为2015a,离现在最近的一次大型版本更新是2012b,发布于2012年9月11日,在这次更新中,整合了许多旧指令,对

29、77种其他产品进行了更新和补丁,这样部分旧指令以及不被Matlab所辨认,对于较新新版本的Matlab,开发者需要再稍作学习和了解。这也是毕业设计研究的内容之一,即使用较新版本的Matlab/Simulink软件完成对DSP系统的代码生成。2.2 Simulink现状简述Simulink是一个软件包,是Matlab的重要组件,是动态系统数学建模的工作环境,它是一种可视化的仿真工具,只需要使用鼠标点一点,就能够创建直观的函数模型进行仿真,完成综合分析。在Matlab中,Simulink的地位举足轻重,对于初学者来说,在工作窗口中一眼就能看到Simulink按钮,经过简单的学习和了解,初学者也能够

30、使用Simulink搭建简单的函数模型完成仿真。构架在Simulink基础之上的其他产品扩展了Simulink多领域建模功能,也提供了用于设计、执行、验证和确认任务的相应工具。Simulink与MATLAB紧密集成,可以直接访问MATLAB大量的工具来进行算法研发、仿真的分析和可视化、批处理脚本的创建、建模环境的定制以及信号参数和测试数据的定义。如今的Simulink软件包中内容丰富,种类繁多,随着时间的演进,Simulink的功能愈发强大,在本次毕业设计中利用的,正是其强大的仿真能力背后具有的强大的软件支持力,今天的Simulink不仅仅能完成仿真分析工作,还能够编译调试代码,驱动DSP系统

31、。2.3 Matlab/simulink配置与指令 本次毕业设计采用Matlab2014a/2015a版本,CCStudio选用3.3或以上版本4或5。Matlab的较新版本部分整合了之前版本的命令和工具箱,新版本工具箱能支持更多版本的Texas Instruments C2000/C5000/C6000系列DSP开发板,且支持CCStudio3.3/4/5的编译器,会方便DSP的开发流程。针对Texas Instruments 公司C6000系列DSP板的开发,Matlab中需要安装TICCS工具箱“Embedded Coder Support Package for Texas Instr

32、uments C6000 DSPs”,安装方法:选择点击Matlab工作窗口主面板的“附加功能”中的“Get Hardware Support Packages”选项,选择安装“Texas Instruments C6000”工具箱,安装工具箱需要Math Works账号,该账号可以在Math Works官网上免费注册,请初学者周知。另外为了顺利地发挥功能,此工具箱需要CCStudio版本的匹配,需要CCS的编译器版本高于Texas Instruments CCS v3.3 with C6000 Code Generation Tools 6.1.10+,在工具箱安装过程中会出现提示,建议安装

33、编译器版本匹配的CCStudio软件。为了完成使用Matlab对C6000系列DSP进行开发的工作,我们需要构建Matlab/Simulink与CCStudio的“联合开发环境”。这里在Matlab2014a上对毕设内容的环境配置进行简单的描述: 在2012a和之前的版本中,我们可以使用help ccslink或者help IDElink指令来检查编译器的情况,在较新的版本中已经不再支持。这里可以使用一个更加强大的指令。在Matlab工作窗口中输入checkEnvSetup(ccs,C64xx,check)指令用来查看与CCStudio软件对DSP系统进行编译的最重要的4个工具的信息,指令中的

34、C64xx可以替换为其他系列的型号,如C62xx。 checkEnvSetup(ccs,C64xx,check)1. CCS (Code Composer Studio) Your version : 3.3.83.20 Required version: 3.3.82.13 Required for : Automation and Code Generation2. CGT (Code Generation Tools) Your version : 6.1.10 Required version: 6.1.10 Required for : Code generation3. DSP/B

35、IOS (Real Time Operating System) Your version : 5.33.05 Required version: 5.33.05 Required for : Code generation4. Texas Instruments IMGLIB (TMS320C64x Image Library) Your version : Required version: 1.04 Required for : CRL block replacement C64X_IMGLIB_INSTALLDIR= 上述指令的结果中,我们看到的是CCS版本、编译器版本、接口版本和Te

36、xas Instruments函数模型库的情况,如果报错,那需要检查CCStudio的版本,重新安装匹配版本CCStudio软件。我们输入指令“ccsboardinfo”,可以看到:Board Num Board Name Proc Num Proc Name Proc Type - - - - - 0 DM642 Device Cycle Accurate Si . 0 DM642 TMS320C6000上述信息是Code Composer Studio Setup中设置的DSP目标板型号。输入指令cc = ticcs,我们会收到:TICCS Object: Processor type :

37、 TMS320C642x Processor name : DM642 Running? : No Board number : 0 Processor number : 0 Default timeout : 10.00 secs上述信息反映的是Matlab连接并启动CCStudio程序,CCStudio在后台启动,我们通常看不到其工作窗口,在基于Matlab/Simulink的DSP代码生成方法中,并不需要对CCStudio编译环境进行操作,这个过程主要的是Matlab按照Simulink中的函数模型内容,通过调用CCS库文件,使用CCS进行的代码编译过程。另外,“cc=ticcs”指令是

38、新指令,在2012a和之前的版本中,使用“cc=ccsdsp”指令来启动CCStudio软件。用Matlab启动CCStudio的过程如果报错,那需要修改Code Composer Studio Setup中的配置,或者检查DSP系统接口驱动的安装情况。这之后,我们可以启动Simulink或者输入“c6000lib”来开始后面的DSP系统开发过程。北京交通大学毕业设计(论文) 正文3 CCStudio介绍及传统DSP代码生成流程3.1 CCStudio配置与指令首先要说的是,针对实际DSP系统,计算机与之硬件连接需要接口驱动,接口驱动可以在硬件厂商的官网上找到,需要注意的是,很多接口驱动有许多

39、诸如只能支持32位的一些要求,并不是所有的计算机都能顺利安装驱动与目标DSP系统相连,比如我的64位笔记本电脑无法使用我学校实验室中配置的合众达SEED-VPM642 DSP系统,就因为该系统的计算机接口驱动是支持32位的。另外,有了接口驱动并不一定能用CCStudio对已连接的目标DSP系统进行编译,在CCStudio软件的配置程序Code Composer Studio Setup中,除了设置DSP板的型号,还需要设置GEL文件。具体的需要在DSP选项上右键找到Properties选项,修改GEL File路径。GEL文件时用来初始化DSP目标板的数据空间,I/O空间以及程序空间的,还会配

40、置CCS开发环境。刚刚安装好的CCStudio软件中并不直接支持许多DSP系统,如我学校实验室中的合众达SEED-VPM642 DSP系统,需要专门去实验室老师那里获取(并不排除能够从互联网上获取的途径)。在基于Matlab /Simulink的DSP系统代码生成方法中,我们只关心CCS的版本,Code Composer Studio Setup中DSP目标板的配置即可。而传统的基于CCS的DSP软件开发过程中,要掌握的CCS知识要多得多。3.2 传统DSP软件开发流程传统DSP软件开发流程: 第一步:根据功能目的设计方案和核心算法,一般需要对算法进行原理上的设计,在达到性能要求后,评估算法在

41、系统上的可行性、还要预估系统的成本。第二步:依据算法原理和实现的方式,选择合适的硬件来实现,具体来说就是选择合适的DSP处理器还有其配套器件和外围接口。开发人员需要对目标DSP开发板的硬件配置参数、工作特点等方面进行算法上的模拟,评估在这种指定的目标DSP开发板上,设计的方案算法是否满足处理速度还有性能的要求。第三步:设计DSP硬件电路板;另一方面编写DSP代码第四步:在目标DSP上调试编写的程序第五步:将生成代码固化到目标DSP板上北京交通大学毕业设计(论文) 正文4 基于Matlab/ Simulink的DSP目标代码生成方法基于Matlab的DSP代码生成方法使用的是Math Works

42、s公司提供的Real-time Workshop代码生成工具,用simulink模块来仿真生成需要的DSP代码。一般生成的代码清晰、高效和紧凑,能满足实时仿真中的嵌入式系统、面向目标的快速控制原型板还有微型处理器的需要,并且能提供集成一流应用软件、数据还有函数的全方面支持。Matlab基于这个模块功能,衍生出了新的DSP代码生成方法。4.1 生成流程图4.1.1 Matlab与TI DSP目标板建立实时连接上图4.1.1是由Matlab生成DSP代码的链接示意图,由Matlab/Simulink仿真模块中的Link for CCS Development Tools与Code Composer

43、 Studio建立联合开发环境,Matlab通过CCStudio链接至DSP目标板,建立实施数据交换。在Matlab控制下调用编译库文件进行仿真和调试,用CCStudio进行编译,最后下载至DSP目标板。用户在这个过程中需要做的的只是设置库文件和调整DSP参数。基于现实情况以及当前Matlab/Simulink中C6000工具箱的版本,在这次毕业设计中,我选择以DM642为核心来研究代码生成过程。在视频处理领域,DM642芯片是用来进行数字多媒体处理的极好选择,是目前构造数字多媒体应用的理想平台。DM642的硬件平台可以划分为视频的采集、存储。图像的处理、结果的显示还有电源的管理几个部分。A/

44、D采样是由SAA7115解码器与视频端口相接,D/A有SAA7105解码器与端口相连。具体连接方式如下图4.1.2:图4.1.2 DM642的连接示意框图4.2 基于Matlab对TMS320DM642为核心的目标DSP开发板进行仿真和代码生成的函数模型设计我用一个简单的人脸疲劳识别7模块作为例子来分析基于TMS320DM642的代码生成的设计仿真方法。下图4.2.1是模块设计流程:图4.2.1 人脸疲劳识别流程图根据流程图,在Simulink工作窗中搭建仿真系统,模型图如下图4.2.2:图4.2.2 人脸疲劳识别仿真函数模型图中的第一个模块是图源输入(Image From File),用来导

45、入被检测图片;第二个模块是预处理模块(Pretreatment),用来对人脸进行补偿,其中混有噪声,所以模块中加入了人脸补偿图4.2.3,用来增强图像效果。这里由于实际操作中有难以实现或者搭建的Simulink模块,需要使用Matlab提供的S函数语句。通过嵌入函数模块,即在组建模型是加入自己的代码,才能够达到预期效果。因此在下图如图4.2.3中蓝色的模块(Embedded Matlab Function)中,加入了人脸补偿11。图4.2.3 人脸补偿函数模型第三个模块是人脸识别模块(face detection),可以分为人脸定位和人脸分割两部分,由于人类肤色有独特的统计特征12,考虑各方面

46、因素后,利用H、S、V个分量13参与提取人脸,得到二值图。在初步的分割处理后,一定程度上去除了背景,但是会有一些噪声对人脸定位造成影响,这里使用形态学知识14来消除噪声,如图4.2.4。如图4.2.4 形态学除噪声框图在人脸定位模块里,主要采用的是图像的像素点投影方法。对二值图里白像素点数做垂直方向和水平方向的求和,用事先设定的值与结果进行对比,人脸区域是其中高于阈值的,这样就可以粗略地得到面部的坐标区域,根据人脸尺度的约束条件,长宽比0.8 h / w 1.59,最终判定人脸范围。图4.2.5 人脸肤色识别上面的框图4.2.5用来对人脸进行识别,其中的蓝色模块是自主编写S-Function模块,采用色彩空间判定的方法,分别用H、S、V三个分量对肤色点进行判断以及将像素点进行投影,它的标准为:“ 0

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁