matlab中delta2tr,Delta压缩,将matlab代码移植到python

以下matlab函数对编码的信号进行解码:% Method : DeltaCompression

% Description : Decode delta compressed signal

%

function data = DeltaCompression(file, data)

if ftell(file) == -1

data.Time = [];

data.Signal = [];

return;

else

fseek(file, 0, 'eof');

stop = ftell(file);

fseek(file, data.DataOffset, 'bof');

start = ftell(file);

end

signal = zeros(round((stop-start)/2), 1);

buffer = zeros(4, 1);

index = 1;

while ftell(file) < stop

buffer(1) = fread(file, 1, 'int16', 'b');

buffer(2) = buffer(4);

if bitshift(buffer(1), 12, 'int16') == 0

signal(index:end) = [];

break

end

for i = 1:bitand(buffer(1), 4095, 'int16');

buffer(3) = fread(file, 1, 'int16', 'b');

if buffer(3) ~= -32768

buffer(2) = buffer(2) + buffer(3);

else

buffer(2) = fread(file, 1, 'int32', 'b');

end

signal(index) = buffer(2);

index = index + 1;

end

buffer(4) = buffer(2);

end

我正在尝试将这些代码移植到python。下面是一个工作示例:

^{pr2}$

我在试着解码delta编码的数据。我几乎确定delta解压应该可以工作,但我不确定我是否正确地解析了二进制文件。

以下是指向二进制文件的链接:https://www.dropbox.com/s/b7p3l2wn2iaen5z/VWD1A.ch?dl=0

matlab函数做了一些我不理解的奇怪的事情。你能给我解释一下matlab函数在做什么吗?我应该从哪里开始把它移植到python(我对matlab一无所知)?在

以下是预期结果的图片(我现在不介意轴的值,我只想看到这一个峰值):

MHRVC.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值