dsp.ScalarQuantizerEncoder

(Будет удалено) Связать входное значение с индексным значением области квантования

dsp.ScalarQuantizerEncoder будет удалено в следующем релизе.

Описание

The dsp.ScalarQuantizerEncoder объект кодирует каждый вход значение путем связи этого значения с индексом значением области квантования. Затем объект выводит индекс связанной области.

Чтобы кодировать вход значение путем связи его с индексом значением области квантования:

  1. Создайте dsp.ScalarQuantizerEncoder Объекту и установите его свойства.

  2. Вызывайте объект с аргументами, как будто это функция.

Дополнительные сведения о работе системных объектов см. в разделе «Что такое системные объекты?».

Создание

Описание

пример

sqenc = dsp.ScalarQuantizerEncoder возвращает скалярный энкодер квантователя System object™, sqenc. Этот объект сопоставляет каждый вход значение с областью квантования, сравнивая вход значение с пользовательскими точками контура.

sqenc = dsp.ScalarQuantizerEncoder(Name,Value) возвращает скаляр энкодера квантователя, sqenc, с каждым заданным набором свойств до заданного значения.

Свойства

расширить все

Если не указано иное, свойства являются нетронутыми, что означает, что вы не можете изменить их значения после вызова объекта. Объекты блокируются, когда вы вызываете их, и release функция разблокирует их.

Если свойство настраивается, можно изменить его значение в любой момент.

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Использование Системных объектов.

Задайте, как определить граничные точки и значения кодовой книги как 'Property' или 'Input port'.

Задайте квантователь следующим 'Bounded' или 'Unbounded'.

Задайте граничные точки областей квантователя как вектор. Значения векторов должны быть в порядке возрастания. Позвольте [p0 p1 p2 p3 ... pN] обозначить свойство граничных точек в квантователе. Если квантователь ограничен, объект использует это свойство, чтобы задать [p0 p1 p2 p3 ... pN]. Если квантователь не ограничен, объект использует это свойство, чтобы задать [p1 p2 p3 ... p(N-1)] и устанавливает p0 = -Inf и pN = +Inf.

Настраиваемый: Да

Зависимости

Это свойство применяется, когда вы устанавливаете BoundaryPointsSource свойство к Property.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Укажите, следует ли найти соответствующий индекс квантователя с помощью линейного поиска или двоичного поиска в качестве одного из 'Linear' или 'Binary'. Вычислительная стоимость метода линейного поиска соответствует порядку P а вычислительная стоимость метода двоичного поиска - порядку

log2(P)

где P - количество граничных точек.

Задайте, назначено ли входное значение нижней индексированной области или более высокой индексированной области, когда входное значение равняется граничной точке, выбрав 'Choose the lower index' или 'Choose the higher index'.

Установите это свойство на true для вывода значений кодового слова, которые соответствуют каждому значению индекса.

Установите это свойство на true для вывода ошибки квантования для каждого входного значения. Ошибка квантования является различием между значением входа и значением квантованного выхода.

Задайте кодовую книгу как вектор квантованных выходных значений, которые соответствуют каждой области. Если на Partitioning свойство 'Bounded' и вектор граничных точек имеет длину N, необходимо задать это свойство в вектор длины N-1. Если на Partitioning свойство 'Unbounded' и вектор граничных точек имеет длину N, необходимо задать это свойство в вектор длины N + 1.

Настраиваемый: Да

Зависимости

Это свойство применяется, когда вы устанавливаете BoundaryPointsSource свойство к 'Property' и либо CodewordOutputPort свойство или QuantizationErrorOutputPort свойство true.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Установите это свойство на true для вывода статуса усечения. Выходы равны 1, когда входное значение находится вне области значений, заданного BoundaryPoints свойство. Когда значение находится внутри области значений, выход исключения равен 0.

Зависимости

Это свойство применяется, когда вы устанавливаете Partitioning свойство к 'Bounded'.

Укажите тип данных индекса, выводимого из объекта, как: int8, uint8, int16, uint16, int32, uint32.

Свойства с фиксированной точкой

Задайте метод округления.

Задайте действие переполнения.

Использование

Описание

пример

index = sqenc(input) возвращает index области квантования, в которую input принадлежит. Входные данные, граничные точки, значения кодовой книги, квантованные выходные значения и ошибка квантования должны иметь совпадающий тип данных, когда они присутствуют.

[index] = sqenc(input,bpoints) использует входные bpoints как краевые точки, когда BoundaryPointsSource свойство Input port.

[index] = sqenc(input,bpoints,cBook) использует входные bpoints в качестве краевых точек и входных cBook как кодовая книга, когда BoundaryPointsSource свойство 'Input port' и либо CodewordOutputPort свойство или QuantizationErrorOutputPort свойство true.

