exponenta event banner

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-й столбец 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')

Figure contains 2 axes. Axes 1 with title Input contains an object of type line. Axes 2 with title 5 Sample Delay contains an object of type line.

Задержка косинусного сигнала 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

Figure contains an axes. The axes with title Delayed Signal contains 2 objects of type line. These objects represent Original Signal, Delayed Signal.

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

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

свернуть все

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

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

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

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

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

Частота дискретизации сигнала, заданная как положительный скаляр. Единицы измерения в Гц.

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

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

свернуть все

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

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

.
Представлен в R2011a