位置:51电子网 » 技术资料 » 单 片 机

数据字长的预处理

发布时间:2014/7/30 20:05:05 访问次数:943

   在计算机控制系统中经常会出现数据字长不一致的情况。如有的系统采用12位A/D转换器采样数据,G3VM-S1而输出采用8位D/A转换器;有的系统使用8位A/D转换器进行采样,而为了提高计算的精度,采用双字节运算程序计算。为了满足不同的精度要求,数据在进行数字滤波、标度变换和控制运算后必须对数字量的位数加以处理。

   1.输入位数大于输出位数

   当输入器件的分辨率高于输出器件时,如采用10位A/D转换器采样,而CPU把处理后的10位二进制数通过8位D/A转换器输出,就会出现输入位数大于输出位数的情况。

   对输入位数大于输出位数的处理方法就是忽略高位数的最低几位。如10位A/D转换器的输入值为0011111010,此值经处理后送入8位D/A转换器的值就变为00111110。这在计算机中通过向右移位的方法是很容易实现的。

   由于10位A/D转换器的采样分辨率要比8位A/D转换器高得多,因此,虽然舍去了最低的两位数会产生一定的误差,但这一误差仍比采用8位输入、8位输出系统的误差小。

   2.输入位数小于输出位数

   当输入器件的分辨率比输出器件低时,如采用8位A/D转换器采样,而通过10位D/A转换器进行输出,就会出现输入位数小于输出位数的情况。

   输入位数小于输出位数的最好处理方法是:将8位数左移两位构成10位数,10位数的最低两位用“0”填充。如:

   转换前的8位输入值为××××××××;

   转换后的10位输出值为××××××××00。

   这种处理方法的优点在于构成的10位数接近10位A/D转换器的满刻度值,其误差在10位数字量的3个步长电压之内。


   在计算机控制系统中经常会出现数据字长不一致的情况。如有的系统采用12位A/D转换器采样数据,G3VM-S1而输出采用8位D/A转换器;有的系统使用8位A/D转换器进行采样,而为了提高计算的精度,采用双字节运算程序计算。为了满足不同的精度要求,数据在进行数字滤波、标度变换和控制运算后必须对数字量的位数加以处理。

   1.输入位数大于输出位数

   当输入器件的分辨率高于输出器件时,如采用10位A/D转换器采样,而CPU把处理后的10位二进制数通过8位D/A转换器输出,就会出现输入位数大于输出位数的情况。

   对输入位数大于输出位数的处理方法就是忽略高位数的最低几位。如10位A/D转换器的输入值为0011111010,此值经处理后送入8位D/A转换器的值就变为00111110。这在计算机中通过向右移位的方法是很容易实现的。

   由于10位A/D转换器的采样分辨率要比8位A/D转换器高得多,因此,虽然舍去了最低的两位数会产生一定的误差,但这一误差仍比采用8位输入、8位输出系统的误差小。

   2.输入位数小于输出位数

   当输入器件的分辨率比输出器件低时,如采用8位A/D转换器采样,而通过10位D/A转换器进行输出,就会出现输入位数小于输出位数的情况。

   输入位数小于输出位数的最好处理方法是:将8位数左移两位构成10位数,10位数的最低两位用“0”填充。如:

   转换前的8位输入值为××××××××;

   转换后的10位输出值为××××××××00。

   这种处理方法的优点在于构成的10位数接近10位A/D转换器的满刻度值,其误差在10位数字量的3个步长电压之内。


上一篇:数字调零

上一篇:数字滤波方法

相关技术资料
9-8CPLD器件
7-30数据字长的预处理

热门点击

 

推荐技术资料

硬盘式MP3播放器终级改
    一次偶然的机会我结识了NE0 2511,那是一个远方的... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!