AnyMath 文档

标量量化器编码器

通过与量化域的索引匹配对每个输入值进行编码。

模块类型: Scalar Quantizer Encoder

库中的路径:

/Signal Operations/Quantizers/Scalar Quantizer Encoder

资料描述

座 标量量化器编码器 将每个输入值映射到量化域,将此值与参数指定的量化器的边界点进行比较 边界点 . 块输出从零开始的相应区域的索引。

港口

输入

# U — 输入数据值
向量资料 | 矩阵

Details

输入指定为向量或矩阵的数据值。

如果存在相应的数据,则输入数据、边界点、码本值、量化输出值和量化误差必须具有相同的数据类型。

如果输入数据是定点类型,则必须是带符号整数或带固定点的带符号值,缩放因子为2的幂和零偏移。

数据类型

漂浮物32, 漂浮64, Int8, Int16, Int32, Int64, Int128, 固定

复数支持

非也。

# B — 边界点
向量资料

Details

定义为长度向量的边界点 . 边界点必须按升序排列。

如果存在相应的数据,则输入数据、边界点、码本值、量化输出值和量化误差必须具有相同的数据类型。

依赖关系

要使用此端口,请设置参数 量化器参数来源 价值 输入端口.

数据类型

漂浮物32, 漂浮64, Int8, Int16, Int32, Int64, Int128, 固定

复数支持

非也。

# C — 码本值
向量资料

Details

个索引值对应的量化输出值的向量。 如果为参数 分区 值已设置 有界,则码本向量的长度应等于 ;而如果为参数 分区 值已设置 无界,则码本向量的长度应等于 ,在哪里 -边界点的向量的长度。

如果存在相应的数据,则输入数据、边界点、码本值、量化输出值和量化误差必须具有相同的数据类型。

依赖关系

要使用此端口,请设置参数 量化器参数来源 价值 输入端口 并选中该框 输出码字 或 输出量化误差 .

数据类型

漂浮物32, 漂浮64, Int8, Int16, Int32, Int64, Int128, 固定

复数支持

非也。

输出

# 我 — 索引值
向量资料 | 矩阵

Details

作为与输入数据大小相同的向量或矩阵返回的索引值。

此端口的数据类型取决于参数值。 索引输出数据类型 .

数据类型

Int8, Int16, Int32, UInt8, UInt16, UInt32

复数支持

非也。

# Q(U) — 量化输出值
向量资料 | 矩阵

Details

作为与输入数据相同大小的矢量或矩阵返回的量化输出值。 这些是对应于每个索引值的码字值。

如果存在相应的数据,则输入数据、边界点、码本值、量化输出值和量化误差必须具有相同的数据类型。

依赖关系

要使用此端口,请选中此框 输出码字 .

数据类型

漂浮物32, 漂浮64, Int8, Int16, Int32, Int64, Int128, 固定

复数支持

非也。

# 错误 — 量化误差
向量资料 | 矩阵

Details

作为与输入数据相同大小的矢量或矩阵返回的量化误差。 量化误差等于输入和量化输出值之间的差。

如果存在相应的数据,则输入数据、边界点、码本值、量化输出值和量化误差必须具有相同的数据类型。

依赖关系

要使用此端口,请选中此框 输出量化误差 .

数据类型

漂浮物32, 漂浮64, Int8, Int16, Int32, Int64, Int128, 固定

复数支持

非也。

# S — 限制状态
向量资料 | 矩阵

Details

作为与输入数据大小相同的布尔值的向量或矩阵返回的约束状态值。 当输入值超出参数指定的范围时 边界点 ,块输出 1 到端口*S*。 当值在范围内时,块输出 0.

依赖关系

要使用此端口,请选中此框 输出限幅状态 .

数据类型

布尔

复数支持

非也。

参数

主要的

# 量化器参数来源 — 量化器参数的来源
通过对话框指定 | 输入端口

Details

