exponenta event banner

dsp.Buffer

(Чтобы быть удаленным) Буферный входной сигнал

Описание

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

Примечание

dsp.Buffer Система object™ будет удалена в будущем релизе. Используйте dsp.AsyncBuffer вместо этого. Для получения дополнительной информации см. Вопросы совместимости.

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

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

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

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

Создание

Описание

buff = dsp.Buffer возвращает буферный Системный объект, 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 | logical

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

Синтаксис

Описание

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Сбросьте внутренние состояния Системного объекта

Примеры

Создайте буфер

Примечание: Если вы используете R2016a или более ранний релиз, заменяете каждый вызов объекта с эквивалентным step синтаксис. Например, obj(x) становится step(obj,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. Свойства объектов соответствуют свойствам блока, за исключением отмеченного.

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

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

Предупреждает запуск в R2019b

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

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

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