diff m-toolbox/test/test_ao_smoother.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_smoother.m	Wed Nov 23 19:22:13 2011 +0100
@@ -0,0 +1,106 @@
+% TEST_AO_SMOOTHER a test function the AO method smoother.
+%
+% M Hewitson 02-03-08
+%
+% $Id: test_ao_smoother.m,v 1.8 2009/02/02 15:20:38 hewitson Exp $
+%
+function test_ao_smoother
+
+
+  % ------------- Frequency data smoothing ---------------------------------
+
+
+  % Make some test data
+
+  nsecs = 5000;
+  fs    = 10;
+
+  p1 = pz(0.01, 1);
+  z1 = pz(0.2);
+  gain =1;
+
+  pzm = pzmodel(gain, p1, z1);
+  % calling the noisegenerator
+  a1 = fngen(pzm, plist('Nsecs', nsecs));
+  a1.setYunits('V');
+  a1.setXunits('s');
+  a1.setName('noise');
+  a2 = ao(plist('tsfcn', '0.003.*sin(2*pi*0.65*t) + 0.001.*sin(2*pi*3*t)', 'fs', a1.data.fs, 'nsecs', nsecs));
+  a2.setName('signal');
+  a3 = a1 + a2;
+
+  % parameter list for lpsd
+  pl = plist(...
+    'Kdes', 100, ...
+    'Kmin', 2, ...
+    'Jdes', 500, ...
+    'Win', specwin('Kaiser', 10, 150), ...
+    'Order', 1);
+
+  %  Make spectrum
+  a3xx = psd(a3, plist('Nfft', 1000*fs));
+
+
+  % Median Smooth both
+
+  pl = plist('width', 100, 'hc', 0.7, 'method', 'median');
+  a3s = smoother(a3, pl);
+  pl = plist('width', 30, 'hc', 0.8, 'method', 'median');
+  a3xxs = smoother(a3xx, pl);
+
+  % Plot
+  pl = plist('Legends', {'', 'median'});
+  iplot(a3, a3s, pl)
+  iplot(a3xx, a3xxs, pl)
+
+  % Mean smooth
+
+
+  pl = plist('width', 100, 'hc', 0.7, 'method', 'mean');
+  a3s = smoother(a3, pl);
+  pl = plist('width', 20, 'hc', 0.8, 'method', 'mean');
+  a3xxs = smoother(a3xx, pl);
+
+  % Plot
+  pl = plist('Legends', {'', 'mean'});
+  iplot(a3, a3s, pl)
+  iplot(a3xx, a3xxs, pl)
+
+  % Max smooth
+
+  pl = plist('width', 1000, 'hc', 0.7, 'method', 'max');
+  a3s = smoother(a3, pl);
+  pl = plist('width', 20, 'hc', 0.8, 'method', 'max');
+  a3xxs = smoother(a3xx, pl);
+
+  % Plot
+  pl = plist('Legends', {'', 'max'});
+  iplot(a3, a3s, pl)
+  iplot(a3xx, a3xxs, pl)
+
+  % Min smooth
+
+  pl = plist('width', 1000, 'hc', 0.7, 'method', 'min');
+  a3s = smoother(a3, pl);
+  pl = plist('width', 20, 'hc', 0.8, 'method', 'min');
+  a3xxs = smoother(a3xx, pl);
+
+  % Plot
+  pl = plist('Legends', {'', 'min'});
+  iplot(a3, a3s, pl)
+  iplot(a3xx, a3xxs, pl)
+
+  % Mode smooth
+
+  pl = plist('width', 1000, 'hc', 0.7, 'method', 'mode');
+  a3s = smoother(a3, pl);
+  pl = plist('width', 20, 'hc', 0.8, 'method', 'mode');
+  a3xxs = smoother(a3xx, pl);
+
+  % Plot
+  pl = plist('Legends', {'', 'mode'});
+  iplot(a3, a3s, pl)
+  iplot(a3xx, a3xxs, pl)
+
+
+end
\ No newline at end of file