DPCM编码与解码的介绍
DPCM是差分脉冲编码调制的简称,是一种利用信号样值之间的关联特性进行高效率波形编码的方法。当信号样值序列中邻近样值之间存在明显的关联时,那么样值的差值方差就会比样值本身的方差要小。PCM中直接传输样值本身,而在DPCM中,传输数据为样值的差值,在量化误差不变的条件下,就可以用较少的比特数来表示码字,也就提高了波形编码效率。DPCM编码与解码的仿真在Simulink中的仿真模型如图
该系统的信号发生器产生一个幅度为1,频率为1的正弦波,获得输出图像Scope1,其表达式为 x = sin ( 2 π f t ) x=\sin (2\pi ft) x=sin(2πft),通过DPCM编码器,获得输出图像Scope2,再通过DPCM解码器解码,获得输出图像Scope3。通过Scope1与Scope3图像的对比来验证解码后的信号是否和原信号相同。并且在MATLAB中通过代码来验证其正确性。
Simulink仿真设置
在仿真中,我们对DPCM encoder(差分脉冲编码表调制编码器)的主要参数做如下设置:
- predictor numerator(预测分子)设置为[0.9999]
- predictor denominator(预测分母)设置为[1]
- quantization partition(量子化分区)设置为[-0.0848 -0.029 0.0298 0.0853]
- quantization codebook(量化码本)设置为[-0.06 0.0004 0.058]
- sample time(采样时间)设置为0.01
设置结果如图
我们对DPCM Decoder(差分脉冲编码表调制解码器)的主要参数做如下设置: - predictor numerator(预测分子)设置为[0.9999]
- predictor denominator(预测分母)设置为[1]
- quantization codebook(量化码本)设置为[-0.085 -0.03 0.03 0.085]
- sample time(采样时间)设置为0.01
设置结果如图
仿真结果
我们对设置好参数的仿真图进行仿真,系统在信号发生器产生一段正弦波后,将正弦波送入DPCM编码器中,再通过DPCM解码器,得到输出信号。其中Scope1中的图像是信号发生器产生的原正弦波。Scope2中的图像是原正弦波经过DPCM编码器编码后的信号2。Scope3中的图像是信号2经过DPCM解码器解码后恢复的信号。