Mercurial > hg > ltpda
diff m-toolbox/test/test_ao_gapfilling.m @ 0:f0afece42f48
Import.
author | Daniele Nicolodi <nicolodi@science.unitn.it> |
---|---|
date | Wed, 23 Nov 2011 19:22:13 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/m-toolbox/test/test_ao_gapfilling.m Wed Nov 23 19:22:13 2011 +0100 @@ -0,0 +1,114 @@ +% A test script for the gapfilling method +% +% J Sanjuan 28-01-08 +% +% $Id: test_ao_gapfilling.m,v 1.3 2009/02/02 15:20:38 hewitson Exp $ +% +function test_ao_gapfilling() + + % Make test AOs + % stationary data + nsecs = 1e4; + fs = 1; + + pl = plist(); + pl.append('nsecs', nsecs); + pl.append('fs', fs); + pl.append('tsfcn', 'randn(size(t))'); + + a1 = ao(pl); + a1.setName('a1'); + %a1.setX(1:1e4); + + %a1x = ao(pl); + %a1x.setName('a1x'); + %a1x.setX(1e4+1:2e4); + + % non-stationary data + pl = plist(); + pl.append('nsecs', nsecs); + pl.append('fs', fs); + pl.append('tsfcn', '0.001*t+randn(size(t))'); + + a2 = ao(pl); + a2.setName('a2'); + + % non-stationary data (ii) + pl = plist(); + pl.append('nsecs', nsecs); + pl.append('fs', fs); + pl.append('tsfcn', 'exp(t/2.5e3)+randn(size(t))'); + + a3 = ao(pl); + a3.setName('a3'); + + % Split by time the previous data + + pl = plist('split_type', 'times', 'times', [0.0 6000.0 6000.0 8999 8999 1e4]); + + ao_new = split(a1, pl); + + %times = [0 6000 6000 8999 8999 1e4]; + + %pl = plist('times', times); + + b = split(a1, pl); + + Ta_stat = b(1); + Ta_stat.setX(1:6000); + + Tc_stat = b(3); + Tc_stat.setX(9000:1e4); + + clear b + + b = split(a2, pl); + + Ta_nonstat = b(1); + Ta_nonstat.setX(1:6000); + + Tc_nonstat = b(3); + Tc_nonstat.setX(9000:1e4); + + clear b + + b = split(a3, pl); + + Tx = b(1); + Tx.setX(1:6000); + + Ty = b(3); + Ty.setX(9000:1e4); + + % Use gapfilling + % parameters list + pl = plist('method', 'spline'); + pl = plist('addnoise', 'yes'); + + % stationary data, a1 + a1_refilled = gapfilling(Ta_stat, Tc_stat) % default parmeters + a1_refilled_spline = gapfilling(Ta_stat, Tc_stat, pl); % using pl + + % non-stationary data, a2 + a2_refilled = gapfilling(Ta_nonstat, Tc_nonstat) % default parmeters + a2_refilled_spline = gapfilling(Ta_nonstat, Tc_nonstat, pl); % using pl + + % non-stationary data, a3 + a3_refilled = gapfilling(Tx, Ty) % default parmeters + a3_refilled_spline = gapfilling(Tx, Ty, pl); % using pl + + % Plotting + iplot(a1, a1_refilled, a1_refilled_spline); + iplot(a2, a2_refilled, a2_refilled_spline); + iplot(a3_refilled, a3_refilled_spline); + + % plot history for a1 + plot(a1_refilled.hist) + + % Reproduce from history + a_out = rebuild(a1_refilled); + a_out2 = rebuild(a2_refilled); + + iplot(a_out); + +end