首先,必须深刻理解quantier这个函数的应用,它的基本思想是将浮点数转化为定点,中间是二进制的过度过程。
对于quantizer后面两个参数[a,b],a代表整数的(二进制表示)字长,b代表小数(二进制表示)的幂长。
转载下面的例子便于理解:
浮点转换为定点的过程在Matlab中称为量化,使用quantizer和quantize两个函数完成。
(1)、quantizer用于定义数据的量化属性
(2)、quantize则按照quantizer定义的量化属性量化浮点数据。
下面举一个例子:
x = [3.5 1.5 6 20.8 -128.25 127.75];
qpath = quantizer('fixed','round','saturate',[10,2]);
fix_x = quantize(qpath,x);
运行后fix_x结果为:
fix_x =
3.5000 1.5000 6.0000 20.7500 -128.0000 127.7500
其中-128.25溢出了,这里设置溢出后为饱和输出,所以为-128。
具体关于quantizer和quantize函数的使用说明请参考Matlab的help文件
好了,下面对于均匀量化过程
syms sample_point;
syms quantizion_bits;
syms mmid_riser;
sample_point = 200;
quantizion_bits = 4;
[y,f