dsp.VectorQuantizerEncoder

Векторное кодирование квантования

Описание

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

Выполнять векторное кодирование квантования:

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

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

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

Создание

Описание

vqenc = dsp.VectorQuantizerEncoder возвращает векторную Систему энкодера квантизатора object™, vqenc. Этот объект находит основанный на нуле индекс самой близкой кодовой комбинации для каждого данного входного вектор-столбца.

пример

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

Свойства

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

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

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

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

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

Задайте книгу шифров, с которой входной вектор-столбец или матрица сравнены как k-by-N матрица. Каждый столбец матрицы книги шифров является кодовой комбинацией, и каждая кодовая комбинация соответствует значению индекса. Векторы кодовой комбинации должны иметь одинаковое число строк как вход. Первый вектор кодовой комбинации соответствует значению индекса 0, второй вектор кодовой комбинации соответствует значению индекса 1, и так далее. Значение по умолчанию:

[1 .5 13 .3 136 .4 6.82 .5 14 .3 137 .4 7.83 .5 15 .3 138 .4 8.8]

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

Зависимости

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

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

Задайте, как вычислить искажение как Squared error или Weighted squared error. Если вы устанавливаете это свойство на Squared error, объект вычисляет искажение путем оценки Евклидова расстояния между входным вектор-столбцом и каждой кодовой комбинацией в книге шифров. Если вы устанавливаете это свойство на Weighted squared error, объект вычисляет искажение путем оценки взвешенного Евклидова расстояния с помощью фактора взвешивания, чтобы подчеркнуть или преуменьшить роль определенных входных значений.

Задайте, как определить фактор взвешивания как Property или Input port.

Зависимости

Это свойство применяется, когда вы устанавливаете DistortionMeasure свойство к Weighted squared error.

Задайте фактор взвешивания как вектор из длины, равной количеству строк входа.

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

Зависимости

Это свойство применяется, когда вы устанавливаете DistortionMeasure свойство к Weighted squared error и WeightsSource свойством является Property.

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

Задайте, представлять ли входной вектор-столбец оцененной кодовой комбинацией более низкого индекса или более высокой индексируемой ценной кодовой комбинацией, когда входной вектор-столбец является равноотстоящим от двух кодовых комбинаций. Можно установить это свойство на Choose the lower index или Choose the higher index.

Установите это свойство на true выводить векторы кодовой комбинации, самые близкие к входным вектор-столбцам.

Установите это свойство на true выводить ошибочное значение квантования, которое заканчивается, когда объект представляет входной вектор-столбец самой близкой кодовой комбинацией.

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

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

Задайте метод округления как Ceiling, Convergentполсамый близкийвокруг, Simplest или Zero.

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

Задайте тип данных с фиксированной точкой продукта как Same as input или Custom.

Задайте фиксированную точку продукта как масштабированное numerictype Объект (Fixed-Point Designer) с Signedness из Auto.

Зависимости

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

Задайте тип данных с фиксированной точкой аккумулятора как Same as product, Same as input, или Custom.

Задайте фиксированную точку аккумулятора как масштабированное numerictype Объект (Fixed-Point Designer) с Signedness из Auto.

Зависимости

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

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

Описание

Index = vqenc(Input) возвращает Index, скаляр или вектор-столбец, представляющий область (области) квантования, к который Input принадлежит.

Index = vqenc(Input,Codebook) использует книгу шифров, данную во входе Codebook, k-by-N матрица с кодовыми комбинациями N каждая длина k. Эта опция доступна когда CodebookSource свойством является Input port.

Index = vqenc(___,Weights) использует входной вектор Weights подчеркнуть или преуменьшить роль определенных входных значений при вычислении меры по искажению. Weights должен быть вектор из длины, равной количеству строк Input. Эта опция доступна когда DistortionMeasure свойством является Weighted squared error и WeightsSource свойством является Input port.

[Index,Codeword] = vqenc(___) выводит Codeword значения, которые соответствуют каждому значению индекса когда CodewordOutputPort свойством является true. Этот синтаксис может использоваться с любым из предыдущих входных синтаксисов.

пример

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

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

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

Ввод данных в виде вектор-столбца размера k-by-1 или матрица размера k-by-M, где k является длиной каждой кодовой комбинации в книге шифров.

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

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

Значения книги шифров в виде вектор-столбца размера k-by-1 или матрица размера k-by-N, где k является длиной каждой кодовой комбинации и N, являются количеством кодовых комбинаций.

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

Зависимости

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

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

Объект использует Weights вектор, чтобы подчеркнуть или преуменьшить роль определенных входных значений при вычислении меры по искажению.

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

Зависимости

Этот вход применяется когда DistortionMeasure свойством является Weighted squared error и WeightsSource свойством является Input port.

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

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

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

Индексы самых близких векторов кодовой комбинации, возвращенных как скаляр или вектор-строка. Объект сравнивает каждый входной вектор-столбец с векторами кодовой комбинации в матрице книги шифров. Каждый столбец этой матрицы книги шифров является кодовой комбинацией. Объект находит вектор кодовой комбинации самым близким к входному вектор-столбцу и возвращает его основанный на нуле индекс. Когда вход является матрицей, индексы самых близких векторов кодовой комбинации горизонтально конкатенированы.

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

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

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

Зависимости

Этот выход включен когда CodewordOutputPort свойство установлено в true.

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

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

Зависимости

Этот выход включен когда QuantizationErrorOutputPort свойство установлено в true.

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

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

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

release(obj)

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

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

Примеры

свернуть все

Примечание: Этот пример запускается только в R2016b или позже. Если вы используете более ранний релиз, заменяете каждый вызов функции с эквивалентным step синтаксис. Например, myObject (x) становится шагом (myObject, x).

Найдите индексы самых близких кодовых комбинаций на основе Евклидовых расстояний.

vqenc = dsp.VectorQuantizerEncoder(...
    'Codebook', [-1 -1 1 1;1 -1 -1 1], ...
    'CodewordOutputPort', true, ...
    'QuantizationErrorOutputPort', true, ...
    'OutputIndexDataType', 'uint8');

Сгенерируйте входной сигнал с некоторым аддитивным шумом

x = sign(rand(2,40)-0.5) + 0.1*randn(2,40);
[ind, cw, err] = vqenc(x);
plot(cw(1,:), cw(2,:), 'rO', x(1,:), x(2,:), 'g.');
legend('Quantized', 'Inputs', 'location', 'best');

Алгоритмы

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

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

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

Объекты

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