Title: A synthetic noise generator
1A synthetic noise generator
- M. Hueller
- LTPDA meeting, AEI Hannover 27/04/2007
2Purpose
- 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
3Input 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)
4The approach (1)
- x(t) is the output of a filter, with transfer
function H(w), with a white noise e(t) at input,
with PSDS0
- Assuming that the transfer function H(w) has the
form
- then the process x(t) can be seen as
- the process x(t) is equivalent to Np correlated
processes
5The approach (2)
- A powerful recursive formula
- One can calculate cross correlation of the
innovation processes
- And for the starting values
6Matlab 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
7Matlab 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 -
9Some results
10Some results
- Resonance _at_10 mHz, Q 103
- 106 points, evaluated in 60s
11Some results
Normalization problem, under investigation!
- Resonance _at_10 mHz, Q 103
- 106 points, evaluated in 60s
12Some results
- Resonance _at_10 mHz, Q 103
- 106 points, evaluated in 60s
13Some results
Normalization problem, under investigation!
- Resonances _at_10 mHz and 0.5 Hz, Q 103 and 104
- 106 points, evaluated in 63s
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
-