gr-qc0504140/dsp.tex
1: 
2: \subsection{Digital signal processing library in GEO++}
3: \label{dsp}
4: The \geopp digital signal processing library is a general purpose library which contains a set of tools needed for data analysis of discrete time series.
5: In this subsection we will describe the main signal processing units available within \geopp and briefly mention their implementation.
6: 
7: 
8: We use fftw3.0 \cite{fftw} for computing discrete Fourier transformations in various frequency based application, for instance, it is used for power spectral density (\psd) estimation. 
9: Three different methods for estimation of \psd\ are currently implemented in \geopp. Two of them are 
10: different implementations of Welch overlapped segments averaging (WOSA) method  
11: and the third one is based on a parametric method using an autoregressive (AR) model \cite{SpecAnal}. 
12: The WOSA method is very efficient in reducing variance in \psd\ estimation
13: and the most suitable for long data segments. The estimation of \psd\ based on 
14: AR model is efficient on short data segments and in absence of periodic signals in the time series. We use window functions in order to reduce the bias caused by a very large dynamical range. For more details on \psd\ estimation we refer reader to \cite{SpecAnal} and references therein.
15: One can also estimate the noise floor by using running median on the computed
16: \psd. Running median method is very efficient in removing lines from the \psd\ in addition to the overall smoothening. 
17: This method is based on substituting the actual value of PSD in each frequency bin by the median value
18: computed in a narrow frequency band around it.
19: In addition to the \psd\ we can construct time-frequency maps, and we currently support  
20: spectrograms and Wigner-Ville maps \cite{warrenbala, tracksearch}.
21: 
22: 
23: Linear filters, both IIR (infinite impulse response) and FIR (finite impulse response), are implemented in the time domain. Coefficients for filtering are either supplied by the user or can be constructed internally
24: using window functions for FIR filters and Butterworth analog filters with bilinear transform for IIR
25: filters \cite{DSP}.
26: 
27: A resampling routine is used to change the sampling frequency of a discrete time series by
28: a factor $m/n$, where $m$ and $n$ are integers. The algorithm consists of three
29: parts: (i) up-sampling (interpolation) by factor $m$ (ii) applying anti-aliasing 
30: low-pass filter, and (iii) down-sampling by a factor $n$.  The resampled data series is continuous across 
31: the boundary of contiguous segments, but shifted with respect to the original one. 
32: The time shift (which we need to account for) is computed.
33: 
34: Finally, there are some other useful tools which are not directly related to signal processing. 
35: For example we take an advantage of the widely accepted GNU Scientific Library (GSL) \cite{gsl} which contains a large number of very useful routines. We mainly use the GSL library to compute various probability distributions and for the noise generation.
36:   
37: 
38: 
39: %\section*{References}
40: 
41: %\begin{thebibliography}{99}
42: 
43: %\bibitem{DSP} J.~G.~Proakis and D.~G.~Manolakis {\it Introduction to digital
44: %signal processing}, Macmillian Publ., 1988
45: 
46: %\bibitem{SpecAnal} D.~B.~Percival and A.~T.~Walden {\it Spectral analysis for 
47: %physical applications}, Cambridge Univ. Press, 1993.
48: 
49: %\bibitem{numRec}W.~H.~Press, S.~A.~Teukolsky, W.~T. Vetterling and
50: %B.~P.~Flannery {\it Numerical recipes in C}
51: 
52: %\bibitem{fftw} Webpage {\tt http://www.fftw.org/}
53: %\end{thebibliography}
54: 
55: %\end{document}
56: