Буфер FIFO
Система dsp.AsyncBuffer
object™ пишет выборки в и читает выборки из метода "первым пришел - первым вышел" (FIFO) буфер. Метод write
записывает данные к буферу, и метод read
считывает данные из буфера. При создании объекта можно определить номер выборок (строки) буфера с помощью свойства Capacity
. Номер каналов (столбцы) определяется во время первого вызова write
. Инициализируйте буфер путем вызова write
или setup
перед первым вызовом read
.
Данные, которые вы пишете, занимают следующее свободное место в буфере. Если буфер полон, и все данные в нем являются непрочитанными (asyncBuff.NumUnreadSamples == asyncBuff.Capacity
), объект перезаписывает самые старые данные с любыми новыми данными, которые входят. Буфер удаляет данные только, когда данные перезаписываются, таким образом, можно перечитать данные из прошлого. Запись поддержки объектов dsp.AsyncBuffer
и чтение переменных сигналов формата кадра. Для примеров смотрите Форматы кадра Переменной Чтения от Форматов кадра Переменной Буфера и Записи, чтобы Буферизовать.
Записать и считать выборки из буфера FIFO:
asyncBuff = dsp.AsyncBuffer
asyncBuff = dsp.AsyncBuffer(cap)
возвращает асинхронный буферный Системный объект, asyncBuff
= dsp.AsyncBufferasyncBuff
, с помощью свойств по умолчанию.
устанавливает свойство asyncBuff
= dsp.AsyncBuffer(cap
)Capacity
на cap
.
asyncBuff = dsp.AsyncBuffer(200000);
Записать и считать выборки из асинхронного буфера:
Чтобы использовать объектную функцию, задайте Системный объект как первый входной параметр. Например, чтобы выпустить системные ресурсы Системного объекта под названием obj
, используйте этот синтаксис:
release(obj)
Прежде, чем вызвать метод read
, необходимо инициализировать буфер путем вызова или write
или метода setup
. Для примера смотрите, Почему Делает dsp. Ошибка Объекта AsyncBuffer, Когда Вы чтение Вызова Перед записью?