2-1 连续小波变换程序

2-1是对分形数据进行墨西哥帽子小波变换,实现连续小波变换。程序文件列表,见表1。

表1    程序文件列表

文件 作用
Singularity_Detection.m 对已知信号进行墨西哥帽子变换
test.m
对分形数据vonkoch进行变换

源程序-Singularity_Detection.m

%某个尺度的连续小波变换的M函数

%	delta	小波变换的尺度
%	N		小波函数的长度
%	s		原始信号
%	g		原始信号某个尺度下的小波变换系数

function g= Siguarity_Detection(delta, N, s);

%	原始信号长度
n= length(s);
%	构造墨西哥帽子小波函数
for index_x= 1: N;
	x= index_x-(N-1)/2;
	phi_x(index_x)= ((pi^ (-1/4))*(2/sqrt(3)))*(1-x.*x/(delta^2))*exp(-(x.*x)/(2*delta^2));
end;
%	对信号做卷积
phi_x= phi_x/ norm(phi_x);	%	能量归一化	
g= conv(s,phi_x);	%	卷积
g= wkeep(g, n);		%	保持信号长度

源程序-test

%	多个尺度连续小波变换的实现
clc;clear
%	下载信号
load vonkoch
vonkoch= vonkoch(1: 510);
%	尺度1-32的连续小波变换
S_Min= 1;S_Max= 32;

index= 0;
for scale= S_Max:-1:S_Min;
	index= index+ 1;
	cwt_coef(index, :)= Singularity_Detection(scale, 32*(scale), vonkoch);
end

%	小波系数取模
cwtcoef_abs= abs(cwt_coef);
%	显示
for index= S_Min: S_Max
	max_coef= max(cwtcoef_abs(index, :));	%	系数模最大
	min_coef= min(cwtcoef_abs(index, :));	%	系数模最小
	ext= max_coef-min_coef;	%	系数模跨度
	cwtcoef_abs(index, :)= 64* (cwtcoef_abs(index, :)- min_coef)/ext;	%	系数大小变换
end

figure(1)

subplot(211);
plot(vonkoch);
xlabel('时间')
ylabel('幅度')
title('分形信号')
axis([1 510 0 0.02])

subplot(212)
colormap(pink(64));
image(cwtcoef_abs);
set(gca, 'YTick', 2:3:32);
xlabel('时间')
ylabel('尺度')

运行结果

2-1 连续小波变换程序_第1张图片

图1    运行结果

问题

1-墨西哥帽子小波:常用的连续小波,基本型为(1-t^2)*exp(-t^2/2),由于形状酷似墨西哥玉米片帽子得名,见图2

2-1 连续小波变换程序_第2张图片

图2    墨西哥帽子小波

2-wkeep函数:

            功能:提取时间序列中的一子列

            格式:y= wkeep(x, l, opt)

            说明:opt= 'c' 中间提取

                      opt= 'r' 右端提取

                      opt= 'l' 左端提取

            示例:

                    >> x = 1:10;

                    >> yc= wkeep(x,3,'c')

                    yc =

                             4     5     6

                    >> yr= wkeep(x,3,'r')

                    yr =

                             8     9    10

                    >> yl= wkeep(x,3,'l')

                    yl =

                             1     2     3

            程序中的作用:保持卷积后数据的长度不变

3-系数模大小变化作用:将数据归一化处理,便于colormap显示



你可能感兴趣的:(2-1 连续小波变换程序)