dsp. ScalarQuantizerEncoder

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

Описание

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

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

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

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

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

Создание

Синтаксис

sqenc = dsp.ScalarQuantizerEncoder
sqenc = dsp.ScalarQuantizerEncoder(Name,Value)

Описание

пример

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

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

Свойства

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

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

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

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Используя Системные объекты (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 и вычислительная стоимость метода двоичного поиска имеют порядок

журнал2(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.

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

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

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

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

Для версий ранее, чем R2016b, используйте функцию step, чтобы запустить алгоритм Системного объекта. Аргументы к step являются объектом, который вы создали, сопровождаемый аргументами, показанными в этом разделе.

Например, y = step(obj,x) и y = obj(x) выполняют эквивалентные операции.

Синтаксис

index = sqenc(input)
[index] = sqenc(input,bpoints)
[index] = sqenc(input,bpoints,cBook)
[index,codeword] = sqenc(___)
[___,qerr] = sqenc(___)
[___,cStatus] = sqenc(___)

Описание

пример

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 или более ранний релиз, заменяете каждый вызов объекта с эквивалентным синтаксисом step. Например, 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. Свойства объектов соответствуют параметрам блоков.

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

Смотрите также

Системные объекты

Представленный в R2012a