Engee 文档

Uniform Encoder

将浮点输入数据量化并编码为整数输出数据。

类型: UniformEncoder

图书馆中的路径:

/Signal Operations/Quantizers/Uniform Encoder

说明

Uniform Encoder 程序块执行量化操作,将浮点输入数据转换为整数输出数据。

该块采用统一编码,符合_"ITU-T 建议 G.701"_中对统一编码的定义。

有关该块如何计算已编码整数输出信号的更多信息,请参阅"…​…​ "部分。 附加.

端口

输入

输入 - 输入信号
矩阵

浮点输入信号的向量或矩阵。

大于 或小于 的输入信号会在相应值处饱和。

复数输入数据的实部和虚部分别独立转换。

数据类型: Float32, Float64

支持复数:

输出

输出 - 解码输出信号
矩阵

以向量或矩阵形式返回的编码器输出数据。

该块对浮点输入数据中的每个样本进行量化,并将量化后的浮点值转换为整数。

有关该块如何计算输出数据的更多信息,请参阅算法

数据类型: Int8, Int16, Int32, UInt8, UInt16, UInt32

支持复数:

参数

主要参数

峰值 - 输入信号的最大振幅
1(默认值) | `非负标量

将输入信号 的最大振幅指定为非负标量。

实际输入值或虚输入值大于 或小于 , 在这些限制范围内会达到饱和(对于复数输入,则各自独立)。

Bits - 位数
8(默认)"|"范围 [2, 32] 内的整数"。

指定块表示整数输出数据所需的位数 。位数 可以是 2 到 32 之间的任意整数。

程序块量化浮点输入数据的级数等于

输出类型 - 输出数据类型
无符号整数(默认) | 有符号整数

指定块输出的数据类型:

  • `Unsigned integer - 该块将最小的浮点量化值 映射为整数 0,将最大的浮点量化值 映射为整数 。它将中间浮点量化值线性(均匀)映射为范围 ]内的中间整数。为提高效率,程序块自动选择最小位数等于或大于 的无符号输出数据类型(UInt8UInt16`或`UInt32)。

  • 有符号整数 "块将最小的浮点量化值 映射为整数 ,将最大的浮点量化值 映射为整数 。它将中间浮点量化值线性映射为范围在 ]内的中间整数。程序块自动选择最小位数等于或大于 的有符号输出数据类型(Int8Int16`或`Int32)。

下表总结了程序块使用的输出数据类型。

Bits

无符号整数

有符号整数

2 至 8

UInt8

Int8.

9 至 16

UInt16

Int16.

17 至 32

UInt32

Int32.

附加

*算法

Uniform Encoder 块对输入数据中的每个浮点采样执行这两种运算。

  1. 对数值进行等精度量化。

  2. 将量化后的浮点数值编码为整数。

第一步,程序块将输入值量化为 中的一个等距级,范围为 ],其中在 Bits 参数中指定 ,在 Peak 参数中指定 。量化过程会将正输入数据和负输入数据向下舍入到最接近的量化级别,但正好位于量化边界的数据除外。它能独立量化复数输入数据的实部和虚部。

第二步,程序块将量化浮点数值唯一转换(编码)为 整数数值之一。

将*输出类型*设置为 "无符号整数 "时,程序块会将最小的浮点量化值 转换为整数 0,将最大的浮点量化值 转换为整数 。它将中间浮点量化值线性(均匀)转换为范围在 ]内的中间整数。为提高效率,程序块自动选择最小位数等于或大于 的无符号输出数据类型(UInt8UInt16`或`UInt32)。

当*输出类型*参数设置为 "有符号整数 "时,最小的浮点量化值 将转换为整数 ,最大的浮点量化值 将转换为整数 。中间浮点量化值被线性转换为范围在 ]内的中间整数。程序块自动选择最小位数等于或大于 的有符号输出数据类型(Int8Int16`或`Int32)。

参考文献