引言:
在我们的数字通信系统中,一般要发送的绝大多数都是模拟信号。而所谓数字通信,传递的就应该是数字信号。因此,我们首先要对这个待发送的模拟信号进行采样(这在我之前《信号与系统》的相关博客中有详细解读),但是问题来了:我们对一个幅值连续的模拟信号采样,采样值的幅度仍然是有无限多种可能的,尽管他们在时间上离散,可这仍然是一个模拟信号。要想成为数字信号,就必须让这个信号在时间和幅度上都是离散的,即取值只有有限种可能。因此,就需要对采样值的幅度进行量化。PCM编码(脉冲编码调制)就是其中一种方法。

所谓的脉冲编码调制 PCM ,博主对其理解就是将经过采样得到的信号经过量化编码,从而得到一组二进制码组的过程。既然 PCM 可以理解为这样两个过程,那么我们就分别从这两个过程入手开始讲解。

1. 量化

PCM 编码中实现的是非均匀量化为什么使用非均匀量化呢? —— 这是因为在实际的通信系统中,信号幅度可能会在一个很大的范围内变化。以电话通信为例:经过实验证明,幅度较低的信号出现的频率非常高,而幅度特别大的信号出现的概率就比较小。这样一来,如果采用均匀量化,那么小信号的量化就显得十分粗糙了。而换一种思路:如果我们对出现概率很大的小信号,采用更为精细的量化方式;对于出现频率不那么高的大信号,采用略微粗糙的量化方法,可以预见的是这样做对通话质量是有保障的。

上述提到的这种,就是非均匀量化。而实现非均匀量化,我们有下面这样的思路:

首先对信号做某种非线性变换,然后对经过非线性变换的结果进行均匀量化。

以上这种思路,就被引入到了接下来我们要介绍的 A 律13折线:

我们先来看看 A律13折线是怎么构成的:

  1. 首先对于横轴:在 [0 - 1]区间不均匀地划分为8段:[0,1128],[1128,164],[164,132],[132,116],[116,18],[18,14],[14,12],[12,1][0, \frac{1}{128}], [\frac{1}{128}, \frac{1}{64}], [\frac{1}{64}, \frac{1}{32}],[\frac{1}{32}, \frac{1}{16}],[\frac{1}{16}, \frac{1}{8}],[\frac{1}{8}, \frac{1}{4}],[\frac{1}{4}, \frac{1}{2}], [\frac{1}{2}, 1][0,1281​],[1281​,641​],[641​,321​],[321​,161​],[161​,81​],[81​,41​],[41​,21​],[21​,1]
    而其中,这不均匀的8段里面,我们再在每段里面均匀地划分出16小段。值得注意的是,在同一段里面,这些等分之间的长度是相等的;但是在不同的段里面,这些等分的长度是不相等的。那么,在x轴上,一共就有了:8×16=1288\times16 = 1288×16=128个量化级。 下面,我们就来看看最小的量化间隔是什么:
    很明显,8段里面最短的就是第一段,长度为:1128\frac{1}{128}1281​,那么在这段里面再做16等分,那么每一个小分的长度就是:1128×116=12048\frac{1}{128}\times\frac{1}{16} = \frac{1}{2048}1281​×161​=20481​,这就是最小的量化间隔,我们记为△△△。【特别值得注意的是:我们上述的讨论都是针对归一化信号而言的,即信号的幅度范围在 ±1 之间,如果题目中给的范围不是归一化的,那么得先将他归一化再来编码】!
    那么,我们的横轴就以 △△△ 作为单位。所以8段中各段的起使电平就是:16△,32△,64△,128△,256△,512△,1024△,2048△16△, 32△, 64△, 128△, 256△, 512△, 1024△, 2048△16△,32△,64△,128△,256△,512△,1024△,2048△
  2. 横轴划分好了,接下来我们就看看y轴怎么划分—— 很简单,对于纵轴,我们先直接在 [0,1][0, 1][0,1] 区间做8等分,得到8个等长的段;接下来还是在每一段里面均匀地做16等分。也就是y也是对应128个量化级。

好啦!这就是 A律13折线的设置,那么为啥叫13折呢?—— 首先对于上面这个图,我们发现第一段和第二段折线的斜率是一样的,而在 [−1,0][-1, 0][−1,0] 区间,靠近0的也有两端折线斜率一样,所以这4条折线合并为1条折线,那么最终在 [−1,1][-1, 1][−1,1] 区间上给人们呈现出来的,就一共有13条折线。故名为 A律13折线。


