Scalar Quantizer Encoder
Кодирование каждого входного значения путем сопоставления с индексом области квантования.
Тип: Scalar Quantizer Encoder
Путь в библиотеке:
|
Описание
Блок Scalar Quantizer Encoder сопоставляет каждое входное значение с областью квантования, сравнивая это значение с граничными точками квантователя, заданными параметром Boundary points. Блок выводит начинающийся с нуля индекс соответствующей области.
Порты
Вход
#
U
—
входные значения данных
вектор | матрица
Details
Входные значения данных, заданные как вектор или матрица.
Входные данные, граничные точки, значения кодовой книги, квантованные выходные значения и ошибка квантования должны иметь одинаковый тип данных, если соответствующие данные присутствуют.
Если входные данные имеют тип с фиксированной точкой, это должны быть знаковые целые числа или знаковые значения с фиксированной точкой, коэффициентом масштабирования в виде степени двойки и нулевым смещением.
| Типы данных |
|
| Поддержка комплексных чисел |
Нет |
#
B
—
граничные точки
вектор
Details
Граничные точки, заданные как вектор длины . Граничные точки необходимо расположить в порядке возрастания.
Входные данные, граничные точки, значения кодовой книги, квантованные выходные значения и ошибка квантования должны иметь одинаковый тип данных, если соответствующие данные присутствуют.
Зависимости
Чтобы использовать этот порт, установите для параметра Source of quantizer parameters значение Input port.
| Типы данных |
|
| Поддержка комплексных чисел |
Нет |
#
C
—
значения кодовой книги
вектор
Details
Вектор квантованных выходных значений, соответствующих каждому значению индекса. Если для параметра Partitioning установлено значение Bounded, то длина вектора кодовой книги должна быть равна ; а если для параметра Partitioning установлено значение Unbounded, то длина вектора кодовой книги должна быть равна , где — длина вектора граничных точек.
Входные данные, граничные точки, значения кодовой книги, квантованные выходные значения и ошибка квантования должны иметь одинаковый тип данных, если соответствующие данные присутствуют.
Зависимости
Чтобы использовать этот порт, установите для параметра Source of quantizer parameters значение Input port и установите флажок Output codeword или Output quantization error.
| Типы данных |
|
| Поддержка комплексных чисел |
Нет |
Выход
#
I
—
значения индексов
вектор | матрица
Details
Значения индексов, возвращаемые в виде вектора или матрицы того же размера, что и входные данные.
Тип данных этого порта зависит от значения параметра Index output data type.
| Типы данных |
|
| Поддержка комплексных чисел |
Нет |
#
Q(U)
—
квантованные выходные значения
вектор | матрица
Details
Квантованные выходные значения, возвращаемые в виде вектора или матрицы того же размера, что и входные данные. Это значения кодового слова, соответствующие каждому значению индекса.
Входные данные, граничные точки, значения кодовой книги, квантованные выходные значения и ошибка квантования должны иметь одинаковый тип данных, если соответствующие данные присутствуют.
Зависимости
Чтобы использовать этот порт, установите флажок Output codeword.
| Типы данных |
|
| Поддержка комплексных чисел |
Нет |
#
Err
—
ошибка квантования
вектор | матрица
Details
Ошибка квантования, возвращаемая в виде вектора или матрицы того же размера, что и входные данные. Ошибка квантования равна разности между входным и квантованным выходным значениями.
Входные данные, граничные точки, значения кодовой книги, квантованные выходные значения и ошибка квантования должны иметь одинаковый тип данных, если соответствующие данные присутствуют.
Зависимости
Чтобы использовать этот порт, установите флажок Output quantization error.
| Типы данных |
|
| Поддержка комплексных чисел |
Нет |
#
S
—
состояние ограничения
вектор | матрица
Details
Значения состояния ограничения, возвращаемые в виде вектора или матрицы логических значений того же размера, что и входные данные. Когда входное значение выходит за пределы диапазона, заданного параметром Boundary points, блок выводит 1 на порт S. Когда значение находится внутри диапазона, блок выводит 0.
Зависимости
Чтобы использовать этот порт, установите флажок Output clipping status.
| Типы данных |
|
| Поддержка комплексных чисел |
Нет |
Параметры
Основные
#
Source of quantizer parameters —
источник параметров квантователя
Specify via dialog | Input port
Details
Укажите источник параметров квантователя:
-
Specify via dialog— введите граничные точки и значения кодовой книги с помощью параметров в окне настроек блока. -
Input port— задайте параметры с помощью входных портов блока. Передайте граничные точки и значения кодовой книги через порты B и C соответственно.
| Значения |
|
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Нет |
#
Partitioning —
метод разбиения
Bounded | Unbounded
Details
Укажите один из следующих методов разбиения для интерпретации заданных граничных точек:
-
Bounded— создание ограниченного квантователя.Например, если заданы граничные точки
[0 0.5 3.7 5.8 6.0 11], блок присваивает входным значениям от0до0.5индекс0, входным значениям от0.5до3.7— индекс1и т.д. Значениям меньше0блок присваивает наименьший индекс0, а значениям больше11— наибольший индекс4. -
Unbounded— создание неограниченного квантователя.Например, если заданы граничные точки
[0 0.5 3.7 5.8 6.0 11], блок присваивает входным значениям от0до0.5индекс1, входным значениям от0.5до3.7— индекс2и т.д. Значениям меньше0блок присваивает индекс0, а значениям больше11— индекс6.
| Значения |
|
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Нет |
#
Boundary points —
граничные точки
Array of real numbers
Details
Введите вектор значений, представляющих граничные точки областей квантователя, в порядке возрастания. Эти значения разбивают множество входных чисел на области. Каждая область задается номером индекса.
Пусть — количество областей квантования, кодовая книга задана как [c1 c2 c3 … cN], а параметр Boundary points — как [p0 p1 p2 p3 … pN]. Для обычного квантователя выполняется неравенство p0 < c1 < p1 < c2 … p(N−1) < cN < pN.
Для ограниченного квантователя установите для параметра Partitioning значение Bounded. Необходимо задать N + 1 граничных точек: [p0 p1 p2 p3 … pN].
Для неограниченного квантователя установите для параметра Partitioning значение Unbounded. Необходимо задать N − 1 граничных точек: [p1 p2 p3 … p(N−1)]. Блок присваивает p0 значение −Inf, а pN — значение Inf.
Зависимости
Чтобы использовать этот параметр, установите для параметра Source of quantizer parameters значение Specify via dialog.
| Значение по умолчанию |
|
| Имена для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Да |
#
Searching method —
метод поиска
Linear | Binary
Details
Укажите метод поиска, который блок использует для определения области, содержащей входное значение, то есть индекса квантователя:
-
Linear— блок сравнивает входное значение с первой областью, заданной первыми двумя граничными точками. Если входное значение не попадает в эту область, блок сравнивает его со следующей областью. Процесс продолжается, пока блок не определит область, содержащую входное значение, и не сопоставит значению соответствующий индекс. Вычислительная сложность этого процесса имеет порядок , где — количество граничных точек. -
Binary— блок сравнивает входное значение со средним значением вектора граничных точек. Если входное значение больше этой граничной точки, блок отбрасывает граничные точки, расположенные ниже среднего значения. Затем блок сравнивает входное значение со средней граничной точкой нового диапазона, определяемого оставшимися граничными точками. Процесс продолжается, пока блок не сопоставит входному значению соответствующий индекс. Вычислительная сложность этого процесса имеет порядок , где — количество граничных точек.
В большинстве случаев значение Binary обеспечивает более быстрый поиск, чем значение Linear.
| Значения |
|
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Нет |
#
Tie-breaking rule —
действие при совпадении входного значения с граничной точкой
Choose the lower index | Choose the higher index
Details
Укажите действие, выполняемое при совпадении входного значения с граничной точкой. Этот параметр определяет область, которой будет соответствовать значение:
-
Choose the lower index— блок относит входное значение к области с меньшим индексом. -
Choose the higher index— блок относит входное значение к области с большим индексом.
| Значения |
|
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Нет |
#
Output codeword —
вывод кодового слова
Logical
Details
Установите этот флажок, чтобы выводить на порт Q(U) значения кодового слова, соответствующие каждому значению индекса.
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Нет |
#
Output quantization error —
вывод ошибки квантования
Logical
Details
Установите этот флажок, чтобы выводить на порт Err ошибку квантования для каждого входного значения. Ошибка квантования равна разности между входным и квантованным выходным значениями.
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Нет |
#
Codebook —
квантованные выходные значения
Scalar / array of real numbers
Details
Введите вектор квантованных выходных значений, соответствующих каждому значению индекса.
Если для параметра Partitioning установлено значение Bounded, а длина вектора граничных точек равна , необходимо задать кодовую книгу длиной . Если для параметра Partitioning установлено значение Unbounded, а длина вектора граничных точек равна , необходимо задать кодовую книгу длиной .
Зависимости
Чтобы использовать этот параметр, установите для параметра Source of quantizer parameters значение Specify via dialog и установите флажок Output codeword или Output quantization error.
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Да |
#
Output clipping status —
вывод состояния ограничения
Logical
Details
Установите этот флажок, чтобы выводить состояние ограничения на порт S. Когда входное значение выходит за пределы диапазона, заданного параметром Boundary points, блок выводит 1 на этот порт. Когда значение находится внутри диапазона, блок выводит 0.
Зависимости
Чтобы использовать этот параметр, установите для параметра Partitioning значение Bounded.
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Нет |
#
Action for out of range input —
действие для входного значения вне диапазона
Clip | Clip and warn | Error
Details
Укажите одно из следующих действий, которое блок должен выполнить, когда входное значение выходит за пределы диапазона, заданного параметром Boundary points:
-
Clip; -
Clip and warn; -
Error.
Пусть граничные точки ограниченного квантователя заданы как [p0 p1 p2 p3 … pN], а возможные значения индексов — как [i0 i1 i2 … i(N−1)], где i0 = 0 и i0 < i1 < i2 < … < i(N−1). Чтобы присвоить любому входному значению меньше p0 индекс i0, а любому входному значению больше pN — индекс i(N−1), выберите значение Clip. Чтобы также получать предупреждение при ограничении, выберите значение Clip and warn. Чтобы при выходе входного значения за пределы диапазона останавливать симуляцию и выводить сообщение об ошибке, выберите значение Error.
Зависимости
Чтобы использовать этот параметр, установите для параметра Partitioning значение Bounded.
| Значения |
|
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Нет |
#
Index output data type —
тип данных выходного индекса
Int8 | UInt8 | Int16 | UInt16 | Int32 | UInt32
Details
Укажите тип данных индекса, выводимого блоком на порт I:
-
Int8; -
UInt8; -
Int16; -
UInt16; -
Int32; -
UInt32.
| Значения |
|
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Да |
Data Types
Fixed-point operational parameters
#
Rounding mode —
режим округления
Ceiling | Convergent | Floor | Nearest | Round | Zero
Details
Укажите режим округления для операций с фиксированной точкой:
-
Floor; -
Ceiling; -
Convergent; -
Nearest; -
Round;
-
Zero.
Подробнее о режимах округления см. в статье Арифметика с фиксированной точкой (Fixed-Point) в Engee.
| Значения |
|
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Нет |
#
Saturate on integer overflow —
насыщение при переполнении целого числа
Logical
Details
Когда этот флажок установлен, блок применяет насыщение к результату операции с фиксированной точкой. Когда флажок снят, блок возвращает результат операции с фиксированной точкой.
Подробнее о режимах переполнения см. в статье Арифметика с фиксированной точкой (Fixed-Point) в Engee.
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Нет |