Mercurial > hg > ltpda
view m-toolbox/test/test_ao_sineParams.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 source
% Test ao/sineParams % % M Nofrarias 10-02-10 % % $Id: test_ao_sineParams.m,v 1.2 2010/02/18 11:17:59 miquel Exp $ clear % general parameters fs = 5; nsecs =500; %% one sinusoid % signal parameters A1 = 1.23456; f1 = 0.1; sigma = 0.01; % AOs pl = plist('waveform','sine','f',f1,'A',A1,'fs',fs,'nsecs',nsecs); a = ao(pl); a.setName('signal 1') pl = plist('waveform','noise','sigma',sigma,'fs',fs,'nsecs',nsecs); c = ao(pl); c.setName('noise') % sum contributions d = a + c; d.iplot % get parameters pl = plist('N',1); p = sineParams(d,pl); % compare with contributions % bb = eval(p,plist('index',1)); % iplot(b,bb) aa = eval(p,plist('index',1)); residual = aa-a; residual.setName iplot(aa,a,residual) %% one sinusoid montecarlo % signal parameters A1 = 1.5; f1 = 0.12; for i = 1:100 fprintf('iteration %d\n',i); sigma(i) = 0.01; % AOs pl = plist('waveform','sine','f',f1,'A',A1,'fs',fs,'nsecs',nsecs); a = ao(pl); a.setName('signal 1'); pl = plist('waveform','noise','sigma',sigma(i),'fs',fs,'nsecs',nsecs); c = ao(pl); c.setName('noise'); % sum contributions d = a + c; % d.iplot % get parameters pl = plist('N',1); p(i) = sineParams(d,pl); A(i) = p(i).y(1); dA(i) = p(i).dy(1); f(i) = p(i).y(2); df(i) = p(i).dy(2); % compare with contributions % bb = eval(p,plist('index',1)); % iplot(b,bb) aa = eval(p(i),plist('index',1)); residual = aa-a; residual.setName; end % compare mean(MSE) with computed Var + bias^2 predicted_A = sqrt(std(A)^2 + (mean(A)-A1)^2) computed_A = mean(dA) predicted_f = sqrt(std(f)^2 + (mean(f)-f1)^2) computed_f = mean(df) %% two sinusoid % signal parameters A1 = 2.2; f1 = 0.1; A2 = 4.5; f2 = 0.33; sigma = 0.02; % AOs pl = plist('waveform','sine','f',f1,'A',A1,'fs',fs,'nsecs',nsecs); a = ao(pl); a.setName('signal 1') pl = plist('waveform','sine','f',f2,'A',A2,'fs',fs,'nsecs',nsecs); b = ao(pl); b.setName('signal 2') pl = plist('waveform','noise','sigma',sigma,'fs',fs,'nsecs',nsecs); c = ao(pl); c.setName('noise') % sum contributions d = a + b + c; % d.iplot % get parameters pl = plist('N',2); p = sineParams(d,pl); aa = eval(p,plist('index',1)); % compare with contributions bb = eval(p,plist('index',1)); residual = bb-b; residual.setName iplot(bb,b,residual) aa = eval(p,plist('index',2)); residual = aa-a; residual.setName iplot(aa,a,residual)