我正在研究标量与矢量量化,我有一项任务要(在MATLAB中(使用Lloyd Max算法实现标量量化器,并通过k均值聚类实现矢量量化器。
矢量量化器工作在R2矢量空间中,因此其输入是样本元组(输入矢量(,其输出也是二维矢量,对应于量化区域的质心矢量。
我被告知,为了使两个量化器之间的比较准确,我需要保持每个样本的位数,恒定。例如,在n位标量量化器中,存在2个n量化区域,在其中一个量化区域中,样本将被量化为。
等价的向量量化器,每个输入元组将具有2n比特,使得每个样本仍然由n量量化器应该有22n量化/Voroni区域。
我必须量化来自高斯源(源a(和AR(5(随机过程(源B。根据我的研究,我认为标量量化器有望对源a执行更好的量化(在MSE意义上(,而矢量量化器应在AR过程(源B(中执行更好,在AR过程中,样本彼此相关。
然而,当我量化前面提到的两个源,并计算原始信号和量化信号之间的MSE时,矢量量化器为两个源给出较小的MSE。因此,矢量量化器对这两个源都更有效(在MSE意义上(,我认为这是错误的,因为它应该只对自回归随机过程更有效,而对高斯源也不更有效。
(我将MSE计算为:mse(input_signal - quantized_signal)
,因此没有任何错误。(
所以我的问题是:
- (理论上(矢量量化器在量化两个源时是否更有效,还是仅在AR过程的情况下更有效
- 等价于n位标量量化器的矢量量化器应具有2n或22n量子化/Voroni区域(第二自变量/簇数kmeans(((
如果需要,我也会发布MATLAB代码。
任何帮助都将不胜感激,因为我已经被困了好几天了。
提前谢谢。
K-Means与Lloyd-Max算法非常相似
由于您为它提供了更多的x2
位,因此它的性能会更好也就不足为奇了。