信号处理算法设计与验证.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
信号处理算法设计与验证 信号处理专业同学 之 算法开发 新手上路 专题讲座 杜伟韬 广播电视数字化教育部工程研究中心 中国传媒大学 2009 11.4 本讲座的面向对象 本讲座的内容 算法开发中工具链的使用 编写结构化的MATLAB仿真 MATLAB算法向C算法的映射和迁移 混合开发环境下的算法验证与调试 本讲座面向对象 使用MATLAB开发算法的同学 完成理论算法设计后,需要把算法在某种处理器平台上实现的同学 带着问题来听课 你知道小明是如何做的么? 信号处理应用的场景设想 ,关于小明 信号处理算法不会独立存在,它需要某些载体和方法,让数据流入到信号处理系统之中,处理之后再流出去 本讲座的内容 算法开发中工具链的使用 编写结构化的MATLAB仿真 MATLAB算法向C算法的映射和迁移 嵌入式开发环境下的算法验证与调试 算法开发中工具链的使用 编写结构化的MATLAB仿真 MATLAB算法向C算法的映射和迁移 嵌入式开发环境下的算法验证与调试 算法中的工具链 算法的开发流程 工具的用途 各层环境之间的差异 (matlab,c,目标cpu) 调试面临的问题(数据一致性分析) 算法开发的流程 采用多个工具开发的原因 问题本身是分层次的 理论上应当选取哪些算法?推导出来额数学公式正确么?有快速算法么?如何验证理论计算和快速算法的正确性? 定点策略应该如何制定?设定的动态范围和精度够么? 应该选取哪些处理器的指令集呢?哪些算法和数据应当放在处理器的片内/片外呢? 解决问题也是有顺序的 一次面临太多问题,普通人无法思考的面面俱到。 集中优势兵力、各个击破。 层次化的设计,上层为底层提供需求,底层约束上层的可行性 工具本身也是有特点的 容易生成激励信号和测试环境模型,评价结果性能 执行速度较快,跨平台的移植能力较好 容易导出大量的节点信息,便于分析和调试 面向最终硬件结构,最能反映出真实结果 数据一致性的验证-文件传递法 数据一致性的验证-内存传递法 性能,是对比出来的 什么东西之间互相对比 首先有一个理想性能的指标,比如从公式中推导和分析出来的性能。 浮点算法模型的性能。不同字长配置的定点算法的性能。目标处理器平台的算法性能。 怎么对比 根据你的算法应用情况,关注特定的指标参数,比如,信噪比,误码率,最大误差,平均误差等等。 理论算法设计 制定需求 输入的信号特性,输出的信号\数据特性 处理速度的需求,资源开销的需求 推导算法 选取符合需求的算法 推导算法标号系统和运算规则 研究算法的存储结构 仿真算法 使用仿真工具进行浮点仿真 确定最终目标算法的公式 该仿真结果即为理性情况下系统的性能 定点算法设计 分析数据动态范围 信号数值边界分析 数值定标 用多少比特字长表示各个数据 符号位,整数部分,小数部分 运算单元特性:溢出,舍入模式 仿真验证 比特精确的参考模型 用于电路仿真或汇编优化对照 举例: 矢量点积 算法开发中工具链的使用 编写结构化的MATLAB仿真 MATLAB算法向C算法的映射和迁移 嵌入式开发环境下的算法验证与调试 结构化的MATLAB仿真 什么是结构化? 为什么要结构化? MATLAB数据的结构化 什么是结构化? 为什么要结构化 1、过程结构化的意义是封装完成特定功能的代码过程,这个重要性很明显。 2、数据的结构化容易被忽视 尤其是Matlab,可以随意开辟新变量 当你面对几十个、上百个全局变量的时候你甚至记不清某个变量的用途,哭吧。 所以要把数据结构化 例如变量“器官”的子变量有“心”,“肝”,“肺”等 和C++的类与对象有些类似 Matlab的数据结构化 Matlab可以有结构体对象 例如,在命令行敲入“s.a=1”,看看会发生什么 关于结构体类型,请从Matlab的帮助文档了解更多情况 结构体可以作为函数调用的参数 例如某个函数,把结构体s的两个成员变量a, b 缩小为0.5倍,可以这样写 Matlab函数参数的结构化 看看哪个代码风格更好 1、k=foo(a,b,c,d,e,f,g) 2、k=foo(s) // s has sub element a,b,c,d,e,f,g 避免Matlab函数的入口参数过多 1,你可能会记不住有哪些参数 2,如果调用时传递参数的顺序错了就麻烦了 比如 函数原型是k=foo(a,b,c,d,e,f,g) 调用时写成k1=foo(b1,a1,g1,f1,c1,d1,e1) 你觉得不可能?等你的变量名长度大于8个字母的时候就可能了 结构化的Matlab仿真包含什么内容 初始化部分 配置部分 算法模型部分 误差分析部分 仿真部件的作用 结构化Matlab代码的写法 用结构体来封装不同的数据 结构体的嵌套体现数据的包容关系 不同功能的代码过程用函数封装 结构体作为函数参数

文档评论(0)

44422264 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档