指定量化器参数的来源:

  • 通过对话框指定 -使用块设置窗口中的参数输入码本的边界点和值。

  • 输入端口 -使用单元的输入端口设置参数。 分别经由端口*B*和*C*传输边界点和码本值。

值

Specify via dialog | Input port

默认值

Specify via dialog

程序使用名称

paramSrc

可调谐

无

可计算

无

# 分区 — 分区方法
有界 | 无界

Details

指定用于解释指定边界点的以下分区方法之一:

  • 有界 -创建一个有限的量化器。

    例如,如果设置了边界点 [0 0.5 3.7 5.8 6.0 11],块从分配输入值 0 以前 0.5 索引 0,输入值从 0.5 以前 3.7 -索引 1 依此类推的值小于 0 块分配最低索引 0,并且值更多 11 -最高指数 4.

  • 无界 -创建一个无限量化器。

    例如,如果设置了边界点 [0 0.5 3.7 5.8 6.0 11],块从分配输入值 0 以前 0.5 索引 1,输入值从 0.5 以前 3.7 -索引 2 依此类推的值小于 0 块分配索引 0,并且值更多 11 -索引 6.

值

Bounded | Unbounded

默认值

Bounded

程序使用名称

partType

可调谐

无

可计算

无

# 边界点 — 边界点
Array of real numbers

Details

按升序输入表示量化器区域边界点的值向量。 这些值将输入数字集划分为区域。 每个区域由索引号指定。

让 -量化区域的个数,将码本设为 [c1c2c3... cN],而参数 边界点 -如何 [p0p1p2p3…​ pN]. 对于普通量化器,不等式成立 p0<c1<p1<c2。.. p(N-1)<cN<pN.

对于有限量化器,为参数设置 分区 价值 有界. 有必要设置 N + 1 边界点: [p0p1p2p3…​ pN].

对于无限量化器,设置参数 分区 价值 无界. 有必要设置 N − 1 边界点: [p1p2p3…​ p(N-1)]. 块分配 p0 意义 -Inf,而 pN,pN -价值 资讯.

依赖关系

若要使用此参数,请为参数设置 量化器参数来源 价值 通过对话框指定.

默认值

[1 2 3 4 5 6 7 8 9 10]

程序使用名称

BBoundary, UBoundary

可调谐

无

可计算

是

# 搜索方法 — 搜索方法
线性 | 二进制

Details

指定块用于确定包含输入值的区域的搜索方法,即量化器索引。:

  • 线性 -块将输入值与由前两个边界点定义的第一区域进行比较。 如果输入值不属于该区域,则块将其与下一个区域进行比较。 该过程继续,直到块确定包含输入值的区域并将相应的索引分配给该值。 这个过程的计算复杂度是 ,在哪里 -边界点的数量。

  • 二进制 -块将输入值与边界点的向量的平均值进行比较。 如果输入值大于此边界点,则块丢弃位于平均值以下的边界点。 块然后将输入值与由剩余边界点定义的新范围的平均边界点进行比较。 该过程继续进行,直到块将相应的索引与输入值匹配。 这个过程的计算复杂度是 ,在哪里 -边界点的数量。

在大多数情况下,该值为 二进制 提供比值更快的搜索 线性.

值

Linear | Binary

默认值

Linear

程序使用名称

SearchMethod

可调谐

无

可计算

无

# 平局决胜规则 — 输入值与边界点匹配时的操作
选择较低的索引 | 选择较高的索引

Details

指定输入值与边界点匹配时要执行的操作。 此参数定义值将对应的区域。:

  • 选择较低的索引 -块将输入值分配给具有较低索引的区域。

  • 选择较高的索引 -块将输入值分配给具有大索引的区域。

值

Choose the lower index | Choose the higher index

默认值

Choose the lower index

程序使用名称

tieBreakRule

可调谐

无

可计算

无

# 输出码字 — 代码字输出
Logical

Details

选择此选项可将每个索引值对应的码字值输出到*Q(U)*端口。

