exponenta event banner

dsp. ScalarQuantizerEncoder

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

dsp.ScalarQuantizerEncoder будет удален в следующем выпуске.

Описание

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

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

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

release(obj)

развернуть все

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

Примеры

свернуть все

Примечание.Если используется 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]);

Алгоритмы

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

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

развернуть все

Не рекомендуется начинать с R2021a

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

.
Представлен в R2012a