Commit 6ae7a100 authored by thomas.forbriger's avatar thomas.forbriger
Browse files

croposp: adjust files for new project

parent 7ce3ae1f
this is <COPYING>
============================================================================
ts/wf: time series waveform filters
croposp: cross power spectral density
============================================================================
Copyright (C) 1996, 2011 by Thomas Forbriger
Copyright (C) 2019 by Thomas Forbriger
----
These programs are free software; you can redistribute them and/or modify
......
# this is <Makefile>
# ----------------------------------------------------------------------------
#
# Copyright (c) 2005 by Thomas Forbriger (BFO Schiltach)
# Copyright (c) 2019 by Thomas Forbriger (BFO Schiltach)
#
# time series waveform filters
# compile croposp
#
# ----
# This program is free software; you can redistribute it and/or modify
......@@ -17,45 +17,20 @@
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# ----
#
#
# Makefile fuer tools /src/ts/wf
#
# 22/01/2001 introduced smoos and did some "tidy up"
# 24/10/2001 introduced siggen
# 24/05/2001 introduced tsfilt
#
# REVISIONS and CHANGES
# 11/07/2005 V1.0 Thomas Forbriger (thof)
# 07/12/2007 V1.1 default Fortran compiler now is g77
# 17/12/2007 V1.2 moved to gfortran
# 08/10/2010 V1.3 migrate to new SVN environment
# - discard f2c fallback
# - use FFTW3
# 10/02/2011 V1.4 distinguish between compilation and installation
# 24/06/2011 V1.5 moved tests to distinguished Makefiles
# 25/05/2012 V1.6 link siggen against libfapidxx (damb)
# 03/06/2012 V1.7 to be consistent with other programs: distinguish
# siggen and siggenx (being linked against libsff and
# libfapidxx, respectively)
# 11/01/2013 V1.8 added sigscale to program targets
# 17/04/2013 V1.9 lisousi has its own place now (moved source code)
# 28/10/2013 V1.10 implemented libfapidxx-version of suseix
# 02/01/2014 V1.11 removed signal generators, added tisli suspect
# 01/02/2014 thof: rewrite all linker rules with libraries in
# proper order
# 19/03/2016 thof: tidofi requires libgsl for filter GaussianNoise
# 25/12/2018 thof: add new program croposp
# 06/02/2019 V1.0 Thomas Forbriger
#
# ============================================================================
#
PROGRAMS=croposp
SCRIPTS=croposplot.py
PROGRAMS=tsfilt stufi rotate coro xyz2uvw susei suseix evelo \
smoos dise foutra teseco resaseda gatherdiff \
autocorr cross tidofi sigfit noisymize sigval fidasexx soutifu \
deconv geophone sigscale tisli suspect evelox croposp
INSTALLEDPROGRAMS=$(addprefix $(LOCBINDIR)/,$(PROGRAMS))
INSTALLEDSCRIPTS=$(addprefix $(LOCSCRIPTDIR)/,$(PROGRAMS))
.PHONY: all
all: install doc
......@@ -68,25 +43,27 @@ list-programs:
doc: doxydoc
.PHONY: install
install: $(addprefix $(LOCBINDIR)/,$(PROGRAMS))
install: $(INSTALLEDPROGRAMS) $(INSTALLEDSCRIPTS)
$(LOCBINDIR)/%: %
mkdir -pv $(LOCBINDIR)
/bin/mv -fv $< $(LOCBINDIR)
$(LOCSCRIPTDIR)/%: %
mkdir -pv $(LOCSCRIPTDIR)
/bin/cp -fv $< $(LOCSCRIPTDIR)
CHECKVAR=$(if $($(1)),,$(error ERROR: missing variable $(1)))
CHECKVARS=$(foreach var,$(1),$(call CHECKVAR,$(var)))
$(call CHECKVARS,LOCINCLUDEDIR LOCLIBDIR LOCBINDIR)
$(call CHECKVARS,TF_LINK_FORTRAN TF_LINK_PGPLOT)
FORTRANLIB=$(TF_LINK_FORTRAN)
# use STATIC=-static to produce statically linked binaries
STATIC=
FLAGS += $(MYFLAGS)
CPPFLAGS=$(addprefix -I,$(LOCINCLUDEDIR) $(subst :, ,$(SERVERINCLUDEDIR))) \
$(FLAGS)
FFLAGS += -ff2c -Wall -ffixed-line-length-0 -fno-backslash $(FLAGS)
CXXFLAGS+=-Wall $(FLAGS)
LDFLAGS=$(addprefix -L,$(LOCLIBDIR) $(subst :, ,$(SERVERLIBDIR))) $(STATIC)
......@@ -104,26 +81,15 @@ TESTCASEMAKE=$(filter-out %.bak,$(wildcard testcases/Makefile*))
DOXYTXT=$(wildcard doxygen*.txt */doxygen*txt)
EDITFILES=Makefile README $(wildcard *.cfg) COPYING $(DOXYTXT) \
$(filter-out %.bak,$(wildcard */README*))
EDITSRC=$(wildcard *.cc *.h *.c *.f *.gpt *.inc)
EDITTESTS=$(wildcard testcases/*.par) $(wildcard testcases/*.tpl) \
$(TESTCASEMAKE) $(wildcard testcases/*.gpt)
flist: $(wildcard *.txt *.c *.f *.h *.inc *_text.txt Makefile *.cc *.gpt) \
doxydoc.cfg README COPYING $(DOXYTXT) $(EDITFILES) \
$(wildcard testcases/*.par) $(wildcard testcases/*.tpl) \
$(TESTCASEMAKE) $(wildcard testcases/*.gpt) $(TF_EDIT)
$(filter-out %.bak,$(wildcard README* Makefile*))
EDITSRC=$(wildcard *.cc *.h *.py)
flist: $(EDITFILES) $(TF_EDIT) $(EDITSRC)
echo $(filter $(EDITFILES),$^) | tr ' ' '\n' | sort > $@
echo "---- source code ----" >> $@
echo $(filter $(EDITSRC),$^) | tr ' ' '\n' | sort >> $@
echo "---- Fortran source files only ----" >> $@
echo $(sort $(filter %.f,$^)) | tr ' ' '\n' >> $@
echo "---- C++ source files only ----" >> $@
echo $(sort $(filter %.cc,$^)) | tr ' ' '\n' >> $@
echo "---- test cases ----" >> $@
echo $(sort $(filter $(EDITTESTS),$^)) | tr ' ' '\n' >> $@
echo "----" >> $@
echo $(filter-out $(EDITFILES) $(EDITSRC) $(EDITTESTS),$^) \
echo $(filter-out $(EDITFILES) $(EDITSRC),$^) \
| tr ' ' '\n' | sort >> $@
.PHONY: edit
......@@ -131,8 +97,6 @@ edit: flist; vim $<
#----------------------------------------------------------------------
# pattern rules
%.o: %.f; $(FC) -c -o $@ $< $(FFLAGS)
#----------------------------------------------------------------------
# description and online texts
%.cc %.h: %_help.txt
......@@ -163,94 +127,113 @@ include $(patsubst %.cc,%.d,$(wildcard *.cc))
#----------------------------------------------------------------------
# typical combinations of libraries
LIBDATRWXX=-ldatrwxx -lsffxx -ltime++ -lgsexx -laff
LIBFAPIDXX=-lfapidxx $(LIBDATRWXX)
LIBTSIOXX=-ltsioxx -ltsxx -ltfxx $(LIBDATRWXX) -lgsl -lgslcblas
LIBTSIOXX=-ltsioxx -ltsxx -ltfxx $(LIBDATRWXX)
#----------------------------------------------------------------------
# binary executable targets
# -------------------------
#
# Fortran programs
# ----------------
#
xyz2uvw tisli susei smoos rotate evelo coro: %: %.o
$(LINK.f) $^ $(LOADLIBES) $(LDLIBS) -o $@ \
-lsff -ltf
tsfilt stufi: %: %.o
$(LINK.f) $^ $(LOADLIBES) $(LDLIBS) -o $@ \
-lseife -lsff -ltf
suspect dise: %: %.o
$(LINK.f) $^ $(LOADLIBES) $(LDLIBS) -o $@ \
-lsffu -ltime -lsff -ltf
# Fortran programs with libfapidxx support
# ----------------------------------------
evelox suseix: %x: %.o
$(LINK.f) $^ $(LOADLIBES) $(LDLIBS) -o $@ \
-ltf $(LIBFAPIDXX)
#
# C++ programs
# ------------
sigval sigscale geophone gatherdiff autocorr: \
%: %.o
$(LINK.cpp) $^ $(LOADLIBES) $(LDLIBS) -o $@ \
$(LIBDATRWXX) -ltfxx
tidofi: \
%: %.o
$(LINK.cpp) $^ $(LOADLIBES) $(LDLIBS) -o $@ \
-ltsxx -lcseife $(LIBDATRWXX) -ltfxx -lgsl -lgslcblas
fidasexx: \
%: %.o
$(LINK.cpp) $^ $(LOADLIBES) $(LDLIBS) -o $@ \
-llinearxx -lpgplotxx -lcpgplot \
$(LIBDATRWXX) -ltfxx \
$(TF_LINK_PGPLOT) $(TF_LINK_FORTRAN) \
-llapack
sigfit: \
%: %.o
$(LINK.cpp) $^ $(LOADLIBES) $(LDLIBS) -o $@ \
-llinearxx \
$(LIBDATRWXX) -ltfxx \
-llapack
resaseda: \
%: %.o
$(LINK.cpp) $^ $(LOADLIBES) $(LDLIBS) -o $@ \
-ltsxx $(LIBDATRWXX) -ltfxx
teseco: \
%: %.o
$(LINK.cpp) $^ $(LOADLIBES) $(LDLIBS) -o $@ \
$(LIBTSIOXX)
noisymize: \
%: %.o
$(LINK.cpp) $^ $(LOADLIBES) $(LDLIBS) -o $@ \
$(LIBTSIOXX)
cross fregra foutra deconv: \
%: %.o
$(LINK.cpp) $^ $(LOADLIBES) $(LDLIBS) -o $@ \
-lfourierxx $(LIBTSIOXX) -lfftw3
croposp: \
%: %.o
$(LINK.cpp) $^ $(LOADLIBES) $(LDLIBS) -o $@ \
-lpsdxx -lfourierxx $(LIBTSIOXX) -lfftw3
soutifu: \
%: %.o
$(LINK.cpp) $^ $(LOADLIBES) $(LDLIBS) -o $@ \
-lstfinv -lfourierxx $(LIBTSIOXX) -lfftw3
#======================================================================
# test case
# ---------
alldata: cpsd1.bin cpsd2.bin cpsd3.bin
CPSD_NSAMPLESRAW=100000
#CPSD_NSAMPLESRAW=1000
CPSD_DT=0.1
CPSD_DUR=8640.
#CPSD_DUR=864.
# create raw time series
CPSD_SIGGENOPT=-v -o -n $(CPSD_NSAMPLESRAW) -d $(CPSD_DT) -T $(CPSD_DUR) -ot bin
CPSD_AMP1=1.e-3
CPSD_AMP2=1.e-4
CPSD_AMP3=3.e-3
CPSD_AMPBG=4.e-5
# location of plot tool
CROPOSPLOT=./croposplot.py
cpsd1raw.bin:
siggenx 12 $@ $(CPSD_SIGGENOPT) -a $(CPSD_AMP1)
cpsd2raw.bin:
siggenx 12 $@ $(CPSD_SIGGENOPT) -a $(CPSD_AMP2)
cpsd3raw.bin:
siggenx 12 $@ $(CPSD_SIGGENOPT) -a $(CPSD_AMP3)
# create time series for common noise signal
cpsdbgraw.bin:
siggenx 12 $@ $(CPSD_SIGGENOPT) -a $(CPSD_AMPBG)
# modify white noise to channel specific frequency characteristic
cpsd1mod.bin: cpsd1raw.bin
printf "lpb 1.,2.\ndif 0\nend\n" \
| tidofi -type bin -Type bin -v -o -cs $@ $<
cpsd2mod.bin: cpsd2raw.bin
printf "int 0\navg 0end\n" \
| tidofi -type bin -Type bin -v -o -cs $@ $<
cpsd3mod.bin: cpsd3raw.bin
printf "lpb 10.,2\nend\n" \
| tidofi -type bin -Type bin -v -o -cs $@ $<
cpsdbgmod.bin: cpsdbgraw.bin
printf "lpb 2.,4\navg 0\nhp 200.,2\nend\n" \
| tidofi -type bin -Type bin -v -o -cs $@ $<
# add common noise signal to channel specific noise floor
cpsd%add.bin: cpsd%mod.bin cpsdbgraw.bin
teseco -v -o -a -type bin -Type bin $@ $^
# set header fields to reasonable time an channel identifiers
CPSD_DATE=2018/12/16_14:24:16
CPSD_DATE1=$(CPSD_DATE).010980
CPSD_DATE2=$(CPSD_DATE).011050
CPSD_DATE3=$(CPSD_DATE).010760
CPSD_HDOPTS=-verbose -overwrite -itype bin -otype bin -ss TST -sa XX -sc BHZ
cpsd1hd.bin: cpsd1add.bin
sehefixx $< $@ $(CPSD_HDOPTS) -st $(CPSD_DATE1) -si SYN1
cpsd2hd.bin: cpsd2add.bin
sehefixx $< $@ $(CPSD_HDOPTS) -st $(CPSD_DATE2) -si SYN2
cpsd3hd.bin: cpsd3add.bin
sehefixx $< $@ $(CPSD_HDOPTS) -st $(CPSD_DATE3) -si SYN3
# extract inconsistent time windows
CPSD_TOPT1=-samplesf 3 -samplesl 7
CPSD_TOPT2=-samplesf 25
CPSD_TOPT3=-samplesl 81
cpsd1.bin: cpsd1hd.bin
tijerasxx -verbose -overwrite -iformat bin -oformat bin \
$(CPSD_TOPT1) $@ $<
cpsd2.bin: cpsd2hd.bin
tijerasxx -verbose -overwrite -iformat bin -oformat bin \
$(CPSD_TOPT2) $@ $<
cpsd3.bin: cpsd3hd.bin
tijerasxx -verbose -overwrite -iformat bin -oformat bin \
$(CPSD_TOPT3) $@ $<
CPSD_NSEGMENTS=50
CPSD_OVERLAP=0.5
CPSD_DIVISOR=100
CPSD_PADFACTOR=5
psd.xxx: cpsd1.bin cpsd2.bin cpsd3.bin
croposp --DEBUG --verbose --overwrite --itype bin --trim \
--log 10 \
--nsegments=$(CPSD_NSEGMENTS) \
--divisor=$(CPSD_DIVISOR) \
--padfactor=$(CPSD_PADFACTOR) \
--overlap=$(CPSD_OVERLAP) \
--datetolerance 0.1 -psd $@ $^
psd.pdf: psd.xxx
$(CROPOSPLOT) -v --grid -o $@ $<
%.pdp: %.pdf; evince $<; /bin/rm -fv $<
#
#======================================================================
# documentation part
# ------------------
......@@ -272,7 +255,7 @@ soutifu: \
$(call CHECKVARS,TF_WWWBASEDIR TF_BROWSER)
DOXYWWWPATH=$(TF_WWWBASEDIR)/tswf
DOXYWWWPATH=$(TF_WWWBASEDIR)/croposp
.PHONY: doxyclean doxyview doxydoc doxyconf
......
# this is <Makefile.croposp>
# ----------------------------------------------------------------------------
#
# Copyright (c) 2019 by Thomas Forbriger (BFO Schiltach)
#
# provide test cases for proposp
#
# REVISIONS and CHANGES
# 01/01/2019 V1.0 Thomas Forbriger
#
# ============================================================================
#
all: cpsd1.bin cpsd2.bin cpsd3.bin
CPSD_NSAMPLESRAW=100000
#CPSD_NSAMPLESRAW=1000
CPSD_DT=0.1
CPSD_DUR=8640.
#CPSD_DUR=864.
# create raw time series
CPSD_SIGGENOPT=-v -o -n $(CPSD_NSAMPLESRAW) -d $(CPSD_DT) -T $(CPSD_DUR) -ot bin
CPSD_AMP1=1.e-3
CPSD_AMP2=1.e-4
CPSD_AMP3=3.e-3
CPSD_AMPBG=4.e-5
# location of plot tool
CROPOSPLOT=../../../python/visu/croposplot.py
cpsd1raw.bin:
siggenx 12 $@ $(CPSD_SIGGENOPT) -a $(CPSD_AMP1)
cpsd2raw.bin:
siggenx 12 $@ $(CPSD_SIGGENOPT) -a $(CPSD_AMP2)
cpsd3raw.bin:
siggenx 12 $@ $(CPSD_SIGGENOPT) -a $(CPSD_AMP3)
# create time series for common noise signal
cpsdbgraw.bin:
siggenx 12 $@ $(CPSD_SIGGENOPT) -a $(CPSD_AMPBG)
# modify white noise to channel specific frequency characteristic
cpsd1mod.bin: cpsd1raw.bin
printf "lpb 1.,2.\ndif 0\nend\n" \
| tidofi -type bin -Type bin -v -o -cs $@ $<
cpsd2mod.bin: cpsd2raw.bin
printf "int 0\navg 0end\n" \
| tidofi -type bin -Type bin -v -o -cs $@ $<
cpsd3mod.bin: cpsd3raw.bin
printf "lpb 10.,2\nend\n" \
| tidofi -type bin -Type bin -v -o -cs $@ $<
cpsdbgmod.bin: cpsdbgraw.bin
printf "lpb 2.,4\navg 0\nhp 200.,2\nend\n" \
| tidofi -type bin -Type bin -v -o -cs $@ $<
# add common noise signal to channel specific noise floor
cpsd%add.bin: cpsd%mod.bin cpsdbgraw.bin
teseco -v -o -a -type bin -Type bin $@ $^
# set header fields to reasonable time an channel identifiers
CPSD_DATE=2018/12/16_14:24:16
CPSD_DATE1=$(CPSD_DATE).010980
CPSD_DATE2=$(CPSD_DATE).011050
CPSD_DATE3=$(CPSD_DATE).010760
CPSD_HDOPTS=-verbose -overwrite -itype bin -otype bin -ss TST -sa XX -sc BHZ
cpsd1hd.bin: cpsd1add.bin
sehefixx $< $@ $(CPSD_HDOPTS) -st $(CPSD_DATE1) -si SYN1
cpsd2hd.bin: cpsd2add.bin
sehefixx $< $@ $(CPSD_HDOPTS) -st $(CPSD_DATE2) -si SYN2
cpsd3hd.bin: cpsd3add.bin
sehefixx $< $@ $(CPSD_HDOPTS) -st $(CPSD_DATE3) -si SYN3
# extract inconsistent time windows
CPSD_TOPT1=-samplesf 3 -samplesl 7
CPSD_TOPT2=-samplesf 25
CPSD_TOPT3=-samplesl 81
cpsd1.bin: cpsd1hd.bin
tijerasxx -verbose -overwrite -iformat bin -oformat bin \
$(CPSD_TOPT1) $@ $<
cpsd2.bin: cpsd2hd.bin
tijerasxx -verbose -overwrite -iformat bin -oformat bin \
$(CPSD_TOPT2) $@ $<
cpsd3.bin: cpsd3hd.bin
tijerasxx -verbose -overwrite -iformat bin -oformat bin \
$(CPSD_TOPT3) $@ $<
CPSD_NSEGMENTS=50
CPSD_OVERLAP=0.5
CPSD_DIVISOR=100
CPSD_PADFACTOR=5
psd.xxx: cpsd1.bin cpsd2.bin cpsd3.bin
croposp --DEBUG --verbose --overwrite --itype bin --trim \
--log 10 \
--nsegments=$(CPSD_NSEGMENTS) \
--divisor=$(CPSD_DIVISOR) \
--padfactor=$(CPSD_PADFACTOR) \
--overlap=$(CPSD_OVERLAP) \
--datetolerance 0.1 -psd $@ $^
psd.pdf: psd.xxx
$(CROPOSPLOT) -v --grid -o $@ $<
%.pdp: %.pdf; evince $<; /bin/rm -fv $<
# ----- END OF Makefile.croposp -----
this is <README>
============================================================================
ts/wf: time series waveform filters
croposp: cross power spectral density
============================================================================
This is a collection of various filter programs which can be used to
manipulate time series data. The area of application ranges from long period
seismology to shallow seismics.
Some of the programs support only SFF data files. See usage information (by
calling the program with option '-help') for details. Some Fortran programs
support linking against libfapidxx. They commonly are provided in form of two
binary executables (e.g. susei: SFF support only; suseix: supports all
libdatrwxx formats). See variable PROGRAMS in Makefile.
Currently maintained programs:
Waveform filters
----------------
Programs provide frequency filters (high-pass, low-pass, etc), average and
trend removal, time domain tapers, etc.
stufi filter SFF data files (uses seife filters by E. Wielandt)
tidofi filter data files in various formats
tsfilt filter two-column ASCII files (uses seife filters by E. Wielandt)
Vector signal component rotation
--------------------------------
coro select a spatial vector component from three component data
rotate rotate horizontal components
xyz2uvw rotate to internal STS-2 components and vice versa
Multi-signal
------------
dise calculate waveform residuals of selected traces from two input files
gatherdiff calculate waveform residuals of full shot gathers
sigfit find linear regression coefficients for a set of trial signals
susei stack seismograms from two or more files
suspect stack seismograms after shifting to source origin time
teseco apply signal corrections (like barometric pressure correction)
Transformation
--------------
evelo calculate Hilbert transform, signal envelope, etc.
foutra apply Fourier transformation (optionally calculates PSD)
fregra spectrogram for unevenly sampled frequencies (not finished)
Correlation and Convolution
---------------------------
autocorr calculate autocorrelation of signals
cross cross-correlate signals
deconv deconvolve one signal with another
noisymize convolve signals with random noise
Resampling
----------
resaseda apply signal interpolation in the time domain
smoos apply signal interpolation by spectral extension
Miscellaneous
-------------
fidasexx scale shot gathers to compile homogeneous data set
geophone derive geophone response and create filter control file
sigscale scale SG056 auxilliary data to physical units
sigval extract waveform properties like rms and write to table
soutifu find optimal source wavelet correction filter
tisli extract time slices from multi-receiver data
Test signals
------------
Test signal generators formerly present in this directory have been moved to
src/synt/misc. They may as well still be necessary for the filter test
procedures defined in subdirectory testcases
croposp provides:
- computation of power spectral density from time series data
- computation of coherency from pairs of time series data
- computation of power spectral density of incoherent signal component,
amplitude and phase transfer functions from triples of time series data
(Sleeman, 2006)
============================================================================
Test cases
----------
croposplot.py produces diagrams from output files produced by croposp.
In subdirectory 'testcases' test cases for several filter programs are
provided. These are not yet documented in detail. Please check Makefile in
testcases, which serves as an entry point to the other Makefiles. Several of
the test cases can be controlled by make variables to be passed on the command
line. Test cases may require other external programs in order to create test
waveforms. These programs can include programs for synthesis of full
seismograms. At least the program suite from src/synt/misc is required in most
cases.
References
----------
Reinoud Sleeman, Arie van Wettum, and Jeannot Trampert, 2006.
Three-Channel Correlation Analysis: A New Technique to Measure
Instrumental Noise of Digitizers and Seismic Sensors.
Bull. Seism. Soc. Am., Vol. 96, No. 1, pp. 258–271.
doi: 10.1785/0120050032
http://www.geo.uu.nl/~seismain/pdf/bssa06-inst.pdf (accessed 2019-01-25)
============================================================================
......@@ -94,7 +30,6 @@ This software is part of the project Seitosh. See README.1st in the root
directory of the collection or https://git.scc.kit.edu/Seitosh/Seitosh for
general installation instructions.
The Makefile supports program compilation and linking. Some binary libraries
are required.
......@@ -112,41 +47,30 @@ libraries and library header files are expected:
Dependencies:
Compilers required to build the programs:
Fortran compiler
C++ compiler
C/C++ preprocessor
doxygen (required to process source code documentation)
extern libraries/packages needed to compile the code
PGPLOT (libpgplot, libcpgplot)
liblapack: linear algebra package
libblas: basic linear algebra functions
libgsl: GNU scientific library (libgsl, libgslcblas)
libfftw3: Fast Fourier Transformation
The header files for these libraries are required as well. Under OpenSuSE
you have to install the respective devel packages.
Seitosh libraries required to compile the code:
libaff
libdatrwxx
libfapidxx
libfourier (libfourier, libfourierxx)
libgsexx
liblinearxx
libpgplotxx
libseife (libcseife, libseife)
libsff
libsffu
libsffxx
libstfinv
libtf
libtfxx
libtime (libtime, libtime++)
libtsxx
libpsdxx
============================================================================
The home of this software suite is
https://git.scc.kit.edu/Seitosh/Seitosh/tree/master/src/ts/wf
The home of this software is
https://git.scc.kit.edu/Seitosh/Seitosh/tree/master/src/ts/croposp
Please send bug reports and suggestions to
Thomas.Forbriger@kit.edu
......
......@@ -4,7 +4,7 @@
# Project related configuration options
#---------------------------------------------------------------------------
DOXYFILE_ENCODING = UTF-8
PROJECT_NAME = "Waveform filter programs"
PROJECT_NAME = "CROPOSP - cross power spectral density"
PROJECT_NUMBER =
OUTPUT_DIRECTORY = <OUTPUTDIRECTORY>
CREATE_SUBDIRS = NO
......
/*! \file ts/wf/doxygen.txt
/*! \file ts/croposp/doxygen.txt
* \brief Waveform filter programs
*
* ----------------------------------------------------------------------------
*
* Copyright (c) 2010 by Thomas Forbriger
* \author Thomas Forbriger
* \date 25/12/2018
*