delayseq

Задержите или усовершенствуйте последовательность

Синтаксис

shifted_data = delayseq(data,DELAY)
shifted_data = delayseq(data,DELAY,Fs)

Описание

shifted_data = delayseq(data,DELAY) задержки или усовершенствования вход data выборками DELAY. Отрицательные величины DELAY совершенствуют data, в то время как положительные значения задерживают data. Значения нецелого числа DELAY представляют дробные задержки или усовершенствования. В этом случае функция интерполирует. То, как функция delayseq работает со столбцами data, зависит от размерностей data и DELAY:

  • Если DELAY является скаляром, функция применяет тот сдвиг на каждый столбец data.

  • Если DELAY является вектором, длина которого равняется количеству столбцов data, функция переключает каждый столбец соответствующей векторной записью.

  • Если DELAY является вектором, и data имеет один столбец, функция переключает data каждой записью в DELAY независимо. Количество столбцов в shifted_data является длиной вектора DELAY. k th столбец shifted_data является результатом сдвига data DELAY(k).

shifted_data = delayseq(data,DELAY,Fs) задает DELAY в секундах. Fs является частотой дискретизации data. Если DELAY не является делимым обратной величиной частоты дискретизации, delayseq интерполирует, чтобы реализовать дробную задержку или усовершенствование data.

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

data

Вектор или матрица действительных или комплексных данных. Этот аргумент поддерживает одинарную и двойную точность.

DELAY

Сумма, которой можно задержать или усовершенствовать вход. Если вы задаете дополнительный аргумент Fs, DELAY находится в секундах; в противном случае DELAY находится в выборках. Этот аргумент поддерживает одинарную и двойную точность.

Fs

Частота дискретизации данных в герц. Если вы задаете этот аргумент, функция принимает, что DELAY находится в секундах. Этот аргумент поддерживает одинарную и двойную точность.

Значение по умолчанию: 1

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

shifted_data

Результат задержки или усовершенствования данных. shifted_data имеет одинаковое число строк как data с соответствующими усечениями или нулевым дополнением.

Примеры

свернуть все

Задержите сигнал косинуса целое число выборок.

fs = 1.0e4;
t = 0:1/fs:0.005;
signal = cos(2*pi*1000*t)';

Установите задержку с 0,5 мс или 5 выборок.

shifted_signal = delayseq(signal,0.5e-3,fs);

Постройте исходные и задержанные сигналы.

subplot(2,1,1)
plot(t.*1000,signal)
title('Input')
subplot(2,1,2)
plot(t.*1000,shifted_signal)
title('0.5-msec delay')
xlabel('msec')

Задержите сигнал косинуса на 1 кГц дробным количеством выборок. Примите уровень выборки 10 кГц.

fs = 1e4;
t = 0:1/fs:0.005;
signal = cos(2*pi*1000*t)';

Установите задержку с 0,25 мс или 2,5 выборки.

delayed_signal = delayseq(signal,0.25e-3,fs);

Постройте исходный (синий) сигнал, и задержал (красные) сигналы.

plot(t.*1000,signal)
title('Delayed Signal')
hold on
plot(t.*1000,delayed_signal,'r')
axis([0 5 -1.1 1.1])
xlabel('msec')
legend('Original Signal','Delayed Signal')
hold off

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

Расширенные возможности

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

Введенный в R2011a

Для просмотра документации необходимо авторизоваться на сайте