вес

Непрерывный вейвлет преобразовывает с набором фильтров

Синтаксис

cfs = wt(fb,x)
[cfs,f] = wt(fb,x)
[cfs,f,coi] = wt(fb,x)
[cfs,f,coi,scalcfs] = wt(fb,x)
[cfs,p] = wt(fb,x)
[cfs,p,coi] = wt(fb,x)
[cfs,p,coi,scalcfs] = wt(fb,x)

Описание

пример

cfs = wt(fb,x) возвращает коэффициенты непрерывного вейвлета преобразовывает (CWT) x сигнала, с помощью набора фильтров CWT fb. x является действительной двойной точностью - или комплексный вектор. x должен иметь по крайней мере 4 выборки. Если x с действительным знаком, cfs является 2D матрицей, где каждая строка соответствует одной шкале. Размер столбца cfs равен длине x. Если x с комплексным знаком, cfs является 3-D матрицей, где первой страницей является CWT для положительных шкал (аналитическая часть или против часовой стрелки компонент), и вторая страница является cwt для отрицательных шкал (антианалитическая часть или по часовой стрелке компонент).

[cfs,f] = wt(fb,x) возвращает частоты, f, соответствуя шкалам (строки) cfs, если свойство SamplingPeriod не задано в наборе фильтров CWT fb. Если вы не задаете частоту дискретизации, f находится в циклах/выборке.

[cfs,f,coi] = wt(fb,x) возвращает конус влияния, coi для CWT. coi находится в тех же модулях как f. Если вход x является комплексным, coi применяется к обеим страницам cfs.

пример

[cfs,f,coi,scalcfs] = wt(fb,x) возвращает масштабные коэффициенты, scalcfs для вейвлета преобразовывают, если вейвлетом анализа является 'Morse' или 'amor'. Масштабные коэффициенты не поддержаны для вейвлета удара.

[cfs,p] = wt(fb,x) возвращает периоды, p, соответствуя шкалам (строки) cfs, если вы задаете период выборки в наборе фильтров CWT, fb. p имеет те же модули и формат как скаляр длительности выборка периода.

[cfs,p,coi] = wt(fb,x) возвращает конус влияния coi в периоды для CWT. coi является массивом длительности с тем же свойством формата как период выборки. Если вход x является комплексным, coi применяется к обеим страницам cfs.

[cfs,p,coi,scalcfs] = wt(fb,x) возвращает масштабные коэффициенты, scalcfs, поскольку вейвлет преобразовывает, если вейвлетом анализа является 'Morse' или 'amor'. Масштабные коэффициенты не поддержаны для вейвлета удара.

Примеры

свернуть все

Загрузите сигнал с действительным знаком. Создайте набор фильтров CWT, который может быть применен к сигналу.

load noisdopp.mat
sig = noisdopp;
fb = cwtfilterbank('SignalLength',numel(sig));

Используйте набор фильтров, чтобы получить непрерывное преобразование вейвлета сигнала.

cfs = wt(fb,sig);

Создайте и постройте сигнал, выбранный на уровне 1 000 Гц. Создайте набор фильтров CWT, который может использоваться на сигнале. Поскольку сигнал является периодическим, установите граничное дополнительное свойство набора фильтров к 'periodic'.

Fs = 1000;
t = 0:1/Fs:1-1/Fs;
sig = 3*sin(2*pi*20*t)+cos(2*pi*2*t);
fb = cwtfilterbank('SignalLength',length(sig),'SamplingFrequency',Fs,'Boundary','periodic');
plot(t,sig)
xlabel('Time (sec)')
title('Signal')

Возьмите CWT сигнала. Возвратите вейвлет и масштабные коэффициенты.

[cfs,~,~,scalcfs] = wt(fb,sig);

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

xrec0 = icwt(cfs,'SignalMean',mean(sig));
xrec1 = icwt(cfs,'ScalingCoefficients',scalcfs);
plot(t,sig-xrec0)
hold on
plot(t,sig-xrec1)
grid on
legend('Using mean(sig)','Using scalcfs')
title('Difference Between Reconstructions')

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

figure
sig2hz = cos(2*pi*2*t);
plot(t,sig2hz)
hold on
plot(t,scalcfs)
grid on
title('Comparing Scaling Coefficients with 2 Hz Component')
xlabel('Time (sec)')
legend('2 Hz Component', 'Scaling Coefficients')

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

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

свернуть все

Набор фильтров непрерывного вейвлета преобразовывает (CWT), заданный как объект cwtfilterbank.

Входной сигнал, заданный как действительное с двойной точностью - или комплексный вектор. x должен иметь по крайней мере четыре выборки.

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

свернуть все

Непрерывный вейвлет преобразовывает, возвращенный как матрица комплексных чисел. Если x с действительным знаком, cfs является 2D матрицей, где каждая строка соответствует одной шкале. Размер столбца cfs равен длине x. Если x с комплексным знаком, cfs является 3-D матрицей, где первой страницей является CWT для положительных шкал (аналитическая часть или против часовой стрелки компонент), и второй страницей является CWT для отрицательных шкал (антианалитическая часть или по часовой стрелке компонент).

Частоты, возвращенные как вектор, соответствуя шкалам (строки) cfs, если 'SamplingPeriod' не задан в fb. Если вы задаете частоту дискретизации, f находится в герц. Если вы не задаете частоту, f находится в циклах/выборке.

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

Периоды, возвращенные как массив длительности, соответствуя шкалам (строки) cfs, если вы задаете период выборки в fb. p имеет те же модули и формат как скаляр длительности выборка периода.

Типы данных: duration

Конус влияния за CWT, возвращенный или как массив, удваивается или как массив длительности. Конус влияния указывает, где краевые эффекты происходят в CWT. Если вы задаете частоту дискретизации, coi является массивом, удваивается в тех же модулях как f. Если вы задаете период выборки, coi является массивом длительности с тем же свойством формата как период выборки. Из-за краевых эффектов, верьте меньше к областям, которые являются снаружи или перекрывают конус влияния.

Для получения дополнительной информации смотрите Граничные эффекты и Конус Влияния.

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

Масштабные коэффициенты для вейвлета преобразовывают, возвращенный как вектор с длиной, равной длине x. Если x с действительным знаком, scalcfs с действительным знаком. Если x с комплексным знаком, scalcfs с комплексным знаком.

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

Введенный в R2018a