差分编码与译码代码编写


差分编码就是将绝对码转化为相对码。

假设 an 是绝对码,bn 是相对码

若是双极性不归零码(1或-1), 那么 bn = bn-1 * an

若是单极性码(1或0),那么 bn = bn-1 + an (模二加)

以双极性不归零码示例:

an 1 -1 -1 1 1 -1 1
bn 1 -1 1 1 1 -1 -1

代码示例:

% 差分编码 绝对码转相对码
function differential_code=differential_code(signal) 
    differential_code=signal(1);
    for i=2:length(signal)
        differential_code(i)=differential_code(i-1) * signal(i); 
    end
end

差分译码就是将相对码转化为绝对码。

假设 an 是绝对码,bn 是相对码

若是双极性不归零码(1或-1), 那么 an = bn-1 * bn

若是单极性码(1或0),那么 an = bn-1 + bn (模二加)

以双极性不归零码示例:

bn 1 -1 1 1 1 -1 -1
an 1 -1 -1 1 1 -1 1

代码示例:

% 差分译码 相对码转绝对码
function differential_decode=differential_decode(signal)  
 differential_decode=signal(1);
    for i=2:length(signal)
             differential_decode(i)= signal(i)*signal(i-1);
    end
end

代码均本人编写。

若有错误,还请指正。

上一篇:Arduino学习进程 之 人体红外感应模块


下一篇:ESP32基于Arduino环境读取SHT20温湿度,显示在OLED上