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