dsp.ScalarQuantizerEncoder

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

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

Описание

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

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

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

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

Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты?.

Создание

Описание

пример

sqenc = dsp.ScalarQuantizerEncoder возвращает скалярную Систему энкодера квантизатора 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'.

Задайте тип данных индекса выход от объекта как: int8uint8int16uint16int32uint32.

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

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

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

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

Описание

пример

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

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

Зависимости

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

Типы данных: логический

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

Чтобы использовать объектную функцию, задайте Системный объект как первый входной параметр. Например, чтобы выпустить системные ресурсы Системного объекта под названием 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