一种DA转换二进制数据处理方法与流程

文档序号:39740675发布日期:2024-10-25 13:10阅读:37来源:国知局
一种DA转换二进制数据处理方法与流程

本发明涉及数据处理,具体涉及一种da转换二进制数据处理方法。


背景技术:

1、光纤陀螺仪是一种能够精确地确定运动物体方位的仪器,它是现代航空,航海,航天和国防工业中广泛使用的一种惯性导航仪器,它的发展对一个国家的工业,国防和其它高科技的发展具有十分重要的战略意义。

2、光纤陀螺仪输出的是数字量,在对光纤陀螺仪的数据进行分析时,需要将输出的数字量转换位模拟量进行输出,同时,由于光纤陀螺仪的输出数据data_da [n]为32位二进制码,将该二进制码进行da转换时,需将32位二进制数转换为所需的16位二进制数,传统的转换方法有两种,其一是根据所需输出量程,取中间数据位,高位和低位直接舍弃,因量程和分辨率之间互相制约,可能存在量程或分辨率其一不能满足要求的问题;其二为通过浮点或除法运算再取位,但是这种方法运算量大,对硬件提出更高要求。


技术实现思路

1、针对现有技术存在的上述不足,本发明要解决的技术问题是:如何提供一种在保证量程满足要求的前提下能够尽可能提高分辨率,同时无需浮点运算,降低对硬件要求的da转换二进制数据处理方法及系统。

2、为了解决上述技术问题,本发明采用如下技术方案:

3、一种da转换二进制数据处理方法,包括具有m位的输入数据data_in[m]和具有n位的输出数据data_da [n],且输入数据data_in[m]和输出数据data_da[n]均为有符号数;

4、该方法包括以下步骤:

5、步骤1)将输入数据data_in[m]的符号位进行缓存;

6、步骤2)将输入数据data_in[m]乘以量纲;

7、步骤3)取输入数据data_in[m]的高n位,加上舍弃数据的最高位值,四舍五入后得到输出数据data_da[n];

8、步骤4)判断输出数据data_da [n]的最高位和输出数据data_da [n]的符号位是否相同,相同则执行步骤5),不相同则执行步骤6);

9、步骤5)将输出数据data_da [n]直接输出进行da转换;然后执行步骤7);

10、步骤6)将输出数据data_da [n]限幅到满量程值后输出进行da转换,然后执行步骤7);

11、步骤7)结束。

12、优选的,步骤6)包括以下步骤:

13、步骤6.1)判断输出数据data_da [n]的符号位,当输出数据data_da [n]的符号位为0时执行步骤6.2),当输出数据data_da [n]的符号位为1时执行步骤6.3);

14、步骤6.2)输出数据data_da [n]有溢出,拼接输出数据data_da [n]的符号位和n-1位1的满量程数据,限幅到满量程后输出进行da转换;然后执行步骤7);

15、步骤6.3)输出数据data_da [n]有溢出,拼接输出数据data_da [n]的符号位和n-1位0的满量程数据,限幅到满量程后输出进行da转换;然后执行步骤7)。

16、一种da转换二进制数据处理方法,包括具有m位的输入数据data_in[m]和具有n位的输出数据data_da [n],且输入数据data_in[m]为有符号数,输出数据data_da[n]为无符号数;

17、该方法包括以下步骤:

18、步骤1)将输入数据data_in[m]的符号位进行缓存;

19、步骤2)将输入数据data_in[m]乘以量纲;

20、步骤3)取输入数据data_in[m]的高n位,加上舍弃数据的最高位值,四舍五入后得到输出数据data_da[n];

21、步骤4)判断输出数据data_da [n]的最高位和输入数据data_in[m]的符号位是否相同,相同则执行步骤5),不相同则执行步骤6);

22、步骤5)输出数据data_da [n]加上中值后输出进行da转换;然后执行步骤7);

23、步骤6)将输出数据data_da [n]限幅到满量程值后输出进行da转换,然后执行步骤7);

24、步骤7)结束。

