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