[index,codeword] = sqenc(___) выводит codeword значения, которые соответствуют каждому значению индекса, когда CodewordOutputPort свойство true.

[___,qerr] = sqenc(___) выводит ошибку квантования qerr для каждого входного значения, когда QuantizationErrorOutputPort свойство true.

[___,cStatus] = sqenc(___) также возвращает вывод cStatus как выходной порт состояния усечения для каждого входного значения, когда Partitioning свойство 'Bounded' и ClippingStatusOutputPort свойство true. Если вход значение находится вне области значений, заданной BoundaryPoints свойство, cStatus является true. Если вход значение находится внутри области значений, cStatus является false.

Входные параметры

расширить все

Входные данные, заданные как вектор или матрица. Если вход является фиксированной точкой, он должен быть подписан фиксированной точкой с степенью двойки и нулевым смещением.

Типы данных: single | double | int8 | int16 | int32 | int64 | fi

Краевые точки областей квантователя, заданные как вектор. Значения векторов должны быть в порядке возрастания. Позвольте [p0 p1 p2 p3 ... pN] обозначить граничные точки в квантователе. Если квантователь ограничен, объект использует этот вход, чтобы задать [p0 p1 p2 p3 ... pN]. Если квантователь не ограничен, объект использует этот вход, чтобы задать [p1 p2 p3 ... p(N-1)] и устанавливает p0 = -Inf и pN = +Inf.

Зависимости

Этот вход применяется, когда вы устанавливаете BoundaryPointsSource свойство к Input port.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Кодовая книга, заданная как вектор квантованных выходных значений, которые соответствуют каждой области. Если на Partitioning свойство 'Bounded' и вектор точек контура имеет длину N, этот вход должен быть вектором длины N -1. Если на Partitioning свойство 'Unbounded' и вектор точек контура имеет длину N, этот вход должен быть вектором длины N + 1.

Зависимости

Этот вход применяется, когда вы устанавливаете BoundaryPointsSource свойство 'Input port' и либо CodewordOutputPort свойство или QuantizationErrorOutputPort свойство true.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Выходные аргументы

расширить все

Индекс области квантования, к которой input принадлежит, возвращается как вектор или матрица того же размера, что и input.

Типы данных: int32

Значения кодовых слов, которые соответствуют каждому индексному значению, возвращенные в виде вектора или матрицы того же размера, что и input.

Зависимости

Этот выход доступен, когда CodewordOutputPort для свойства задано значение true.

Типы данных: single | double | int8 | int16 | int32 | int64 | fi

Ошибка квантования для каждого входного значения, возвращенная как вектор или матрица того же размера, что и input.

Зависимости

Этот выход доступен, когда QuantizationErrorOutputPort для свойства задано значение true.

Типы данных: single | double | int8 | int16 | int32 | int64 | fi

Статус подрезки для каждого входного значения, возвращаемый как вектор или матрица. Если вход значение находится вне области значений, заданной BoundaryPoints свойство, cStatus является true. Если вход значение находится внутри области значений, cStatus является false.

Зависимости

Этот выход доступен, когда Partitioning свойство 'Bounded' и ClippingStatusOutputPort для свойства задано значение true.

Типы данных: logical

Функции объекта

Чтобы использовать функцию объекта, задайте системный объект в качестве первого входного параметра. Например, чтобы освободить системные ресурсы системного объекта с именем obj, используйте следующий синтаксис:

release(obj)

расширить все

stepЗапуск алгоритма системного объекта
releaseОтпустите ресурсы и допустите изменения в значениях свойств системного объекта и входных характеристиках
resetСброс внутренних состояний Системного объекта

Примеры

свернуть все

Примечание.Если вы используете R2016a или более ранние версии, замените каждый вызов объекта эквивалентным синтаксисом шага. Для примера, obj(x) становится step(obj,x).

Квантуйте меняющиеся дробные входы от нуля до пяти до ближайших целых чисел, а затем постройте график результатов.

sqenc = dsp.ScalarQuantizerEncoder;
sqenc.BoundaryPoints = [-.001 .499 1.499 ...
    2.499 3.499 4.499 5.001];
sqenc.CodewordOutputPort = true;
sqenc.Codebook = [0 1 2 3 4 5];
input = (0:0.02:5)';
[index, quantizedValue] = sqenc(input);
plot(1:length(input), [input quantizedValue]);

Алгоритмы

Этот объект реализует алгоритм, входы и выходы, описанные на Scalar Quantizer Encoder блочных страниц с описанием. Свойства объекта соответствуют параметрам блоков.

Вопросы совместимости

расширить все

Не рекомендуемый запуск в R2021a

Расширенные возможности

.
Введенный в R2012a