25、优选的,步骤6.1)判断输入数据data_in[m]的符号位,当输入数据data_in[m]的符号位为0时执行步骤6.2),当输入数据data_in[m]的符号位为1时执行步骤6.3);

26、步骤6.2)输出数据data_da [n]有溢出,符号位拼接n-1位1后满量程数据输出进行da转换;然后执行步骤7);

27、步骤6.3)输出数据data_da [n]有溢出,符号位拼接n-1位0后满量程数据输出进行da转换;然后执行步骤7)。

28、优选的,步骤2)中,量纲按以下公式进行计算:量纲=2m-1/(量程*标度)。

29、一种da转换二进制数据处理系统,包括光纤陀螺仪、fpga模块和da转换器,所述光纤陀螺仪输出端与所述fpga模块的输入端通信连接,所述fpga模块的输出端与所述da转换器的输入端连接,所述光纤陀螺仪输出32位的有符号数作为输入数据输出到所述fpga模块,所述fpga模块采用如权利要求1到5任一所述的da转换二进制数据处理方法将32位的输入数据转换为16位的输出数据后输出到da转换器,所述da转换器为16位并行的da转换器,所述da转换器将16位的输出数据转换为模拟量进行输出。

30、与现有技术相比, 本发明采用简洁的取位操作,在保证量程满足要求的情况下,主要有以下优点:

31、1、本发明能尽可能提高分辨率,使截取数据位尽可能的接近真实值。

32、2、本发明通过对输出数据限幅,使量程外输出均保持满量程输出,保护后期电路;

33、3、本发明无需浮点运算,降低硬件要求。

34、4、本发明代码简洁。



技术特征:

1.一种da转换二进制数据处理方法,其特征在于,包括具有m位的输入数据data_in[m]和具有n位的输出数据data_da [n],且输入数据data_in[m]和输出数据data_da [n]均为有符号数;

2.根据权利要求1所述的da转换二进制数据处理方法,其特征在于,步骤6)包括以下步骤:

3.一种da转换二进制数据处理方法,其特征在于,包括具有m位的输入数据data_in[m]和具有n位的输出数据data_da [n],且输入数据data_in[m]为有符号数,输出数据data_da[n]为无符号数;

4.根据权利要求3所述的da转换二进制数据处理方法,其特征在于,步骤6)中包括以下步骤:

5.根据权利要求1到4任一所述的da转换二进制数据处理方法,其特征在于,步骤2)中,量纲按以下公式进行计算:量纲=2m-1/(量程*标度)。

6.一种da转换二进制数据处理系统,其特征在于,包括光纤陀螺仪、fpga模块和da转换器,所述光纤陀螺仪输出端与所述fpga模块的输入端通信连接,所述fpga模块的输出端与所述da转换器的输入端连接,所述光纤陀螺仪输出32位的有符号数作为输入数据输出到所述fpga模块,所述fpga模块采用如权利要求1到5任一所述的da转换二进制数据处理方法将32位的输入数据转换为16位的输出数据后输出到da转换器,所述da转换器为16位并行的da转换器,所述da转换器将16位的输出数据转换为模拟量进行输出。


技术总结
本发明公开了一种DA转换二进制数据处理方法,该方法包括以下步骤:将输入数据Data_in[m]的符号位进行缓存;将输入数据Data_in[m]乘以量纲;取输入数据Data_in[m]的高n位,加上舍弃数据的最高位值,四舍五入后得到输出数据Data_DA[n];判断输出数据Data_DA[n]的最高位和输出数据Data_DA[n]的符号位是否相同,相同则将输出数据Data_DA[n]直接输出进行DA转换,不相同则将输出数据Data_DA[n]限幅到满量程值后输出进行DA转换。本方案在保证量程满足要求的前提下能够尽可能提高分辨率,同时无需浮点运算,降低对硬件要求。

技术研发人员:杨美玲,卢阳,贾少飞,李林
受保护的技术使用者:重庆华渝电气集团有限公司
技术研发日:
技术公布日:2024/10/24
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1