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 или кросс-сглаженного псевдо распределения 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 окна Кайзера использования с масштабным фактором β = 20.

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

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

Каждое окно должно иметь длину, меньшую, чем или равный 2*ceilдлина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длина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