информация

Получите совокупное переполнение и недогрузку

Синтаксис

S = info(asyncBuff)

Описание

пример

S = info(asyncBuff) возвращает структуру, S, содержа совокупное переполнение и информацию о недогрузке Системы dsp.AsyncBuffer object™, asyncBuff.

Примеры

свернуть все

Система dsp.AsyncBuffer object™ форматы кадра переменной чтения поддержек от буфера.

Создайте Системный объект dsp.AsyncBuffer. Вход является белым Гауссовым шумом со средним значением 0, стандартным отклонением 1 и форматом кадра 512 выборок. Запишите вход в буфер с помощью метода write.

asyncBuff = dsp.AsyncBuffer;
input = randn(512,1);
write(asyncBuff,input);
plot(input)
hold on

Храните данные, которые считаны из буфера в outTotal.

Постройте входной сигнал и данные, которые считаны из буфера в том же графике. Считайте данные из буфера, пока все выборки не будут считаны. В каждой итерации цикла randi определяет количество выборок, чтобы читать. Поэтому сигнал читается в как сигнал переменного размера. Переменная prevIndex отслеживает предыдущее индексное значение, которое содержит данные.

outTotal = zeros(size(input));
prevIndex = 0;
while asyncBuff.NumUnreadSamples ~= 0
    numToRead = randi([1,64]);
    out = read(asyncBuff,numToRead);
    outTotal(prevIndex+1:prevIndex+numToRead) = out;
    prevIndex = prevIndex+numToRead;
end
plot(outTotal,'r')
hold off

Проверьте, что входные данные и данные, считанные из буфера (исключая выборки недогрузки, если таковые имеются), являются тем же самым. Совокупное число превышенных и выборок недогрузки в буфере определяется функцией info.

S = info(asyncBuff)
S = struct with fields:
     CumulativeOverrun: 0
    CumulativeUnderrun: 28

Поле CumulativeUnderrun показывает количество демонстрационной недогрузки на канал. Недогрузка происходит, при попытке считать больше выборок, чем доступный.

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

свернуть все

Асинхронный буфер, заданный как Системный объект dsp.AsyncBuffer.

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

свернуть все

Совокупное переполнение и информация о недогрузке, возвращенная как структура. Поля для S описаны в таблице.

Поле Значение
CumulativeOverrun

Количество выборок превышается на канал начиная с последней возможности к reset. Количество превышенных выборок является количеством непрочитанных перезаписанных выборок.

CumulativeUnderrun

Количество демонстрационной недогрузки на канал начиная с последней возможности к reset. Недогрузка происходит, при попытке считать больше выборок, чем доступный.

Свойства CumulativeOverrun и CumulativeUnderrun являются типом данных int32.

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

Функции

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

Введенный в R2017a