量化
本节我们学习量化方法。
模拟值的取值是连续的,有无穷多个值,因此,它不能用有限个 bit 传输。
如果我们想用有限个 bit 传输一个值的话,必须把一个模拟的连续值的取值进行“有限化”,也就是把它的幅度进行离散化。这就是“量化”。
请大家首先熟悉量化相关的各种定义:
\(L\):量化级数,就是我们要多少个“值”。
\(m\):判决电平,它们划定了量化区间。
\(\Delta\):量化间隔。
\(v\):量化电平,它是一个量化区间内所有值的代表值。这就是说:原始信号在一个量化区间内的所有取值,在接收端都由这个值代表。
量化噪声
大家看 PPT 上的示例:发送端的这个连续曲线的波形,到了接收端,就变成这种台阶一样的波形了。它们的不同(差别),就是”误差“。这个“误差”像“噪声”那样,会给我们理解原信号带来不利的影响,所以,我们称它为“量化噪声”。
“量化噪声”会降低系统的可靠性,对吧?系统的可靠性可以用什么来衡量?信噪比,对吧?所以,我们下面来计算有量化噪声影响的信号的信噪比。信号功率好求,因此,我们下面计算量化噪声的功率。
怎么算量化噪声的功率呢?我们先简单一点,假设噪声在 [\(-\Delta/2, \Delta/2\)] 内均匀分布。此时,噪声的均值为 0,方差为 \(\Delta^2/12\)。由此,我们就可以求出信噪比。
我们通过数学变换,可以获得信噪比和比特数 \(r = log_2L\) 的关系。比如正弦信号,我们可以得到信噪比是 \(1.8 + 6r\) (dB),这意味着,如果我们多用一个比特来表示量化后的信号,信噪比就能够增加 6dB。这意味着可靠性增加了,但我们要传输的比特数也增加了,这相当于系统的有效性下降了。大家要会进行这样的分析。
为了方便计算,我们还引入了各种信号的波形因子。请大家学习和练习 PPT 上的内容,确保掌握。
最优量化器设计的 Lloyd-Max 算法
大家想想,如果信号的取值不均匀,比如语音信号,它的取值集中在幅度比较小的区域。此时,如果我们对这些小的区域,用比较窄的量化间隔,是不是它们的量化噪声就比较小一些,这样,整个信号的总量化噪声,就会比较小一些?这就是“非均匀量化”。
如何设计“非均匀量化”?大家发现没,我们就是要设计 \(m\) 和 \(v\)。
我们先看如何设计 \(v\):假设我们已知两个 \(m\) 确定的一个量化区间,大家想想,我们用一个什么值做 \(v\),来代表这个区间的各种值?我们学习大学物理的时候,学过一个什么东西,可以用到这?
大家看这根粉笔。它一头小,一头大,我用我的手指托着它,我的手指放到哪个位置,它会保持平衡?放到它的“重心”,对不对?
类似的,大家想想,已知两个 \(m\) 确定的量化区间,我们用它的重心的值做 \(v\),来代表这个区间的各种值,是不是比较好?这就是已知 \(m\),确定 \(v\) 的方法。
我们下面看如何设计 \(m\):假设我们已经知道了两个相邻的 \(v\),那么,对于它们之间的一个值 \(x\),我怎么决定它应该由哪个 \(v\) 代表?是不是离哪个 \(v\) 近,就由谁代表,这样误差最小?所以,它们之间的判决电平 \(m\) 应该就是这两个 \(v\) 的中点,对吧?
这就是我们的前辈 Lloyd-Max 发明的方法:我们先初始化 \(v\),按上面的方法,用它们的中点作为 \(m\);然后基于 \(m\),用它们确定的区间的重心作为 \(v\);然后再基于这些 \(v\),用它们的中点作为 \(m\);…,就这样一直交替迭代,直到 \(v\) 和 \(m\) 都不怎么变了,就停下来。
最优量化器设计模型
Lloyd-Max 算法是如何设计出来的呢?我们下面介绍它的设计过程:
我们首先写出它的优化方程:优化的目标是最小化“量化噪声的均方值”。这是我们做优化时的一个常用目标。大家还记得我们做最佳接收机的时候,有一个“最小均分误差准则”吗?也是用的这个优化目标。事实上,这是机器学习里做“回归”问题常用的一个目标函数。大家先留意一下,以后会再碰到。
我们然后设计优化方法:我们注意到,我们的优化问题,既要调节 \(m\) 又要调节 \(v\),使目标函数最小。这在机器学习里,常用交替迭代的方法来解决。就是说,首先固定 \(m\),优化 \(v\);再固定 \(v\),优化 \(m\)。这样循环往复,直到 \(m\) 和 \(v\) 都达到一个稳定的值。这样就把问题简化了。
我们下面就具体进行这两步的设计。
我们首先设计,已知两个相邻的 \(v\),如何确定它们中间的最优判决门限 \(m\)。请大家看 PPT 中此时的优化方程。如 PPT 所示,对一个模拟量 \(x\),它和哪个 \(v\) 最近,我们就用哪个 \(v\) 代表它,这样的量化噪声最小。这就是“最近邻条件”。这就相当于,我们取两个 \(v\) 的平均值作为的判决门限 \(m\),对吧?
我们然后设计,已知两个相邻的 \(m\),如何确定它们确定的这个区域的最优量化电平 \(v\)。请大家看 PPT 中此时的优化方程,如 PPT 所示,我们此时利用高等数学求极值的方法,对目标函数对 \(v\) 求导,得到它取极小值的 \(v\)。大家看这个公式,是不是就是我们大学物理里学过的“重心”的公式?
这个算法怎么样,神吧?以后大家学习机器学习和人工智能的课程时,会发现类似的交替迭代算法,比如用来做聚类的 K-Means 算法,非常有意思。所以,我们通信中的很多算法和人工智能的算法是相通的。
下面是 Quiz:
- 为什么可以量化?
- 什么叫量化级数、量化电平、量化间隔、判决电平、量化区间、量化噪声?
- 什么叫均匀量化器,什么叫非均匀量化器?
- 什么叫中平特性,什么叫中升特性?
- 量化噪声的期望一般是多少?
- 如何求量化噪声的平均功率?
- 均匀量化,量化噪声均匀分布时,其平均功率是?
- 什么是信号波形的波形因子?均匀量化,量化噪声均匀分布时,量化信噪比和它是什么关系?和量化编码的位数又是什么关系?
- 什么是最优量化器?当信号中的小信号远多于大信号时,应该如何量化?为什么?
- 写出量化器设计最优化问题的数学表达式,解释其每一个符号的物理意义
- 简述量化器最优设计的迭代优化方法。
Index | Previous | Next |