请教:连续小波变换和小波脊的提取
在一系列尺度的cwt之后,把变换后系数的绝对值在时频面上,也就是时间——尺度面上画出来,很明显,在特定的频率(尺度)上,有脊的出现,如果是频率不随时间变化,识别的效果很好,但是频率如果是变化的,就会出现识别和实际值很不符的情况,变化趋势是一样的,但是结果大不相同有谁是做过小波脊提取的,教教我如何正确提取
我把我的程序贴出来,大家看看,时不变的系统是可以现实的
%多脊提取clear
clc
SampFreq = 100;
T=20; %总的采样时间长度
% x=1/SampFreq:1/SampFreq:20;%原理想信号
% sig=exp(-0.045*x).*cos(2*pi*1.5*x+pi)+exp(-0.098*x).*cos(2*pi*1.0*x+pi/2);
a=1;
for x=1/SampFreq:1/SampFreq:T;
if x<10
sig(a)=1000*sin(2*pi*x*(1.5));
else
sig(a)=1000*sin(2*pi*x*(1.5+0.05*(x-10)));
end
a=a+1;
end
%加噪
% sig=sig';
% noise=randn(1,200);
% noise=noise';
% dB=20;
% sig=sigmerge(sig,noise,dB);
% sig=sig';
fmax = 0.5; % 最高分析频率(归一化频率)
fmin = 0.005; % 最低分析频率(归一化频率)
fb = 4 ; % 取cmor4-2小波进行实验,带宽参数为4
fc = 2; % 中心频率2Hz
totalscal =512*2 ; % 所取尺度的数目
FreqBins = linspace(fmin,fmax,totalscal); % 将频率轴在分析范围内等间隔划分
Scales = fc./ FreqBins; % 计算相应的尺度参数
RealFreqBins = FreqBins * SampFreq; % 尺度所对应的实际频率
swd=cwt(sig,Scales,'cmor4-2');
swd=abs(swd);
x=1/SampFreq:1/SampFreq:T;
mesh(x,RealFreqBins,swd);
axis();
colormap jet;
shading interp;
colorbar;
页:
[1]