数据

fa c0 fa
fb da 0d
fd c3 e3
00 6d 03
03 13 1b
04 e0 64
05 d5 bd
06 5d e4
06 9d de
06 9d 3a
06 68 76
06 0e ec
05 91 f5
04 c5 98
03 50 4b
00 fd 58
fe 35 de
fb e8 45
fa 8c 05
f9 d2 65
f9 6d 2a
f9 4c ea
f9 6b 5a
f9 b7 20
fa 22 83
fa c2 7d
fb dd d1
fd cb 24
00 75 54
03 18 f5
04 e2 ff
05 d7 6d
06 5f 12
06 9e 45
06 9c ae
06 67 84
06 0d f1
05 90 e8
04 c3 20
03 4b 41
00 f5 e0
fe 2f 54
fb e4 4c
fa 8a 05
f9 d0 e8
f9 6c 65
f9 4d 03
f9 6c 2e
f9 b8 13
fa 23 9a
fa c4 2b
fb e1 dd
fd d1 dc
00 7d 4a
03 1e 9b
04 e5 eb
05 d9 33
06 60 4f
06 9e 9d
06 9c 39
06 66 80
06 0d 0c
05 8f b2
04 c0 a8
03 45 cc
00 ee 06
fe 28 2c
fb e0 0f
fa 87 c8
f9 cf 55
f9 6b 7e
f9 4d 20
f9 6c f8
f9 b9 21
fa 24 8f
fa c5 e3
fb e5 fc
fd d8 f7
00 85 7d
03 24 5b
04 e8 de
05 db 23
06 61 ae
06 9f 02
06 9b ac
06 65 75
06 0c 22
05 8e 7e
04 bd f6
03 40 0e
00 e5 ed
fe 20 e2
fb db f4
fa 85 7a
f9 cd be
f9 6a 8c
f9 4d 55
f9 6d da
f9 ba 30
fa 25 7f

十六进制转有符号的十进制函数

function decval=hex2decWithSign(hexval, length)
% 功能:十六进制转有符号的十进制
% hexval:十六进制数
% length:十六进制数位数,例如hexval=f9a220,则length应为6
% 1、十六进制转十进制
decval = hex2dec(hexval);
% 2、获取十进制最高位的值,即符号位
sign = bitget(decval, 4*length);
% 3、符号位是否为负
negative_numbers = (sign == 1);
% 4、如果符号位为负则减去2的位数次方,否则不变
decval(negative_numbers) = decval(negative_numbers) - bitshift(1, 4*length);
end

读取代码

clear all;
clc;
% 读取十六进制文件
src = textread('E:\data.txt','%s');
idx = 1;
for i=1:3:length(src)
    dest(idx) = hex2decWithSign([src{i:i+2}], 6)*4.5/2^23;
    idx = idx + 1;
end
x=1:length(dest);
plot(x,dest);