xuxinnuaa 发表于 2009-3-29 20:40

请教:连续小波变换和小波脊的提取

在一系列尺度的cwt之后,把变换后系数的绝对值在时频面上,也就是时间——尺度面上画出来,很明显,在特定的频率(尺度)上,有脊的出现,如果是频率不随时间变化,识别的效果很好,但是频率如果是变化的,就会出现识别和实际值很不符的情况,变化趋势是一样的,但是结果大不相同
有谁是做过小波脊提取的,教教我如何正确提取

xuxinnuaa 发表于 2009-3-29 20:41

我把我的程序贴出来,大家看看,时不变的系统是可以现实的

%多脊提取
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]
查看完整版本: 请教:连续小波变换和小波脊的提取