压缩算法--TP(1978)

TP压缩算法又称为转折点算法,是Mueller在1978年提出的一种压缩算法,你别嫌这个算法老,还是很好用的。

1、算法原理

1)保留第一个点

2)从第一个点开始依此选择三个点,y1,y2,y3,求得三个点的幅度差,(y2-y1),(y3-y2)

3) 如果(y2-y1)*(y3-y2)<0,说明中间值y2是转折点,则保留y2,否则说明三个点处于一致上升或者下降趋势,则保留最后一个值y3

2、算法优缺点

优点:保真度高,速度快,算法易于实现

缺点:压缩比只能为2,且不能在此基础上再次压缩,否则会造成信号失真。

3、算法实现效果展示

将压缩前后的信号按照采样点画出,从图中可以看出,原本的3600个sample已经压缩到1800个sample,压缩比为2。

将压缩前后的信号按照时间轴画在同一个坐标轴上面,下图可以看出,重合效果很好,保真度很高。

 

 

function sigCompressed = TPCompressionAlg(sig)
%%==========================================================
% TP 压缩算法
% sig:原始信号;sigCompressed:压缩后的信号
% author:xhs
% time:20190402
%%=========================================================
len = length(sig);
sigCompressed = zeros(1,floor(len/2));
j = 1;
sigCompressed(1) = sig(j);
for i = 3:2:len
    if((sig(i)-sig(i-1))*(sig(i-1)-sig(1))<0)
        temp = sig(i-1);
    else
        temp = sig(i);
    end
    j = j+1;
    sigCompressed(j) = temp;
end
end

温馨提示:如果你不需要很高的压缩比,且希望压缩后的信号保真度比较高,那么推荐该算法

原文地址:https://www.cnblogs.com/xhslovecx/p/10647403.html