DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 120|回复: 0
打印 上一主题 下一主题

寄存器溢出的问题

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-16 16:48:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

                      寄存器溢出的问题可以通过缩放输人来缓解,将输人缩放到一定程度可降低或消除寄存器溢出的概率。这种方法的缺点是实践中求解所需的缩放因子非常烦琐。测试用的输人可能并非最坏情况输入,因而可能低估所需的缩放因子。而且缩放降低了输入的精度,因而也将降低输出精度。另一种消除运行时溢出的方法是使用扩展精度的算法和寄存器。扩展精度寄存器具有额外的字长余量,从而允许最坏条件下滤波器仍能无误差地存储并保留系统状态。
  克服运行时溢出危害的首选方法是求解各寄存器或状态位置处的最坏情况滤波器增益。这是研究FIR时引人的最坏情况设计分析的扩展。通过将FIR的冲激响应假设为无限长,可实现FIR到IIR的转换。在FIR中最坏情况分析是用滤波器的冲激响应来确定的,相似的方法也可用于IIR。如果假设通过逐样比较得到输人信号的边界为|x[k]≤Mx,那么最坏情况输人可表示为下式:



  式中,h[k]花]为冲激响应构成的n维向量。理论上讲,所有独立状态的i,范数均由向量值的无穷和确定,即



  式中,hi[k]为第i个移位寄存器的输出(即状态xi[k]所在的位置)。不幸的是,利用式求解时需要计算无穷和。
  假设系统是渐近稳定的,其冲激响应将逐渐收敛到零上,因而‖h[k]‖1为有界的稳态值。可以运用基本特征值分析原则来求解收敛值,而更简单的方法是用实验法求解i,范数。这种方法是用足够长的部分求和值来逼近式。Matlab的norm函数可用于按给定误差容限计算第J个状态的冲激响应的J,范数。一旦l,范数‖h[k]‖1被计算或估计出,即可用于确定状态寄存器的动态范围需求。下面的例子显示了这个过程。
  欢迎转载,信息来自维库电子市场网(www.dzsc.com)
            
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-6-6 08:10 , 耗时 0.087581 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表