delayseq

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

Описание

пример

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

Как delayseq функция работает с data зависит от размерностей data и delay аргументы:

  • Когда delay скаляр, функция применяет ту же задержку с каждым столбцом data.

  • Когда delay вектор:

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

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

пример

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

Примеры

свернуть все

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

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

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

shifted_signal = delayseq(signal,5);

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

subplot(2,1,1)
plot(t.*1000,signal)
title('Input')
subplot(2,1,2)
plot(t.*1000,shifted_signal)
title('5 Sample 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

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

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

свернуть все

Входной сигнал в виде вектора длины-M с действительным знаком, вектора длины-M с комплексным знаком, M с действительным знаком-by-N матрица или M с комплексным знаком-by-N матрица.

M является количеством выборок в data. Когда data матрица, N является количеством независимых сигналов.

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

Задержка сигнала или усовершенствование в виде скалярного или действительного значения N - вектор длины. Если вы задаете fs аргумент, delay модули находятся в секундах. Когда delay скаляр, та же задержка применяется ко всем столбцам data. delay модули находятся в выборках если fs не задан и в секундах если fs задан.

Типы данных: single | double

Частота дискретизации сигнала в виде положительной скалярной величины. Модули находятся в Гц.

Типы данных: single | double

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

свернуть все

Задержанный или усовершенствованный сигнал, возвращенный как вектор длины-M с действительным знаком, вектор длины-M с комплексным знаком, M с действительным знаком-by-N матрица или M с комплексным знаком-by-N матрица. shifted_data имеет одинаковое число строк как data, с соответствующими усечениями или нулевым дополнением.

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

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

Введенный в R2011a