|
楼主 |
发表于 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([min(x) max(x) min(RealFreqBins) max(RealFreqBins)]);
colormap jet;
shading interp;
colorbar; |
|