line source
% A test script for utils.math.blwhitenoise
%
% L. Ferraioli 18-11-08
%
% $Id: test_eigcsd.m,v 1.2 2009/06/10 16:12:06 luigi Exp $
%
%%
clear all
%%
% sampling frequency
fs = 10;
% higher bandwhidth frequency
fh = fs/2;
% lower bandwidth frequency
fl = 1e-3;
% number of data points
npts = 1e6;
% noise generation
wn = utils.math.blwhitenoise(npts,fs,fl,fh);
wnao = ao(tsdata(wn,fs));
% wnao.setNane('BLWN');
%% plot and statistics
iplot(wnao)
% Check histogram
wnao_hist = hist(wnao,plist('N',500,'Norm','true'));
wnao_norm = normdist(wnao,plist('N',500,'Norm','true'));
plpl = plist( ...
'Yscales', {'All','log'}, ...
'Legends', {'Histogram', 'Gaussian'});
iplot(wnao_hist,wnao_norm,plpl)
%% fft
WNf = fft(wnao);
iplot(WNf)
%% psd
% expected white noise at fs
f = [logspace(-5,fs/2,300)]';
expec = ao(plist('fsfcn', 'ones(size(f))', 'f', f));
expec = expec.*(2/fs);
WNxx = psd(wnao,plist('order',-1,'nfft',1e4));
iplot(WNxx,expec)
%% compare randn
aa = ao(plist('tsfcn', 'randn(size(t))', 'fs', fs, 'nsecs', 1e5));
iplot(wnao)
% Check histogram
aa_hist = hist(aa,plist('N',500,'Norm','true'));
aa_norm = normdist(aa,plist('N',500,'Norm','true'));
plpl = plist( ...
'Yscales', {'All','log'}, ...
'Legends', {'Histogram', 'Gaussian'});
iplot(aa_hist,aa_norm,plpl)