这是本文档旧的修订版!
以下内容严格整理“1.3.4 脉冲编码调制”至“1.3.5 通信方式和交换方式”之前,并补充英文缩写、公式解释、计算方法、对比表和考试重点,可直接复制到 DokuWiki。
1.3.4 脉冲编码调制
1. 脉冲编码调制概述
模拟数据通过数字信道传输,通常需要先转换为数字信号。将声音、图像等模拟数据转换为数字信号的过程称为:
数字化(Digitization)
常用的模拟信号数字化技术是:
PCM(Pulse Code Modulation,脉冲编码调制)
PCM的核心处理过程包括三个步骤:
- 采样(Sampling):在时间轴上对连续模拟信号取值;
- 量化(Quantization):将连续的样本幅度近似为有限个离散等级;
- 编码(Encoding):将量化结果转换成二进制代码。
连续模拟信号
│
▼
采样 Sampling
│
▼
离散时间、连续幅度的样本
│
▼
量化 Quantization
│
▼
离散时间、离散幅度的样本
│
▼
编码 Encoding
│
▼
PCM二进制数字信号
<WRAP info> 一句话理解PCM:按固定时间间隔测量模拟信号,将测得的幅度近似到某个量化等级,再把该等级写成二进制数。 </WRAP>
2. 编码解码器Codec
完成模拟信号与数字信号相互转换的设备称为:
Codec(Coder-Decoder,编码解码器)
Codec由两个基本功能组成:
- Coder(编码器):将模拟信号转换为数字信号;
- Decoder(解码器):将数字信号还原为模拟信号。
其工作过程如下:
发送端 接收端
模拟数据 → 编码器 → PCM数字信号 → 数字信道 → 解码器 → 模拟数据
Coder Decoder
Codec与Modem的作用不同:
| 设备 | 英文全称 | 主要作用 |
|---|---|---|
| Codec | Coder-Decoder | 完成模拟数据与数字信号之间的转换 |
| Modem | Modulator-Demodulator | 完成数字数据与已调模拟载波之间的转换 |
<WRAP warning> 易混淆点:Codec负责“模拟数据数字化”;Modem负责“数字数据调制到模拟载波”。二者的转换对象不同。 </WRAP>
3. PCM第一步:采样
3.1 采样的概念
采样(Sampling)是按照固定时间间隔读取模拟信号的瞬时值。
模拟信号在时间和幅度上都是连续的。采样后得到一系列离散时间点上的样本,但每个样本的幅度仍然可以是连续值。
连续模拟信号:随时间连续变化
│
每隔T秒取一个值
▼
样本序列:x(0)、x(T)、x(2T)、x(3T)……
其中:
- \(T\):采样周期,即相邻两次采样之间的时间;
- \(f_s\):采样频率,即每秒采样的次数。
两者关系为:
f_s = 1/T
3.2 奈奎斯特采样定理
根据:
Nyquist Sampling Theorem(奈奎斯特采样定理)
为了根据采样值恢复原模拟信号,采样频率至少应达到模拟信号最高频率的2倍:
f_s ≥ 2f_max
工程设计中通常表示为:
f_s > 2f_max
其中:
- \(f_s\):采样频率;
- \(T\):采样周期;
- \(f_{max}\):模拟信号中包含的最高频率。
结合 \(f_s=1/T\),可以写成:
1/T ≥ 2f_max
因此,最大采样周期应满足:
T ≤ 1/(2f_max)
临界采样频率:
f_N = 2f_max
称为:
Nyquist Rate(奈奎斯特速率)
<WRAP important> 教材公式写作 \(f=1/T>2f_{max}\),强调实际取样频率应高于最高频率的2倍。理论临界条件通常写作 \(f_s≥2f_{max}\)。 </WRAP>
3.3 为什么至少采样两次
一个完整的正弦波周期中至少需要两个采样点,才能反映其基本变化规律。如果采样频率不足,原信号中的高频成分可能被错误识别为较低频率。
这种现象称为:
Aliasing(混叠)
防止混叠的方法包括:
- 使采样频率满足奈奎斯特采样定理;
- 采样前使用低通滤波器限制输入信号带宽。
采样前使用的滤波器称为:
Anti-Aliasing Filter(抗混叠滤波器)
3.4 采样计算示例
某模拟信号的最高频率为4 kHz,求理论最低采样频率。
f_s ≥ 2f_max
≥ 2 × 4 kHz
≥ 8 kHz
因此,最低采样频率为:
8 kHz = 8000次/秒
对应的最大采样周期为:
T = 1/f_s = 1/8000 s = 0.000125 s = 125 μs
其中:
- kHz(kilohertz,千赫兹):每秒1000个周期;
- μs(microsecond,微秒):百万分之一秒。
4. PCM第二步:量化
4.1 量化的概念
采样后获得的样本幅度仍然是连续值,不能直接用有限长度的二进制数精确表示。
量化(Quantization)是把每个样本的连续幅度近似为有限个离散等级的过程。
例如,将幅度划分为16个量化等级:
0.1、0.2、0.3……1.6
若实际样本值为:
1.09
可以量化为:
1.1
若实际样本值为:
1.55
可以量化为:
1.6
4.2 量化等级与编码位数
若量化等级数为 \(L\),每个样本使用 \(n\) 位二进制数表示,则:
L = 2ⁿ
反过来:
n = log₂L
常见关系如下:
| 编码位数n | 量化等级数L | 可用代码范围 |
|---|---|---|
| 3 bit | 8级 | 000~111 |
| 4 bit | 16级 | 0000~1111 |
| 7 bit | 128级 | 0000000~1111111 |
| 8 bit | 256级 | 00000000~11111111 |
| 16 bit | 65536级 | 0000000000000000~1111111111111111 |
教材示例将信号划分为16个量化等级,因此每个样本需要:
n = log₂16 = 4 bit
可使用:
0000~1111
分别表示16个幅度等级。
4.3 量化误差
量化后的离散值通常不可能与原始样本值完全相等,两者之间的差称为:
Quantization Error(量化误差)
量化误差 = 原始样本值 - 量化后的近似值
由量化过程产生的失真通常称为:
Quantization Noise(量化噪声)
例如:
原始样本值:1.09 量化值: 1.10 量化误差: 1.09 - 1.10 = -0.01 ``` 量化等级与量化质量的关系如下: ^ 比较项目 ^ 量化等级少 ^ 量化等级多 ^ | 每个样本编码位数 | 少 | 多 | | 量化间隔 | 大 | 小 | | 量化误差 | 大 | 小 | | 信号还原精度 | 低 | 高 | | 数据传输速率 | 低 | 高 | | 存储空间需求 | 小 | 大 | | 设备处理要求 | 较低 | 较高 | <WRAP tip> **核心权衡:**量化等级越多,信号还原越精确,但每个样本需要的编码位数越多,产生的数据量也越大。 </WRAP> ==== 4.4 均匀量化与非均匀量化 ==== 如果整个信号幅度范围采用相同的量化间隔,称为: **Uniform Quantization(均匀量化)** 其特点是: * 实现简单; * 每个量化区间宽度相同; * 对大信号和小信号采用相同的量化精度; * 小信号的相对量化误差可能比较明显。 如果对不同幅度范围采用不同的量化间隔,称为: **Non-uniform Quantization(非均匀量化)** 其一般做法是: * 小幅度信号使用较小的量化间隔; * 大幅度信号使用较大的量化间隔; * 改善小信号的量化效果。 ===== 5. PCM第三步:编码 ===== ==== 5.1 编码的概念 ==== **编码(Encoding)**是把量化后的幅度等级转换为对应二进制代码的过程。 例如,使用4位二进制代码表示16个量化等级: ^ 量化等级 ^ 二进制代码 ^ | 第0级 | 0000 | | 第1级 | 0001 | | 第2级 | 0010 | | 第3级 | 0011 | | …… | …… | | 第14级 | 1110 | | 第15级 | 1111 | 如果连续采样得到的量化等级为: <code> 3、8、5、15
对应的4位PCM编码为:
0011 1000 0101 1111
编码后的二进制数据可以通过数字信道传输。
5.2 PCM信号的形成过程
以某个样本值为例:
实际样本值:1.09
│
▼
量化为:1.1
│
▼
对应量化等级:第10级(仅作示例)
│
▼
编码为:1010
```
完整过程为:
<code>
模拟信号 → 采样值 → 量化值 → 量化等级 → 二进制代码
```
===== 6. PCM数据速率 =====
==== 6.1 基本计算公式 ====
PCM数据速率取决于:
* 每秒采样次数;
* 每个样本的编码位数;
* 信号的通道数。
单通道PCM数据速率为:
<code>
R = f_s × n
多通道PCM数据速率为:
R = f_s × n × C
其中:
- \(R\):PCM数据速率,单位为b/s;
- \(f_s\):采样频率,单位为Hz;
- \(n\):每个样本的编码位数;
- \(C\):通道数量。
若已知量化等级数 \(L\),则:
<code> n = log₂L ```
因此:
<code> R = f_s × log₂L × C ```
6.2 教材语音示例
已知:
- 语音信号最高频率:4 kHz;
- 采样频率:8 kHz;
- 量化等级:128级;
- 每个样本的编码位数:\(log₂128=7\) bit。
数据速率为:
<code> R = 8000 × 7
= 56000 b/s = 56 kb/s
```
因此,按照教材参数,该数字语音信号的数据速率为:
<code> 56 kb/s ```
<WRAP info> 本例严格采用教材给出的128级量化和7位编码。工程中常见的电话PCM通常采用8 kHz采样、每个样本8 bit,对应64 kb/s。 </WRAP>
6.3 16级量化示例
某模拟信号的最高频率为5 kHz,采用奈奎斯特最低采样频率,并划分为16个量化等级,求PCM数据速率。
采样频率:
<code> f_s = 2 × 5 kHz
= 10 kHz
```
每个样本编码位数:
<code> n = log₂16
= 4 bit
```
数据速率:
<code> R = 10000 × 4
= 40000 b/s = 40 kb/s
```
6.4 256级量化示例
某语音信号最高频率为4 kHz,采用256级量化,求最低PCM数据速率。
采样频率:
<code> f_s = 2 × 4 kHz
= 8 kHz
```
编码位数:
<code> n = log₂256
= 8 bit
```
数据速率:
<code> R = 8000 × 8
= 64000 b/s = 64 kb/s
```
6.5 多通道计算示例
某双声道音频信号采用44.1 kHz采样频率,每个样本16 bit,求未经压缩的数据速率。
已知:
- \(f_s=44100\) Hz;
- \(n=16\) bit;
- \(C=2\)。
计算:
<code> R = 44100 × 16 × 2
= 1411200 b/s = 1.4112 Mb/s
```
7. 参数对数据量的影响
PCM系统需要在恢复质量、传输速率和实现成本之间进行权衡。
7.1 采样频率的影响
提高采样频率:
- 每秒产生的样本数增加;
- 能够表示更高频率的信号;
- 时间轴上的还原精度提高;
- 数据传输速率和存储需求增加。
7.2 量化等级的影响
增加量化等级:
- 每个样本的编码位数增加;
- 幅度近似更加精确;
- 量化误差减小;
- 数据传输速率和存储需求增加。
7.3 信号带宽的影响
模拟信号的最高频率越高:
- 要求的最低采样频率越高;
- 每秒产生的样本越多;
- PCM数据速率越高。
其关系可以概括为:
<code> 信号最高频率提高
↓
最低采样频率提高
↓
每秒样本数量增加
↓
PCM数据速率提高 ```
以及:
<code> 量化等级增加
↓
每个样本编码位数增加
↓
量化精度提高
↓
PCM数据速率提高 ```
8. 音频与视频数字化比较
| 比较项目 | 语音信号 | 视频信号 |
|---|---|---|
| 信号带宽 | 相对较小 | 较大 |
| 所需采样频率 | 较低 | 较高 |
| 每秒样本数量 | 较少 | 较多 |
| 量化数据量 | 相对较小 | 很大 |
| 传输速率要求 | 较低 | 较高 |
| 存储空间要求 | 较小 | 较大 |
教材指出,普通语音信号的最高频率可按4 kHz考虑,因此采样频率可取8 kHz。
视频信号带宽可达到6 MHz。如果按奈奎斯特采样定理计算,最低采样频率为:
<code> f_s ≥ 2 × 6 MHz
≥ 12 MHz
```
如果视频信号同时采用较多的量化等级,则会产生很高的数字传输速率。
9. PCM系统完整工作流程
9.1 发送端
<code> 模拟信号
│ ▼
抗混叠滤波 Anti-Aliasing Filter
│ ▼
采样 Sampling
│ ▼
量化 Quantization
│ ▼
编码 Encoding
│ ▼
PCM数字比特流
│ ▼
数字信道传输 ```
9.2 接收端
<code> 接收PCM数字比特流
│ ▼
译码 Decoding
│ ▼
还原量化样本
│ ▼
数模转换 Digital-to-Analog Conversion
│ ▼
重建滤波 Reconstruction Filter
│ ▼
近似恢复原模拟信号 ```
10. PCM的优点与局限
10.1 主要优点
- 适合通过数字通信网络传输;
- 抗干扰能力较强;
- 中继过程中可以重新生成数字信号;
- 易于进行差错检测和差错控制;
- 便于进行加密、压缩、存储和计算机处理;
- 可以与其他数字业务统一传输;
- 传输过程中的失真通常小于纯模拟传输。
10.2 主要局限
- 需要完成采样、量化和编码,设备处理流程较复杂;
- 量化过程会产生不可完全避免的量化误差;
- 采样频率或量化位数增加会显著提高数据量;
- 未压缩PCM通常需要较高的传输带宽;
- 高质量音频和视频会产生大量数字数据。
11. 核心公式汇总
| 计算内容 | 公式 | 变量说明 | |
|---|---|---|---|
| 采样频率与周期 | \(f_s=1/T\) | \(f_s\)为采样频率,\(T\)为采样周期 | |
| 奈奎斯特采样条件 | \(f_s≥2f_{max}\) | \(f_{max}\)为信号最高频率 | |
| 最大采样周期 | \(T≤1/(2f_{max})\) | 采样周期不能超过临界值 | |
| 量化等级数 | \(L=2 | n\) | \(n\)为每个样本的编码位数 |
| 编码位数 | \(n=log₂L\) | \(L\)为量化等级数 | |
| 单通道PCM速率 | \(R=f_s×n\) | \(R\)的单位为b/s | |
| 多通道PCM速率 | \(R=f_s×n×C\) | \(C\)为通道数 | |
| 结合量化等级计算 | \(R=f_s×log₂L×C\) | 适用于已知量化等级数的情况 |
12. 快速解题方法
12.1 已知最高频率和量化等级
<code> 第一步:f_s = 2f_max 第二步:n = log₂L 第三步:R = f_s × n ```
12.2 已知采样频率和编码位数
<code> R = f_s × n ```
如果是多通道:
<code> R = f_s × n × C ```
12.3 已知PCM速率和采样频率
每个样本的编码位数为:
<code> n = R/f_s ```
量化等级数为:
<code> L = 2ⁿ ```
12.4 已知编码位数求量化等级
<code> L = 2ⁿ ```
例如,每个样本使用12位编码:
<code> L = 2¹² = 4096级 ```
13. 考试重点
<WRAP important> 必须掌握
- PCM是Pulse Code Modulation的缩写,中文名称是脉冲编码调制。
- PCM的三个基本步骤是采样、量化和编码。
- 采样解决时间离散化问题。
- 量化解决幅度离散化问题。
- 编码负责将量化等级转换为二进制代码。
- 奈奎斯特采样条件为 \(f_s≥2f_{max}\)。
- \(n\)位二进制代码能够表示 \(2^n\) 个量化等级。
- \(L\)个量化等级至少需要 \(log₂L\) 位编码。
- 单通道PCM数据速率为 \(R=f_s×n\)。
- 多通道PCM数据速率为 \(R=f_s×n×C\)。
- 采样频率越高,时间还原精度越高,但数据量越大。
- 量化等级越多,幅度还原精度越高,但数据量越大。
</WRAP>
14. 常见易错点
<WRAP warning>
- 奈奎斯特采样频率是信号“最高频率”的至少2倍,不一定是带宽数值的2倍,需根据题目给出的频谱范围判断。
- 采样频率的单位是Hz或samples/s,不是b/s。
- 数据传输速率的单位是b/s,不能直接写成Baud。
- 量化等级数不是编码位数:256级量化需要8 bit,而不是256 bit。
- 采样只使时间离散化,样本幅度在量化前仍然是连续值。
- 量化使幅度离散化,并会产生量化误差。
- 编码不会消除量化误差,只是把量化等级表示为二进制数。
- 计算多声道PCM速率时不能遗漏通道数量。
- 教材语音示例采用128级量化和7 bit编码,结果为56 kb/s;常见电话PCM采用8 bit编码,结果为64 kb/s。
- kHz、MHz与Hz换算后才能代入统一公式。
</WRAP>
15. PCM与相关概念比较
| 概念 | 输入 | 输出 | 核心作用 |
|---|---|---|---|
| 采样 | 连续时间模拟信号 | 离散时间样本 | 时间离散化 |
| 量化 | 连续幅度样本 | 离散幅度等级 | 幅度离散化 |
| 编码 | 量化等级 | 二进制代码 | 数字化表示 |
| PCM | 模拟信号 | 数字比特流 | 完整的模拟信号数字化 |
| 数字调制 | 数字数据 | 已调模拟载波 | 通过模拟信道传输数字数据 |
| 数字解调 | 已调模拟载波 | 数字数据 | 恢复载波所表示的数字数据 |
| 数模转换 | 数字样本 | 模拟信号 | 将数字数据重建为模拟信号 |
16. 英文缩写和术语速查表
| 缩写或术语 | 英文全称 | 中文含义 |
|---|---|---|
| PCM | Pulse Code Modulation | 脉冲编码调制 |
| Codec | Coder-Decoder | 编码解码器 |
| Coder | Coder | 编码器 |
| Decoder | Decoder | 解码器 |
| Modem | Modulator-Demodulator | 调制解调器 |
| ADC | Analog-to-Digital Converter | 模数转换器 |
| DAC | Digital-to-Analog Converter | 数模转换器 |
| Sampling | Sampling | 采样 |
| Quantization | Quantization | 量化 |
| Encoding | Encoding | 编码 |
| Decoding | Decoding | 译码 |
| Aliasing | Aliasing | 混叠 |
| Nyquist Sampling Theorem | Nyquist Sampling Theorem | 奈奎斯特采样定理 |
| Nyquist Rate | Nyquist Rate | 奈奎斯特速率 |
| Quantization Error | Quantization Error | 量化误差 |
| Quantization Noise | Quantization Noise | 量化噪声 |
| ADC | Analog-to-Digital Conversion | 模数转换 |
| DAC | Digital-to-Analog Conversion | 数模转换 |
| Hz | Hertz | 赫兹,每秒周期数 |
| kHz | kilohertz | 千赫兹 |
| MHz | megahertz | 兆赫兹 |
| b/s | bit per second | 比特每秒 |
| kb/s | kilobit per second | 千比特每秒 |
| Mb/s | megabit per second | 兆比特每秒 |
| μs | microsecond | 微秒,即百万分之一秒 |
| bit | binary digit | 二进制位 |
| Channel | Channel | 通道或信道 |
17. 本节知识脉络
<code> 模拟信号数字化 │ └─ PCM(脉冲编码调制)
│
├─ 采样 Sampling
│ ├─ 时间离散化
│ ├─ f_s = 1/T
│ └─ f_s ≥ 2f_max
│
├─ 量化 Quantization
│ ├─ 幅度离散化
│ ├─ L = 2ⁿ
│ ├─ n = log₂L
│ └─ 产生量化误差
│
└─ 编码 Encoding
├─ 量化等级转二进制代码
├─ 单通道:R = f_s × n
└─ 多通道:R = f_s × n × C
```
18. 相关条目
软考 网络规划设计师 计算机网络 数据通信 PCM 脉冲编码调制 采样 量化 编码 奈奎斯特 量化误差 Codec :::