xwvd

Кросс-распределение Wigner-Ville и кросс-сглаженное псевдо распределение Wigner-Ville

Описание

пример

d = xwvd(x,y) возвращает кросс-распределение Wigner-Ville x и y.

пример

d = xwvd(x,y,fs) возвращает кросс-распределение Wigner-Ville, когда x и y дискретизируются со скоростью fs.

d = xwvd(x,y,ts) возвращает кросс-распределение Wigner-Ville, когда x и y дискретизируются с временным интервалом ts между выборками.

d = xwvd(___,'smoothedPseudo') возвращает кросс-сглаженное псевдо распределение Wigner-Ville x и y. Функция использует длину входных сигналов, чтобы выбрать длины окон, используемых для сглаживания во времени и частоте. Этот синтаксис может включать любую комбинацию входных параметров из предыдущих синтаксисов.

d = xwvd(___,'smoothedPseudo',twin,fwin) определяет временное окно, twinи частотное окно, fwin, используется для сглаживания. Чтобы использовать окно по умолчанию для сглаживания времени или частоты, укажите соответствующий аргумент как пустой [].

d = xwvd(___,'smoothedPseudo','NumFrequencyPoints',nf) вычисляет кросс-сглаженное псевдо распределение Wigner-Ville с помощью nf частотные точки. Можно задать twin и fwin в этом синтаксисе, или можно их опустить.

d = xwvd(___,'MinThreshold',thresh) устанавливает, чтобы нуль эти элементы d амплитуда которого меньше thresh. Этот синтаксис применим как к кросс-распределению Wigner-Ville, так и к кросс-сглаженному псевдо распределению Wigner-Ville.

[d,f,t] = xwvd(___) также возвращает вектор частот, fи вектор времени, t, при котором d вычисляется.

пример

xwvd(___) без выходных аргументов строит график вещественной части креста Вигнер-Вилле или кросс-сглаженному псевдо распределению Wigner-Ville в текущую фигуру.

Примеры

свернуть все

Сгенерируйте два сигнала, дискретизированных на частоте 1 кГц в течение 1 секунды и встроенных в белый шум. Один сигнал является синусоидой частоты 150 Гц. Другой сигнал является щебетом, частота которого изменяется синусоидально между 200 Гц и 400 Гц. Шум имеет отклонение 0.12.

fs = 1000;
t = (0:1/fs:1)';

x = cos(2*pi*t*150) + 0.1*randn(size(t));
y = vco(cos(3*pi*t),[200 400],fs) + 0.1*randn(size(t));

Вычислите распределение Вигнера-Вилля суммы сигналов.

wvd(x+y,fs)

Figure contains an axes. The axes with title Wigner-Ville Distribution contains an object of type image.

Вычислите и постройте график кросс-распределения Wigner-Ville сигналов. Перекрестное распределение соответствует перекрестным терминам распределения Вигнера-Вилля.

xwvd(x,y,fs)

Figure contains an axes. The axes with title Cross Wigner-Ville Distribution contains an object of type image.

Сгенерируйте двухканальный сигнал, который состоит из двух щебетаний. Дискретизация сигнала производится на частоте 3 кГц в течение одной секунды. Первый щебет имеет начальную частоту 400 Гц и достигает 800 Гц в конце дискретизации. Второй щебет начинается с 500 Гц и достигает 1000 Гц в конце. Второй щебет имеет удвоенную амплитуду первого щебета.

fs = 3000;
t = (0:1/fs:1-1/fs)';

x1 = chirp(t,1400,t(end),800);
x2 = 2*chirp(t,200,t(end),1000);

Сохраните сигнал как расписание. Вычислите и постройте график кросс-распределения Wigner-Ville двух каналов.

xt = timetable(seconds(t),x1,x2);

xwvd(xt(:,1),xt(:,2))

Figure contains an axes. The axes with title Cross Wigner-Ville Distribution contains an object of type image.

Вычислите мгновенную частоту сигнала с помощью известного опорного сигнала и кросс-распределения Wigner-Ville.

Создайте опорный сигнал, состоящую из Гауссова атома, выбранного с частотой 1 кГц в течение 1 секунды. Гауссов атом - синусоида, модулируемая Гауссовым. Задайте синусоидальную частоту 50 Гц. Гауссов с центром 64 миллисекунды и имеет отклонение 0.012.

fs = 1e3;
t = (0:1/fs:1-1/fs)';

mu = 0.064;
sigma = 0.01;
fsin = 50;

xr = exp(-(t-mu).^2/(2*sigma^2)).*sin(2*pi*fsin*t);

Создайте «неизвестный» сигнал для анализа, состоящий из щебета. Сигнал запускается внезапно в 0,4 секунды и заканчивается внезапно через полсекунды. В этом случае частота щебета линейно уменьшается с 400 Гц до 100 Гц.

f0 = 400;
f1 = 100;

