cwt

Непрерывное 1-D вейвлет

Эта версия cwt больше не рекомендуется. Использовать обновленный cwt вместо этого.

Синтаксис

coefs = cwt(x,scales,'wname')
coefs = cwt(x,scales,'wname','plot')
coefs = cwt(x,scales,'wname','coloration')
coefs = cwt(x,scales,'wname','coloration',xlim)
[coefs,sgram] = cwt(x,scales,'wname','scal')
[coefs,sgram] = cwt(x,scales,'wname','scalCNT')
[coefs,frequencies] = cwt(x,scales,wname, samplingperiod)
[coefs,sgram,frequencies] = cwt(x,scales,wname, samplingperiod,'scal')

Описание

coefs = cwt(x,scales,'wname') возвращает непрерывное вейвлет (CWT) действительного сигнала x. Вейвлет- преобразование вычисляется для заданных шкал с помощью анализирующего вейвлета wname. scales является вектором 1-D с положительными элементами. Вектор символов или строковый скаляр wname обозначает вейвлет, распознаваемый как wavemngr. coefs - матрица с количеством строк, равным длине scales и количество столбцов, равное длине входного сигнала. K-я строка coefs соответствует коэффициентам CWT для k-й элемент в векторе шкал.

coefs = cwt(x,scales,'wname','plot') строит графики коэффициентов непрерывного вейвлет с помощью coloration по умолчанию 'absglb'.

coefs = cwt(x,scales,'wname','coloration') использует указанную окраску. Дополнительные сведения о параметрах окраски см. в разделе «Дополнительные сведения».

coefs = cwt(x,scales,'wname','coloration',xlim) окрашивает коэффициенты, используя окрашивание и xlim, где xlim является вектором, [x1 x2], с 1 ≤ x1 <x2length(x).

[coefs,sgram] = cwt(x,scales,'wname','scal') возвращает и строит график скалограммы. 'scal' формирует график изображения скалограммы.

[coefs,sgram] = cwt(x,scales,'wname','scalCNT') отображение представления контура скалограммы.

[coefs,frequencies] = cwt(x,scales,wname, samplingperiod) возвращает частоты в циклах в модулях времени, соответствующих шкалам и анализирующему вейвлет wname. samplingperiod является положительным реальным скаляром. Если в единицах samplingperiod являются секундами, частоты указаны в герцах.

[coefs,sgram,frequencies] = cwt(x,scales,wname, samplingperiod,'scal') возвращает скалограмму и частоты, соответствующие шкалам и анализирующему вейвлет. Если у вас есть по крайней мере два элемента в scales, можно также использовать флаг 'scalCNT' для вывода скалограммы. The samplingperiod используется только в преобразовании шкал в частоты. Определение samplingperiod не влияет на внешний вид графиков, сгенерированных cwt.

Примеры

Постройте график непрерывного преобразования вейвлета и скалограммы с помощью вейвлета sym2 во всех целых числах шкал от 1 до 32, используя фрактальный сигнал как вход:

load vonkoch
vonkoch=vonkoch(1:510); 
len = length(vonkoch);
cw1 = cwt(vonkoch,1:32,'sym2','plot'); 
title('Continuous Transform, absolute coefficients.') 
ylabel('Scale')
[cw1,sc] = cwt(vonkoch,1:32,'sym2','scal');
title('Scalogram') 
ylabel('Scale')

Сравните дискретные и непрерывные вейвлет, используя фрактальный сигнал в качестве входных параметров:

load vonkoch 					
vonkoch=vonkoch(1:510);
len=length(vonkoch);
[c,l]=wavedec(vonkoch,5,'sym2');
% Compute and reshape DWT to compare with CWT.
cfd=zeros(5,len);
for k=1:5
    d=detcoef(c,l,k);
    d=d(ones(1,2^k),:);
    cfd(k,:)=wkeep(d(:)',len);
end
cfd=cfd(:);
I=find(abs(cfd) <sqrt(eps));
cfd(I)=zeros(size(I));
cfd=reshape(cfd,5,len);
% Plot DWT.
subplot(311); plot(vonkoch); title('Analyzed signal.');
set(gca,'xlim',[0 510]);
subplot(312); 
image(flipud(wcodemat(cfd,255,'row')));
colormap(pink(255));
set(gca,'yticklabel',[]);
title('Discrete Transform,absolute coefficients');
ylabel('Level');
% Compute CWT and compare with DWT
subplot(313);
ccfs=cwt(vonkoch,1:32,'sym2','plot');
title('Continuous Transform, absolute coefficients');
set(gca,'yticklabel',[]);
ylabel('Scale');

Подробнее о

свернуть все

Масштабные значения

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

Окраска

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

  • 'lvl' - использует максимальное значение в каждой шкале

  • 'glb' - использует максимальное значение во всех шкалах

  • 'abslvl' или 'lvlabs' - использует максимальное абсолютное значение в каждой шкале

  • 'absglb' или 'glbabs' - использует максимальное абсолютное значение во всех шкалах

  • 'scal' - создает масштабированное изображение скалограммы

  • 'scalCNT' - создает контурное представление скалограммы

Для 3-D графиков (поверхностей) используйте coloration параметру предшествует '3D', таких как   coefs = cwt(...,'3Dplot') или coefs = cwt(...,'3Dlvl') ...

Scalogram

Скалограммы являются графиками, которые представляют процентную энергию для каждого коэффициента.

Ссылки

Daubechies, I. Ten Lectures on Wavelets, Philadelphia, PA: Society for Industrial and Applied Mathematics (SIAM), 1992.

Mallat, S. A Wavelet Tour of Signal Processing, San Diego, CA: Academic Press, 1998.

Представлено до R2006a