这里给大家支一招:做题非常好用:不同的考题可能他们的最小量化间隔是不一样的,如果题目说最小量化间隔是1,那么很简单就按照上面的写出各段的起使电平(最大值是 2048△2048△2048△):0,16△,32△,64△,128△,256△,512△,1024△,2048△0,16△, 32△, 64△, 128△, 256△, 512△, 1024△, 2048△0,16△,32△,64△,128△,256△,512△,1024△,2048△
其中,[0,16△][ 0,16△][0,16△],[16△,32△][16△, 32△][16△,32△]他们视为一段,标号从1开始。
\space 
如果题目说最小量化间隔是 2 ,那么最大值应该变成(4096△4096△4096△),那么还是一样写出各段的起使电平:0,32△,64△,128△,256△,512△,1024△,2048△,4096△0,32△, 64△, 128△, 256△, 512△, 1024△, 2048△, 4096△0,32△,64△,128△,256△,512△,1024△,2048△,4096△
其中,[0,32△][ 0,32△][0,32△],[32△,64△][32△, 64△][32△,64△]他们视为一段,标号从1开始。

2. 编码

A律13折线采用 8 位二进制数来进行编码。二进制码组的结构如下:C1C2C3C4C5C6C7C8C_1 \space\space C_2C_3C_4 \space\space C_5C_6C_7C_8C1​  C2​C3​C4​  C5​C6​C7​C8​

其中,C1C_1C1​表示极性码:如果信号是正的,那么 C1=1C_1 = 1C1​=1,反之 C1=0C_1 = 0C1​=0

C2C3C4C_2C_3C_4C2​C3​C4​ 表示段落码:我们刚刚不是说先把x轴不均匀地划分为8段嘛,所以这里的段落码就是指示信号在哪一段的。(例:第一段就是 000;第二段就是 001;第五段就是 100…)

C5C6C7C8C_5C_6C_7C_8C5​C6​C7​C8​ 表示段内码:因为我们对每一段又进一步做了16等分,所以这个段内码就是指示信号在某一段内的哪个小段。(例:如果在第一小段就是 0000,第二小段就是 0001;第10小段就是 1001…)


3.译码

译码的时候,极性码和段落码的恢复比较简单,值得注意的是段内码的恢复:
首先,由:C5C6C7C8C_5C_6C_7C_8C5​C6​C7​C8​确定段内数 mmm,接下来,我们还需要加上 △k2\frac{△_k}{2}2△k​​这一项(△k△_k△k​ 表示第 k 段的量化间隔),这是为了能够将误差控制在 ±△k2±\frac{△_k}{2}±2△k​​ 范围之内。


4. 对数PCM码与线性PCM码的互相转换

因为我们现在用PCM方法编码得到的是对数码,无法直接进行数值运算,因此需要转为线性PCM码。这很简单,我们下面介绍一下:

首先我们先将获得的对数PCM编码转换为十进制数 y^\hat{y}y^​,假设我们的最小量化间隔是 12048\frac{1}{2048}20481​时,那么 y^\hat{y}y^​ 的最大取值将会是 2048,需要11位二进制数来表示。所以我们最后就直接把十进制数转为11位二进制数即可。【但是值得注意的是:8位二进制码转11位二进制码,由于量化间隔的问题,会出现不可分辨部分,所以我们一般可以通过查表得到转换结果

而将线性PCM码转为对数PCM码那就直接是PCM编码的过程了——先将线性码转为十进制数,然后对这个十进制数做PCM编码即可。

最后一点就是:A律压缩变换对于小信号区域,信噪比SNR有24dB的提升。