xa = zeros(size(t));
xa(t>0.4 & t<=0.9) = chirp((0:1/fs:0.5-1/fs)',f0,0.5,f1);

Создайте двухкомпонентный сигнал, состоящий из суммы неизвестных и опорных сигналов. Сглаженное псевдо распределение Wigner-Ville результата обеспечивает «идеальное» представление частота-время.

Вычислите и отобразите сглаженное псевдо распределение Wigner-Ville.

w = wvd(xa+xr,fs,'smoothedPseudo');

wvd(xa+xr,fs,'smoothedPseudo')

Figure contains an axes. The axes with title Smoothed Pseudo Wigner-Ville Distribution contains an object of type image.

Вычислите кросс-распределение Wigner-Ville неизвестных и опорных сигналов. Возьмем абсолютное значение распределения и установим, чтобы нуль элементы с амплитудой менее 10. Кросс-распределение Wigner-Ville равно перекрестным терминам двухкомпонентного сигнала.

Постройте график действительной части кросс-распределения Wigner-Ville.

[c,fc,tc] = xwvd(xa,xr,fs);
c = abs(c);
c(c<10) = 0;

xwvd(xa,xr,fs)

Figure contains an axes. The axes with title Cross Wigner-Ville Distribution contains an object of type image.

Улучшите перекрестные условия Вигнера-Вилля, добавив идеальное представление временной частоты к кросс-распределению Wigner-Ville. Перекрестные условия распределения Вигнера-Вилля происходят на полпути между опорным сигналом и неизвестным сигналом.

d = w + c;

d = abs(real(d));

imagesc(tc,fc,d)
axis xy
colorbar

Figure contains an axes. The axes contains an object of type image.

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

ff = tfridge(c,fc);

tv = sum(c)>0;

ff = ff(tv);
tc = tc(tv);

hold on
plot(tc,ff,'r--','linewidth',2)
hold off

Figure contains an axes. The axes contains 2 objects of type image, line.

Восстановите мгновенную частоту неизвестного сигнала с помощью гребня и функции ссылки. Постройте график мгновенной частоты как функцию времени.

tEst = 2*tc - mu;
fEst = 2*ff - fsin;

plot(tEst,fEst)

Figure contains an axes. The axes contains an object of type line.

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

свернуть все

Входные сигналы, заданные как векторы или MATLAB® каждый из расписаний содержит одну векторную переменную. x и y оба должны быть векторами или оба должны быть расписаниями и иметь одинаковую длину.

Если входные сигналы имеют нечетную длину, функция добавляет нуль, чтобы сделать длину чётной.

Пример: cos(pi/8*(0:159))'+randn(160,1)/10 задает синусоиду, встроенную в белый шум.

Пример: timetable(seconds(0:5)',rand(6,1)) задает случайную переменную, дискретизированную с частотой дискретизации 1 Гц в течение 4 секунд.

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

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

Шаг расчета, заданный как duration скаляр.

Временные и частотные окна, используемые для сглаживания, задаются как векторы нечетной длины. По умолчанию, xwvd использует окна Кайзера с масштабным фактором β = 20.

  • Длина по умолчанию twin - наименьшее нечетное целое число, больше или равное round(length(x)/10).

  • Длина по умолчанию fwin - наименьшее нечетное целое число, больше или равное nf/4.

Каждое окно должно иметь длину, меньшую или равную 2 *ceil(length(x)/2).

Пример: kaiser(65,0.5) задает 65-образцевое окно Кайзера с масштабным фактором 0,5.

Количество частотных точек, заданное в виде целого числа. Этот аргумент контролирует степень избыточной дискретизации по частоте. Количество частотных точек должно быть как минимум (length(fwin)+1)/2 и не может быть больше значения по умолчанию.

Минимальное ненулевое значение, заданное как действительный скаляр. Функция устанавливает, чтобы нуль эти элементы d амплитуды которых меньше thresh.

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

свернуть все

Кросс-распределение Wigner-Ville, возвращенное как матрица. Время увеличивается по столбцам d, и частота увеличивается вниз по строкам. Матрица имеет размер N  f × N t, где N f - длина f и N t - длина t.

Частоты, возвращенные как вектор.

  • Если вход имеет информацию о времени, то f содержит частоты, выраженные в Гц.

  • Если на входе нет временной информации, то f содержит нормированные частоты, выраженные в рад/выборке.

Момент времени, возвращенный как вектор.

  • Если вход имеет информацию о времени, то t содержит значения времени, выраженные в секундах.

  • Если на входе нет временной информации, то t содержит номера образцов.

Количество временных точек фиксируется как 4 *ceil(length(x)/2).

Подробнее о

свернуть все

Кросс-распределение Wigner-Ville

Для непрерывных сигналов x (t) и y (t), кросс-распределение Wigner-Ville определяется как

XWVDx,y(t,f)=x(t+τ2)y*(tτ2)ej2πfτdτ.

Для дискретного сигнала с N выборками распределение становится

XWVDx,y(n,k)=m=NNx(n+m/2)y*(nm/2)ej2πkm/N.

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

Кросс-распределение Wigner-Ville содержит интерференционные термины, которые часто усложняют его интерпретацию. Чтобы заточить распределение, можно фильтровать определение с помощью lowpass окон. Для сглаживания по времени и частоте кросс-сглаженного псевдо распределения Wigner-Ville использует независимые окна:

XSPWVDx,yg,H(t,f)=g(t)H(f)x(t+τ2)y*(tτ2)ej2πfτdτ.

Ссылки

[1] Коэн, Леон. Частотно-временной анализ: теория и приложения. Englewood Cliffs, Нью-Джерси: Prentice Hall, 1995.

[2] Маллат, Стефан. A Вейвлета экскурсия по обработке сигналов. Второе издание. Сан-Диего, Калифорния: Академическая пресса, 1999.

[3] Малнар, Дамир, Виктор Сучич и Буалем Боашаш. Метод, основанный на перекрестной геометрии для мгновенной оценки частоты компонентов с использованием кросс-распределения Wigner-Ville. 11-я Международная конференция по информационным наукам, обработке сигналов и их применениям (ISSPA), стр. 1217-1222. Монреаль: IEEE®, 2012.

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

.

См. также

Функции

Введенный в R2018b