|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
我目前正在研究如何用小波得到非平稳信号的瞬时频率。我大致读了“Wavelet Tour of signal processing”这本书的4.3和4.4节。为了测试解析小波,我做了一个简单的例子。我用了WAVELAB工具箱提供的AWT函数。然而,测试结果和预期相距甚远。下面是我的matlab代码:
////////////////////////////MATLAB PROGRAM/////////////////////////////////////////////////////////
t=1/800:1/800:1;
s=sin(2*pi*50*t)+sin(2*pi*100*t); %the signal has a duration of 1 sec, with 800 sample rate, and with two frequency elements, 50 and 100%
awt = AWT(s); %analytic wavelet transform with default voice number of 12%
%set and figure out the scalogram of signal s%
delta = 1/15;
unit = (1-3*delta)/3;
h3 = [1.5*delta delta 1-2.5*delta 2*unit];
h2 = [delta 2*(unit+delta) 1-2*delta 2*unit];
h1 = [delta 4*unit+3*delta 1-2*delta unit];
h0 = [delta delta 1-2*delta 1-2*delta];
sz = size(awt);
logawt = awt';
linawt = log2linChap4(flipud(logawt),12);
figure(1);clf
set(gcf, 'NumberTitle','off', 'Name','Window 1')
axes('position',h3);
ImageAWTnew(linawt','Overall','gray','lin');
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
以上的代码是我参照WAVELAB提供的“Wavelet Tour of signal processing”这本书的参考代码写的,这个参考代码就是图4.16的matlab仿真,参考代码叫做wt04fig16.m可以在wavelab850\\Books\WaveTour\WTCh04 目录中找到。 下面贴出结果:
从图中可以看出,小波系数的大部分能量集中在80hz和160hz左右,而不是预想的50hz和100hz。请问谁能告诉我这个代码有什么问题吗?还是AWT这个函数有问题呢?
谢谢大家! |
|