xwvd

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

Синтаксис

d = xwvd(x,y)
d = xwvd(x,y,fs)
d = xwvd(x,y,ts)
d = xwvd(___,'smoothedPseudo')
d = xwvd(___,'smoothedPseudo',twin,fwin)
d = xwvd(___,'smoothedPseudo','NumFrequencyPoints',nf)
d = xwvd(___,'MinThreshold',thresh)
[d,f,t] = xwvd(___)
xwvd(___)

Описание

пример

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 или креста сглаживала псевдо распределение 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));

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

wvd(x+y,fs)

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

xwvd(x,y,fs)

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

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))

Вычислите мгновенную частоту сигнала при помощи известного ссылочного сигнала и перекрестного распределения 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')

Вычислите перекрестное распределение 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)

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

d = w + c;

d = abs(real(d));

imagesc(tc,fc,d)
axis xy
colorbar

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

ff = tfridge(c,fc);

tv = sum(c)>0;

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

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

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

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

plot(tEst,fEst)

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

свернуть все

Входные сигналы, заданные как векторы или расписания 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 использует окна Kaiser с форм-фактором β = 20.

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

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

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

Пример: kaiser(65,0.5) задает окно Kaiser с 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, NJ: Prentice Hall, 1995.

[2] Mallat, Стефан. Тур вейвлета по обработке сигналов. Второй выпуск. Сан-Диего, CA: Academic Press, 1999.

[3] Malnar, Дамир, Виктор Сукик и Боуэлем Боушэш. "Перекрестные условия основанный на геометрии метод для компонентов мгновенная оценка частоты с помощью перекрестного распределения Wigner-Ville". На 11-й Международной конференции по вопросам Информатики, Обработки сигналов и их Приложений (ISSPA), стр 1217–1222. Montréal: IEEE®, 2012.

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

Функции

Введенный в R2018b