Main Content

range

fiquantizer 对象的数值范围

说明

fi 对象的范围

示例

y = range(a) 返回一个 fi 对象,其中包含 fi 对象 a 中可能的最小值和最大值 。a 的所有可能的量化真实值都在返回的范围内。如果 a 是复数,则 real(a)imag(a) 的所有可能值都在返回的范围内。

示例

[min_a,max_a] = range(a) 在单独的输出变量中返回 fi 对象 a 的最小值和最大值。

quantizer 对象的范围

示例

r = range(q) 返回二元素行向量 r = [min_q max_q],使得对于所有实数 xy = quantize(q,x) 返回的 y 均满足范围 min_q ≤ y ≤ max_q

示例

[min_q,max_q] = range(q) 在单独的输出变量中返回范围的最小值和最大值。

示例

全部折叠

创建一个有符号 fi 对象,其值为 0,字长为 4,小数长度为 2。

a = fi(0,true,4,2);

查找 fi 对象 a 的数值范围,并在 fi 对象 y 中返回结果。

y = range(a)
y = 
   -2.0000    1.7500

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 4
        FractionLength: 2

查找 fi 对象 a 的数值范围,并在单独的输出变量中返回结果。

[min_a, max_a] = range(a)
min_a = 
    -2

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 4
        FractionLength: 2
max_a = 
    1.7500

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 4
        FractionLength: 2

请注意,max_a = 1.75 = 2 - eps(a)

创建一个 quantizer 对象,该对象描述一种字长为 6、指数长度为 3 浮点数据类型。查找 quantizer 对象 q 的数值范围。

q = quantizer('float',[6 3]);
r = range(q)
r = 1×2

   -14    14

创建一个 quantizer 对象,该对象描述这样一种有符号定点数据类型,其字长为 4,小数长度为 2,溢出时饱和,并向下舍入。查找 quantizer 对象 q 的数值范围,并在单独的输出变量中返回结果。

q = quantizer('fixed',[4 2],'floor');
[min_q, max_q] = range(q)
min_q = -2
max_q = 1.7500

请注意,max_q = 1.75 = 2 - eps(q)

输入参数

全部折叠

输入 fi 对象。

数据类型: fi
复数支持:

输入 quantizer 对象。

输出参数

全部折叠

输入 fi 对象 a 的数值范围,以 fi 对象形式返回。y 是二元素行向量,包含 fi 对象 a 可能的最小值和最大值。

输入 fi 对象 a 的最小值,以标量 fi 对象形式返回。

输入 fi 对象 a 的最大值,以标量 fi 对象形式返回。

quantizer 对象 q 的数值范围,以二元素行向量 r = [min_q max_q] 形式返回,使得对于所有实数 xy = quantize(q,x) 返回的 y 均满足范围 min_q ≤ y ≤ max_q

quantizer 对象范围的最小值,以标量形式返回。

quantizer 对象范围的最大值,以标量形式返回。

算法

如果 q 是浮点 quantizer 对象,则 min_q = -realmax(q)max_q = realmax(q)

如果 q 是有符号定点 quantizer 对象 (datamode = 'fixed'),则

min_q = −realmax(q) − eps(q) = −2w−1/2f

max_q = realmax(q) = (2w−1 − 1)/2f

其中 w 是字长,f 是小数长度。

如果 q 是无符号定点 quantizer 对象 (datamode = 'ufixed'),则

a = 0

b = realmax(q) = (2w − 1)/2f

有关详细信息,请参阅 realmax

扩展功能

C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

HDL 代码生成
使用 HDL Coder™ 为 FPGA 和 ASIC 设计生成 VHDL、Verilog 和 SystemVerilog 代码。

版本历史记录

在 R2006a 之前推出