如何用最少的代码压缩循环数据?

时间:2017-04-08 09:38:42

标签: compression analog-digital-converter

我需要从传感器收集数据并压缩(有损)大约2到1.我想瞄准50行以下的C代码。该信号来自4位A / D转换器,大致为正弦波,幅度和频率略有不稳定。偶尔会出现信号不稳定的情况。

1 个答案:

答案 0 :(得分:2)

“有损”是相当广泛的,允许任何事情。一半的样本。一半的位。其他任何事情都会有所涉及。

您必须a)从先前的样本中尽可能地预测下一个样本,b)从样本中减去预测,并且c)平均地以两位或更少的比特发送该差异。执行此有损将导致结果漂移,需要使用原始的四位样本定期重新定中心。

一个简单的二次预测器是a - 3b + 3c,其中a,b,c是最后三个样本。一个正弦波预测器会更复杂,适合频率和相位,并随着你的进行调整。

如果你的数据很嘈杂,并且它的分辨率只有四位,那么你是否会从中得到任何里程数是值得怀疑的。