matlab 数据换算到范围,matlab读取AD数据并转换

前面介绍了matlab的一些常用操作与函数,但matlab还是用来仿真计算的,这就需要将AD采集的数字数据导入matlab进行计算,一般将AD数据存储为文本文件(内容为二进制存储),通过matlab的fopen()打开文件,然后通过fread()读取数据内容,注意选择数据长度,如下图所示,图中的数据为8bit无符号数的形式读取。

f69c797c81f1b1e42777bb9f892f0448.png

而实际我们采集的无符号8bit数中,只有6bit有效,并且还是有符号数的,那么直接通过上图的方法读取数据将会将数据范围变成0~63,而没有负数的情况。那么6bit的最高为符号位,而这与我们通过的8bit表示有符号的二进制形式不一样,感兴趣的童鞋可以通过Windows计算器查看一下有什么不同。那么怎么将6bit无符号数转换有符号8bit数据呢?

我通过查表法进行转换,因为位数比较少,表的内容也就64个,好理解也好实现,再多的话就需要想其他办法转换了。

6344bda743ee23abfd8afb394b01c77f.png

上面是查表值的内容,对应0~63值的有符号8bit数值。因为matlab数组的下标从1开始,所以转换的时候,需要将addata+1后再进行查表。形式与OrignDataIdx(addata+1)所示。

PS:这里的查找表问题已经更正,增加了连接符。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值