Upload
jaime-boutwell
View
216
Download
0
Tags:
Embed Size (px)
Citation preview
A synthetic noise generator
M. Hueller
LTPDA meeting, AEI Hannover 27/04/2007
2
Purpose
Simulate noise data with given continuous spectrum
Choose between input the model parameters (developing and
modeling) fit experimental data
Use as a tool for system identification: data simulation
3
Input parameters: available features
LP filters HP filters f -2 noise, by a LP filter with roll-off at very low
frequency f -1 noise, by a cascade of LP filters with very low
roll-off frequencies (not yet implemented)
Mechanical resonances Mechanical forcing lines (not yet implemented)
4
The approach (1) x(t) is the output of a filter, with transfer
function H(), with a white noise (t) at input, with PSD=S0
2
, 0x xS H S
1
1
1
z
p
p
N
Nkk lN
l ll
l
i sA
Hi s
i s
Assuming that the transfer
function H() has the form
then the process x(t) can be seen as
1
pN
ll
x t y t
'
0' d 'ls t
l ly t A e t t t
the process x(t) is equivalent to Np correlated processes
5
The approach (2)
Once defined
A powerful recursive formula
ls Tl l ly t T y t e t T
'
0' d 'l
T s tl lt A e t t t
One can calculate cross correlation of the innovation processes
*
*
*0
* 1j k
jk j k
s s Tj kmn
j k
C mT nT
S A Ae
s s
*
0
*0
j k
j ky y
j k
S A AR
s s
And for the starting values
6
Matlab implementation (1) Vector of starting values, with the
given statistics
Propagate through time evolution, adding contributions from innovation processes
Innovations are evaluated starting from Np uncorrelated random variables, transformed according to:
Eventually, add up the contribution from all correlated processes:
1
2
0
00
...
0pN
y
yy
y
1
2
0 ... 0
0 ... 01 1
... ... ... ...
0 0 ... Np
s T
s T
s T
e
ey n y n n
e
1
pN
ll
x n y n
1
pN
k kj jj
A
7
Matlab implementation (2)
The base changing matrix Akj contains the eigenvectors of the cross-correlation matrix (diagonalization)
Additionally, a phase factor must be applied to each eigenvector, to allow the sum of all the Np contribution to be real
↓
Force the first element of each eigenvector to be real
Call from the command line (or other routines): [t_res2,x_res2] = syntetic_noise(1e6,10,'lp',1,'res',[1e-2 0.5],[1000 10000],'notalk',‘nopl');
8
Numeric approach: some (precision?) problem associated with the calculation of the eigenvalues, impacting on the eigenvectors, being investigated
Imaginary part of the output process x(t) is not zero This disagreement is associated with resonances
(complex values in the cross correlation matrix) Disagreement increases with the number of resonances Compared with Mathematica evaluation, “zero” is bigger
by a factor ~106
Workaround using Symbolic Math Toolbox? Coding not finished yet
High-precision calculation in Mathematica passing the eigenvectors matrix to Matlab routine? This is also being considered
9
Some results
LP, roll-off @ 1 Hz
10
Some results
Resonance @10 mHz, Q= 103
106 points, evaluated in 60s
11
Some results
Resonance @10 mHz, Q= 103
106 points, evaluated in 60s
Normalization problem, under investigation!
12
Some results
Resonance @10 mHz, Q= 103
106 points, evaluated in 60s
13
Some results
Resonances @10 mHz and 0.5 Hz, Q= 103 and 104
106 points, evaluated in 63s
Normalization problem, under investigation!
14
What comes next:
Get the fitting features to work Pick the best solution for numerical precision Include into the AO architecture Use it as the tools for system identification …