dsp. Буфер

Буферный входной сигнал

Описание

Объект Buffer буферизует входной сигнал. Количество выборок на канал во входе должно равняться различию между размером буфера вывода и буферным перекрытием (т.е. Length - OverlapLength).

Буферизовать входной сигнал:

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

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

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

Создание

Синтаксис

buff = dsp.Buffer
buff = dsp.Buffer(len,ovrlap,ics)

Описание

buff = dsp.Buffer возвращает буферную Систему object™, buff, используемый, чтобы буферизовать входные сигналы с перекрытием.

пример

buff = dsp.Buffer(len,ovrlap,ics) возвращает буферный объект, buff, с набором свойств Length к len, набором свойств OverlapLength к ovrlap и набором свойств InitialConditions к ics.

Свойства

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

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

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

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

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

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

Задайте количество выборок, которыми последовательный вывод структурирует перекрытие. Можно установить это свойство на любое скалярное целое число в области значений 0L<Mo, где M o является выходным форматом кадра, заданным свойством Length.

Объект берет выборки L (строки) из текущей производительности и повторяет их в следующем выводе. Объект получает MoL новые входные выборки прежде, чем распространить буферизированные данные к выводу.

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

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

Когда существует ненулевая задержка, буфер инициализируется к значению (значениям), заданному свойством InitialConditions. Объект читает из буфера, чтобы сгенерировать первый D выборки вывода, где

D={Mo+L(L0)Mo(L<0)

Размерности свойства InitialConditions зависят от OverlapLength, L, и содержит ли вход один канал или несколько каналов:

  • Когда L0, свойство InitialConditions должно быть скаляром.

  • Когда L=0, свойство InitialConditions может быть скаляром, или это может быть вектор со следующими ограничениями:

    • Для одноканальных входных параметров свойство InitialConditions может быть вектором длины Mo, если Mi равняется 1 или вектору длины Mi, если Mo равняется 1.

    • Для многоканальных входных параметров свойство InitialConditions может быть вектором длины Mo * N, если Mi равняется 1 или вектору длины Mi * N, если Mo равняется 1.

Для общей буферизации между произвольными форматами кадра свойство InitialConditions должно быть скалярным значением, которое затем повторяется через все элементы начального вывода (выводов). Однако в особом случае, где вход является 1 N вектором - строкой, и выводом блока является Mo-by-N матрица, InitialConditions может быть:

  • Mo-by-N матрица.

  • Вектор длины-Mo, который будет повторен через все столбцы начального вывода (выводов).

  • Скаляр, который будет повторен через все элементы начального вывода (выводов).

В особом случае, где вывод является 1 N вектором - строкой, который является результатом освобождения буфера Mi-by-N матрица, InitialConditions может быть:

  • Вектор, содержащий выборки Mi, чтобы вывести последовательно для каждого канала во время первых шагов расчета Mi.

  • Скаляр, который будет повторен через все элементы начального вывода (выводов).

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | логический

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

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

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

Синтаксис

y = buff(x)

Описание

пример

y = buff(x) создает вывод y на основе текущего входа и сохранил прошлые значения x. Выходная длина равняется свойству Length.

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

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

Ввод данных, заданный как вектор-столбец или матрица. Количество входных строк должно быть равно LengthOverlapLength.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | fi
Поддержка комплексного числа: Да

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

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

Буферный выходной параметр, возвращенный как вектор-столбец или матрица.

Следующая таблица показывает выходные размерности Системного объекта dsp.Buffer, когда вход является одноканальным сигналом. M i - входной формат кадра и M o, является выходным форматом кадра, заданным свойством Length.

Введите размерностиВыведите размерности
1 на 1 (скаляр)M o-1
M i-1 (вектор-столбец)M o-1

Следующая таблица показывает выходные размерности Системного объекта dsp.Buffer, когда вход является многоканальным сигналом. Выходной формат кадра, M o может быть больше или меньше, чем входной формат кадра, Mi. Объект буферизует каждый из каналов входа N независимо.

Введите размерностиВыведите размерности
1 N (вектор - строка)M o-by-N
Mi-by-N (матрица)M o-by-N

Тип данных и сложность выходных соответствий тот из входного сигнала.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | fi
Поддержка комплексного числа: Да

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

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

release(obj)

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

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

Примеры

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

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

Создайте буфер 256 выборок с 128 демонстрационными перекрытиями.

reader = dsp.SignalSource(randn(1024,1),128);
buff = dsp.Buffer(256,128);

for i = 1:8
    y = buff(reader());
end

y имеет длину 256 с 128 выборками от предыдущего входа.

Алгоритмы

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

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

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

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