数据字长的预处理
发布时间: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个步长电压之内。
热门点击
- 晶闸管驱动电路
- 非编码矩阵式键盘
- Watchdog Timer工作原理
- 参数化兆功能模块( LPM)的调用
- LCD的驱动方式
- 双积分式A/D转换原理
- 创建采集并保存图像的程序
- 采样保持器
- 集成芯片V/I变换电路
- 自顶向下设计方法是一种模块设计方法
推荐技术资料
- 硬盘式MP3播放器终级改
- 一次偶然的机会我结识了NE0 2511,那是一个远方的... [详细]