文档

uencode

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

语法

y = uencode (u, n)
y = uencode (u n v)
n y = uencode (u, v,“SignFlag”

描述

y = uencode (u, n)量化浮点数的多维数组中的条目u并将它们编码为使用2的整数n程度的量化n必须是2到32之间的整数(包括)。输入可以是真实的或复杂的,双精度的或单精度的。输出y和输入u是相同大小的数组。输出y的元素是大小在[0,2]范围内的无符号整数n1]。输入元素u在范围之外[1]被视为溢出并被饱和。

  • 输入输入中的条目u这小于-1,输出的值uencode是0。

  • 输入输入中的条目u大于1的值uencode是2n1。

y = uencode (u n v)允许输入u在范围内具有浮点值的项(- v, v)在饱和它们之前(默认值v是1).输入的元素u在范围之外(- v, v)被视为溢出并被饱和:

  • 对于小于-的输入项v的输出值uencode是0。

  • 输入条目大于v的输出值uencode是2n- 1。

n y = uencode (u, v,“SignFlag”映射多维浮点数数组中的项u其项的值在范围[- v, v为整数输出y.超出这个范围的输入条目是饱和的。输出的整数类型取决于量化级别2的数量n的价值“SignFlag”,可以是以下情况之一:

  • “签署”:输出大小在[-2]范围内的有符号整数n/ 2 (2n/ 2) - 1]。

  • “无符号”(默认):输出无符号整数,大小范围为[0,2]n- 1]。

输出数据类型根据比特数进行优化,如下表所示。

n

无符号整数

带符号整数

2 - 8

uint8

int8

9到16

uint16

int16

17 - 32

uint32

int32

例子

全部折叠

将[- 1,1]中的浮点标量映射到uint8无符号整数。制作楼梯图。横轴为-1至1,纵轴为0至7(即:).

U = -1:0.01:1;y = Uencode(U,3);情节(你,y,“。”

当你低估输入的峰值时,看看饱和度效果。

u = 2:0.5:2;y = uencode (u, 5, 1)
y =1x9 uint8行向量0 0 0 8 16 24 31 31 31

指定您想要的有符号输出。

u = 2:0.5:2;2 y = uencode (u, 5日,“签署”
y =1x9 int8行向量-16 -12 -8 -4 0 4 8 12

算法

uencode将浮点输入值映射为由2的要求确定的整数值n水平的量化。该编码遵循ITU-T建议G.701中规定的统一编码定义。输入范围(- v, v)分为两部分n均匀间隔的时间间隔。范围内的输入项(- v, v)首先是根据输入范围的这个细分的量化,然后映射到2中的一个n整数。输出的范围取决于您是否指定需要有符号整数。

参考

国际电信联盟。数字传输系统的一般方面:数字传输和多路复用的词汇和脉冲编码调制(PCM)术语。G.701 ITU-T建议。1993年3月。

另请参阅

之前介绍过的R2006a

这个话题有用吗?