【通信原理 入坑之路】—— 模拟信号的数字编码 之 PCM编码(A律13折线和μ律15折线的编译码剖析)相关推荐

  1. 【通信原理 入坑之路】—— 信号的包络分析2 包络分析的意义以及OQPSK调制的引入

    本篇 B l o g Blog Blog 是接上一篇未完的分析而作的,主要是继续深入理解信号包络以及包络的意义.同时,本篇 B l o g Blog Blog 是<深入浅出通信原理>的学习 ...

  2. 【通信原理 入坑之路】—— 详解IQ调制以及星座图原理

    写在前面:本博客是<深入浅出通信原理>的学习笔记,仅供个人学习参考使用 文章目录 一. IQ调制与解调的原理与过程 1.1 利用旋转向量理解IQ调制(正交调制) 1.2 利用旋转向量理解I ...

  3. 【通信原理 入坑之路】—— 理解 4G,5G中的天王山:OFDM【学习笔记4】

    今天将要讨论的部分个人感觉非常绕,博主也是在阅读了大量相关书籍和文献之后才有所体悟.如有表述不当之处欢迎大家在评论区斧正! 在上一篇博文中,我们知道串并转换使得OFDM的符号速率降低了,可是总体符号传 ...

  4. 【通信原理 入坑之路】——深入、详细地理解通信里面“卷积”概念

    文章目录 一.多项式乘法和"卷积" 二."卷积"的计算公式 2.1 实例:利用卷积计算两个信号相乘 三.卷积的生动理解 3.1 卷积能够用来解决什么问题? 3. ...

  5. 【通信原理 入坑之路】——信息论部分 之 离散无记忆信源的等长编码

    课本上的讲解公式实在是太多啦!看得人头大,那么本文试图从繁杂的公式中梳理一下几种等长编码的方法,并在最后给出一些解题技巧.我们开始吧! 文章目录 离散无记忆信源的等长编码 1.1 单符号等长编码 1. ...

  6. 【通信原理 入坑之路】—— 信息论部分 离散无记忆信源的不等长编码 之 霍夫曼编码过程详解

    还记得在上一篇博客中,我们讨论的离散无记忆信源的等长编码吗,我们最后得到的结论是 -- 如果使用等长编码,那么对典型序列编码的编码效率是最高的.然而,要满足较高的编码效率,同时还要保证误码率的情况下, ...

  7. 【通信原理 入坑之路】—— 数字载波传输系统 之 2PSK(二进制相移键控)2ASK(二进制幅度键控)的超详细分析

    在之前的文章里面,我们讨论过数字基带传输系统,他们指的是传输二进制脉冲成型信号.然而,在绝大部分场合,我们需要将数字基带信号装载到高频载波上(也就是我们所说的调制),通过天线等将高频波发射出去.这就是 ...

  8. 强化学习入坑之路04

    强化学习入坑之路04 今天继续强化学习的学习,这些内容的学习主要参考了李宏毅的强化学习教程,在此基础上加入了个人的理解和总结.好,废话少说下面开始进入正题. 1.Q-learning(DQN) Sta ...

  9. 从小白到迷茫菜鸟的IT入坑之路

    从接触IT到现在,大概有两年的时间了,从想着写技术博客开始到现在也差不多有半年时间了,本来想着是先写计算机多操作系统的安装.但是,无奈,太懒了,还是写写自己的入坑之路吧!没准对想入门的小白学弟学妹有帮 ...

最新文章

  1. 【Dual-Path-RNN-Pytorch源码分析】Dual_RNN_Block
  2. 美国在人工智能领域亟待解决的5大难题
  3. Android源码解析(一)动画篇-- Animator属性动画系统
  4. waves效果器_盘点Waves的12款混响插件,你用的是哪个?
  5. 小学期学习记录(一)
  6. iPhone的录音和播放
  7. 如何在 Entity Framework 中计算 时间差 ?
  8. spark textFile方法
  9. C# list常用的几个操作 改变list中某个元素的值 替换某一段数据 删除集合中指定对象
  10. python恢复图像超分辨率_SRCNN实现图像超分辨率重建
  11. 移动前端开发人员必知必会:移动设备概述
  12. HEVC中CU、TU、PU划分和扫描方式简析
  13. 使用Pytorch搭建U-Net网络并基于DRIVE数据集训练(语义分割)学习笔记
  14. c语言建立并存储树,利用十字链表存储树结构(便于同时求出某一点的入度与出度)------C语言实现...
  15. getch计算机错误,为什么getch()在C中抛出一个错误
  16. FxFactory 7 for Mac(视觉特效软件包)
  17. 股价破300迎新年开门红,投资者们中了苹果的毒?
  18. 吸血鬼数字java_Java求吸血鬼数算法(通用)
  19. 读透《阿里巴巴数据中台实践》,其到底有什么高明之处?
  20. rr rom Android6,RR ROM 手把手教学刷入和体验

热门文章

  1. Scala中的ArrayBuffer(创建可变数组)
  2. bert 中文基于文本的问答系统
  3. 智能电视TV开发---手机直播视频客户端与智能电视通信
  4. 数据分析基础:从统计学入手数据分析!
  5. win32 copy 自百度
  6. 百度2019校招笔试题
  7. 微信小程序如何制作消息提示框---wx.showToast(Object object)
  8. 浏览器无法正常显示latex公式问题
  9. 解决微信小程序输入框聚焦时内容被上推致布局错乱
  10. 微信小程序购物车实现