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