Sergey KlimenkoNarrow resonances are seen as lines in the data power spectra. They are one of the noise sources that may affect
Andrei Sazonov
The LM is a part of the DMT software (class LineFilter). It allows
f - seed frequency. It should be not more than 1/T Hz away from the real line frequency.
If f<0 - filter just monitor lines, lines are not removed.
T - the length of data section to monitor/remove lines. For example, if input time series is 100 seconds long and T=1.,
then 100 data sections are processed by filter individually and 100 entries are stored in the database. If T=0.,
the whole input time series is processed. [default = 0]
fid - filter ID, (1)0 - estimate line parameters with (without) taking into account the nearby noise. [default = 1]
nT - number of subdivisions of the time interval T. The line amplitude (complex) is estimated for each subinterval
and than the average amplitude is calculated. Used for line monitoring only. [default = 1]
examples:
LineFilter F(60.); // - create LineFilter object F to remove 60 Hz line and it's harmonics.
nFirst - first harmonic [default = 1]
nLast - last harmonic. If nLast=0, all harmonics are processed. [default = 0]
nStep - skip harmonics (take nFirst, nFirst+abs(nStep), nFirst+2 *abs(nStep),....). If nStep is negative,
set the fundamental frequency to be f/abs(nStep) and set the first harmonic to be nFirst*abs(nStep).
[default = 1]
nLPF - number of decimation steps (by 2) of input time series.
If nLPF<0 - does up-sampling of input time series by 2 to estimate interference. [default = -1]
nBand - number of frequency bins to estimate noise spectral density. [default = 5]
examples:
F.setFilter(1,10); // - select harmonics 1-10.
F.setFilter(1,0,2); // - select odd harmonics .
F.setFilter(2,20,2,0); // - select even harmonics 2-20 and don't do up-sampling.
f Scan - update seed frequency with value of abs(fScan). If fScan<=0 - don't scan frequency
If fScan=0 - don't update & don't scan base frequency. [default = 0]
SNR - limit on signal to noise ratio. If the line interference intensity is less then SNR*(noise intensity)
then filter don't use value of base frequency from this run as a seed frequency for the next run.
In this case negative value of estimated base frequency is saved in the database. [default = 2]
fBand - frequency band in units of nT/T to scan the base frequency . [default = 0.45]
nScan - limit on number of iteration steps during the frequency scan [default = 10]
examples:
F.setFScan(); // - don't scan frequency
n = 0 - total for all harmonics
n = 1,2,3... - select nFirst, nFirst+1, nFirst+2,... harmonic
'a' - amplitude vector (n=0 - total interference intensity).
't' - time vector (start time of time series)
'F' - frequency vector(n=0 - fundamental frequency).
'f' - corrected frequency vector (derivative of the line phase).
'P' - phase vector (n=0 - get number of harmonics)
'p' - corrected phase vector (p = P + 2PI F T/2 )
'S' - line spectral density
's' - intensity of line signal.
'N' -noise spectral density in the vicinity of the line
'n' - intensity of noise on the filter output.
'K' - signal to noise ratio ( n=0 - get SNR for all harmonics)
'W' - Wiener filter coefficients
examples:
WaveData a = F.getTrendData(2,'a'); // get amplitude of second harmonic
// a.data[i] - amplitude data vector (double)
file - output file name
mode - override or append [default = 0 - override]
examples:
F..DumpBinary('trend.dat',1); // dump database into file trend.dat in the append mode
file - input file nameapply(TS)
examples:
F..Load('trend.dat'); // load database from file trend.dat into the filter F database
TS - input time series
Currently only ROOT offline version of line monitor is available. To run the LM the folloving files located
at /home/klimenko/roots on the LHO fortress hould be used:wavelet.so - Wavelet Analysis Tool shared libraryHow to read and plot trend data?
rootlogon.C - ROOT initialization file (should load wavelet.so and DMT shared libraries)
monitor.C - example of the LM ROOT macro file
ReadTSeries.C - Root macro to read data into the DMT TSeries object.
Plot.C - plot macro for WaveData arrays
Spectrum.C - plot macro for WaveData arrays
Histogram.C - plot macro for WaveData arrays
setLine.C - ROOT macro to read trend data
dec29-nn.dat - E2 trend data for LSC-AS_Q channelLineFilter F(1.); // create LineFilter objector
WaveData f;
WaveData t;
F.LoadTrend("dec29-32.dat"); // load trend data for 237Hz line
t=F.getTrend(0,'t'); // read time vector
f=F.getTrend(1,'f'); // read frequency trend data
Plot(f,t); // plot f as a function of t.x setLine.C // execute ROOT macro file that reads data (file name is specified inside)
Plot(a,t); // plot amplitude
Plot(f,t); // plot frequency
ContactS.Klimenko (klimenko@phys.ufl.edu)
Last update: March 20, 2001