peek

Считайте данные из буфера, не изменяя количество непрочитанных выборок

Описание

out = peek(asyncBuff) возвращает все непрочитанные выборки в буфер, asyncBuff, не изменяя количество непрочитанных выборок в буфере.

пример

out = peek(asyncBuff,numRows) возвращает numRows выборки от каждого канала (столбец) буфера.

out = peek(asyncBuff,numRows,overlap) возвращает numRows выборки от каждого канала и перекрытий ранее читают выборки overlap.

[out,nUnderrun] = peek(___) также возвращает количество дополненных нулем строк, если недогрузка произошла, с помощью какого-либо из предыдущих аргументов.

Примеры

свернуть все

Считайте данные из асинхронного буфера, не изменяя количество непрочитанных выборок с помощью peek функция.

Создайте dsp.AsyncBuffer Система object™. Вход является вектор-столбцом 100 выборок, 1 - 100. Запишите данные в буфер.

asyncBuff = dsp.AsyncBuffer
asyncBuff = 
  AsyncBuffer with properties:

            Capacity: 192000
    NumUnreadSamples: 0

input = (1:100)';
write(asyncBuff,input);

Посмотрите на первые три выборки. Выход [1 2 3]'.

out1  = peek(asyncBuff,3)
out1 = 3×1

     1
     2
     3

NumUnreadSamples 100, указывая что peek функция не изменила количество непрочитанных выборок в буфере.

asyncBuff.NumUnreadSamples
ans = int32
    100

После заглядывания считайте 50 выборок с помощью read функция. Выход [1:50]'.

out2  = read(asyncBuff,50)
out2 = 50×1

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
      ⋮

NumUnreadSamples 50, указывая что read функция изменила количество непрочитанных выборок в буфере.

asyncBuff.NumUnreadSamples
ans = int32
    50

Теперь посмотрите снова на первые три выборки. Выход [51 52 53]'. Проверьте что NumUnreadSamples все еще 50.

out3  = peek(asyncBuff,3)
out3 = 3×1

    51
    52
    53

asyncBuff.NumUnreadSamples
ans = int32
    50

Считайте 50 выборок снова. Выход теперь содержит последовательность [51:100]'. Проверьте тот NumUnreadSamples 0.

out4  = read(asyncBuff)
out4 = 50×1

    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
      ⋮

asyncBuff.NumUnreadSamples
ans = int32
    0

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

свернуть все

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

Количество выборок посмотрело от каждого канала (столбец) буфера, заданного как положительное целое число. Эта операция не изменяет количество непрочитанных выборок в буфере. Если требуемое количество выборок больше количества непрочитанных выборок, выход дополнен нулем.

Количество выборок, перекрытых, заданных как целое число. Функция возвращает numRows выборки от каждого канала и перекрытий ранее читают выборки overlap. Общее количество выборок посмотрело, numRows × NumChann, где NumChann является количеством каналов в буфере. Общее количество новых выборок посмотрело, (numRowsoverlap) × NumChann. Если фрагмент перекрытия содержит выборки, которые перезаписываются и поэтому непрерывно не записаны, выход дополнен нулем.

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

свернуть все

Данные посмотрели от буфера, возвращенного как массив numRows × выборки NumChann. Если overlap задан, функция возвращается (numRowsoverlap) × выборки NumChann. Если требуемое количество выборок больше количества непрочитанных выборок, выход дополнен нулем.

Типы данных: double
Поддержка комплексного числа: Да

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

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

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

Функции

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

Введенный в R2018b