默认值

false (关掉)

程序使用名称

outQU

可调谐

无

可计算

无

# 输出量化误差 — 量化误差输出
Logical

Details

选择此选项可在*Err*端口上为每个输入值输出量化误差。 量化误差等于输入和量化输出值之间的差。

默认值

false (关掉)

程序使用名称

outQError

可调谐

无

可计算

无

# 码本 — 量化输出值
Scalar / array of real numbers

Details

输入对应于每个索引值的量化输出值的向量。

如果为参数 分区 值已设置 有界,且边界点的向量的长度为 ,有必要指定长度的码本 . 如果为参数 分区 值已设置 无界,且边界点的向量的长度为 ,有必要指定长度的码本 .

依赖关系

若要使用此参数,请为参数设置 量化器参数来源 价值 通过对话框指定 并选中该框 输出码字 或 输出量化误差 .

默认值

[1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5]

程序使用名称

codebook

可调谐

无

可计算

是

# 输出限幅状态 — 限制状态的输出
Logical

Details

选择此选项可在*S*端口上显示限制的状态。 当输入值超出参数指定的范围时 边界点 ,块输出 1 到这个港口。 当值在范围内时,块输出 0.

依赖关系

若要使用此参数,请为参数设置 分区 价值 有界.

默认值

false (关掉)

程序使用名称

outStatus

可调谐

无

可计算

无

# 超出范围输入时的操作 — 范围之外的输入值的操作
限幅 | 限幅并警告 | 错误

Details

指定输入值超出参数指定的范围时块应执行的以下操作之一 边界点 :

  • 限幅;

  • 限幅并警告;

  • 错误.

设有界量化器的边界点给出为 [p0p1p2p3…​ pN],且可能的索引值为 [i0i1i2…​ i(N-1)],在哪里 i0=0 和 i0<i1<i2<。.. <i(N-1). 要分配任何输入值小于 p0 索引 我0,且任何输入值大于 pN,pN -索引 我(N-1),选择一个值 限幅. 若要在受限时也收到警告,请选择该值 限幅并警告. 要停止模拟并在输入值超出范围时显示错误消息,请选择该值 错误.

依赖关系

若要使用此参数,请为参数设置 分区 价值 有界.

值

Clip | Clip and warn | Error

默认值

Clip

程序使用名称

invalidin

可调谐

无

可计算

无

# 索引输出数据类型 — 输出索引数据类型
Int8 | UInt8 | Int16 | UInt16 | Int32 | UInt32

Details

指定端口*I上的块输出的索引数据的类型*:

  • Int8;

  • UInt8;

  • Int16;

  • UInt16;

  • Int32;

  • UInt32.

值

Int8 | UInt8 | Int16 | UInt16 | Int32 | UInt32

默认值

Int32

程序使用名称

idtype

可调谐

无

可计算

是

数据类型

定点运算参数

# 舍入模式 — 舍入模式
向上取整 | 收敛 | 向下取整 | 最近 | 四舍五入 | 零

Details

指定定点运算的舍入模式:

  • 向下取整;

  • 向上取整;

  • 收敛;

  • 最近;

  • 四舍五入;

  • 零.

有关舍入模式的详细信息,请参阅文章 定点算术在 AnyMath.

值

Ceiling | Convergent | Floor | Nearest | Round | Zero

默认值

Floor

程序使用名称

roundingMode

可调谐

无

可计算

无

# 整数溢出时饱和 — 整数溢出时的饱和度
Logical

Details

当选择此选项时,块将饱和度应用于定点运算的结果。 取消选中复选框时,块返回定点操作的结果。

有关溢出模式的更多信息,请参阅文章 定点算术在 AnyMath.

默认值

false (关掉)

程序使用名称

overflowMode

可调谐

无

可计算

无

文学作品

  1. Gersho,a.和R.Gray。 矢量量化和信号压缩。 波士顿:Kluwer Academic Publishers,1992。