exponenta event banner

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' для вывода скалограммы. samplingperiod используется только при преобразовании шкал в частоты. Определение samplingperiod не влияет на внешний вид графиков, созданных cwt.

Примеры

Постройте график непрерывного вейвлет-преобразования и скалограммы с использованием сим2-вейвлета при всех целых шкалах от 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. Десять лекций по вейвлетам, Филадельфия, Пенсильвания: Общество промышленной и прикладной математики (SIAM), 1992.

Маллат, S. Wavelet Tour of Signal Processing, Сан-Диего, Калифорния: Академическая пресса, 1998.

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