【2-7】脉码调制

前言

前面介绍了如何用模拟信号传离散的数字信号,本文的PCM反着来,用数字信号传输模拟信号,比如用比特去传输电话语音。

1. PCM 定义

Pulse Code Modulation 脉冲编码调制,简称“脉码调制”。它通过对模拟信号进行 采样、量化和编码 三个步骤,将连续的模拟波形转化为离散的数字序列。

在这里插入图片描述

2. 工作过程

  • 采样(Sampling):按照一定时间间隔(采样率)对模拟信号进行取样,得到一系列离散的幅度值。采样率通常遵循奈奎斯特-香农采样定理,即采样频率需至少为信号最高频率的两倍,以避免信息丢失。
  • 量化(Quantization):将采样的幅度值映射到有限的离散级别(通常是2的整数次幂,如8位对应256个级别),将连续的幅度转化为离散值。这一过程会引入量化噪声。
  • 编码(Encoding):将量化后的值转换为二进制代码,生成数字信号,便于存储、传输或处理。

这个过程有一个形象的比喻:《甜草莓:如何理解 Nyquist 采样定理?》

只需要牢记采样时的准则: f 采 ≥ 2 f m a x f_{采} \ge 2f_{max} f2fmax

3. 例题

3.1

假设语音信号的频率为 2k到4kHz,取样频率至少为多少?

解:取样频率 = 采样频率 ≥ 2 f m a x \ge 2f_{max} 2fmax 也就是说,取样频率至少为8kHz

3.2

取样频率为8kHz时,对语音样本用256个等级量化,每个样本用8bit表示,求数据速率。

解:

R = f s ⋅ n = 8 k ⋅ 8 = 64 k b p s R = f_s \cdot n = 8k \cdot 8 = 64k bps R=fsn=8k8=64kbps

其中 f s f_s fs 为采样(Sampling)频率, n n n 是每个样本的比特数。

注:64kbps(千比特每秒)是数字电话通信中常用的一种编码速率

3.3

设信道带宽为 5kHz,采用PCM编码,采样周期为125 μ s \mu s μs,每个样本量化为256个等级,则信道速率为多少?

R = f s ⋅ n = 1 125 ⋅ 1 0 − 6 ⋅ log ⁡ 2 256 = 8 125 ⋅ 1 0 6 = 8000 125 ⋅ 1 0 3 = 64 k b / s R = f_s \cdot n = \frac{1}{125 \cdot 10^{-6}} \cdot \log_2{256} = \frac{8}{125} \cdot 10^6 = \frac{8000}{125} \cdot 10^3 = 64kb/s R=fsn=1251061log2256=1258106=1258000103=64kb/s

其实,细心的你会发现:125 μ s \mu s μs 的倒数正好是 8kHz。

后记

文中有任何错误、遗漏,烦请各位老铁在评论区指出,共同学习进步。

修改记录

更新日期修改内容
2025年4月4日完成初稿
### 脉码调制PCM)中的量化误差 #### 量化误差的原因 在脉码调制PCM)过程中,模拟信号被采样并转换成离散时间序列。为了便于传输和存储,这些样本通常会被进一步处理为有限位数的二进制数值表示形式。这一过程被称为量化。 由于实际应用中无法实现无限精度的数字化,所以必须舍入到最接近的有效电平值。这种近似操作引入了所谓的量化噪声或量化误差。具体来说: - **分辨率不足**:当使用的比特数较少时,相邻两个可表示电平之间的间隔较大,导致较大的平均绝对误差。 - **过载失真**:如果输入信号幅度超过了允许的最大范围,则会产生严重的非线性失真现象[^1]。 ```matlab % MATLAB代码用于展示量化效应 Fs = 8000; % Sampling frequency (Hz) t = linspace(0, 1/Fs, Fs); % Time vector for one period of sine wave at Nyquist rate original_signal = sin(2*pi*400*t); quantized_signal_3bit = round(original_signal * ((2^3)/2)) / ((2^3)/2); figure; subplot(2,1,1), plot(t, original_signal,'b'), title('Original Signal'); subplot(2,1,2), stairs(t, quantized_signal_3bit,'r'), title('Quantized Signal with 3-bit resolution'); ``` #### 解决方法 针对上述提到的问题,有几种常见策略来减小量化误差的影响: - **增加量化级数**:通过提高每一样本所占用的比特数量,即增大动态范围内的分档数目,从而使得各档次间的差距变小,进而降低量化误差的程度。 - **使用自适应量化器**:对于具有不同统计特性的信源数据流采取不同的量化步长分配方案,在保持总字节数不变的情况下优化整体性能指标。 - **预加重与去加重技术**:通过对高频成分施加适当增益补偿措施,可以在一定程度上改善系统的抗干扰能力和音质效果,间接减少了因量化而产生的不利影响。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值