Wavelab for scilab

WaveLabをScilabで試してみた。

インストールは特に必要ない。

Wavelab for scilab
http://www.scilab.org/contrib/index_contrib.php?page=displayContribution&fileID=934
をダウンロードし、展開。
Scilabを実行し、

exec loader.sce

とすると、Wavelabが組み込まれる。

実行例

//デモ用信号生成
sig = MakeSignal('Doppler',256);

//CWT実行
nvoice=12;
oct = 2;
scale = 4;
obj1 = CWT( sig, nvoice, 'Morlet',oct,scale);


//軸のラベルを生成
[n nscale] = size(obj1);
xtix   = linspace(0,n,n);
ytix   = linspace(1+(oct-floor(log2(scale))),log2(n)-oct,nscale);
skipx = floor(length(xtix)/8);
skipy = floor(length(ytix)/nvoice);

ha = gca();
ha.axes_visible="on";

def=format();
format('v',5);
ha.x_ticks=tlist(['ticks' 'locations' 'labels'],1:skipx:length(xtix),string(xtix(1:skipx:$))); 
ha.y_ticks=tlist(['ticks' 'locations' 'labels'],1:skipy:length(ytix),string(ytix(1:skipy:$))); 

tmp=['v','e'];
format(tmp(def(1)),def(2));

//画像化
subplot(211);
ImageCWT(obj1, 'Overall', 'jetcolormap(256)')

subplot(212)
plot2d(sig);

ImageCWTがあまり良くないので、いずれ自作しようと思う。