之前讲了脉冲编码调制(PCM)量化编码,本文继续讲增量调制(Delta Modulation, DM)和CVSD(连续可变斜率增量调制)。增量调制和连续可变斜率增量调制均属于模拟信号数字化的编码技术,是脉冲编码调制的简化形式,旨在以较低的编码复杂度实现信号的高效传输。以下分别介绍两者的基本原理。
DM 的核心思想是不对信号的绝对值进行量化,而是对相邻抽样点的差值(增量)进行量化,仅用 1 位二进制码表示增量的极性(正或负),从而大幅简化编码过程。
DM 系统由发送端和接收端组成,核心模块包括六个部分,现在一一介绍。
抽样器
预测器
比较器
量化器
本地译码器
CVSD 是 DM 的改进形式,核心是通过动态调整量化阶距,解决 DM 的斜率过载问题,使其能适应信号斜率的快速变化(如语音信号中的浊音部分)。
与 DM 的固定阶距不同,CVSD 的阶距会根据信号的变化趋势(由连续码元的极性决定)动态调整。
阶距的调整通常通过 “连续相同码元计数器” 实现,具体规则如下(示例):
DM 是最简单的增量调制技术,而 CVSD 通过可变阶距克服了 DM 的核心缺陷,在实际通信系统(如数字语音传输)中应用更广泛。本文将展示这两种方式的仿真程序,让大家从程序比较过程中得出结论,这样的学习才是印象最深刻的。掌握了原理,仿真程序才能准确写出来。
讲完原理,推荐一本书《通信系统仿真开发基于MATLAB、DSP及FPGA的设计与实现》,我从校图书馆借的,估计很多学校都有这本书,南通院一波老科研人员写的,浅显易懂,很实用。这本书里面的内容有MATLAB仿真程序,还有DSP程序以及FPG程序。我这里只展示MATLAB仿真程序,因为和我的文章内容相关。至于其他内容,大家可以去查找这本书。这本书的作者我大都认识,都是有实战经验的工程师,只不过书的内容有深有浅,看各位读者自行需要。

% 增量调制(DM)仿真程序
% 功能:实现模拟信号的增量调制编码与解码,并对比结果
% 软件版本:2021a 日期:2025-8-15
clear; clc; close all;
%% 1. 参数设置
fs = 8000; % 采样频率
Ts = 1/fs; % 采样周期
t = 0:Ts:0.5; % 时间向量(0.5秒)
Delta = 0.2; % 量化阶距
f1 = 300; % 信号频率1
f2 = 1500; % 信号频率2
%% 2. 生成测试信号(混合频率信号,模拟语音特性)
x = 0.7*sin(2*pi*f1*t) + 0.3*sin(2*pi*f2*t);
x = x / max(abs(x)); % 归一化处理
%% 3. DM编码过程