1#ifndef __CNR_DECON_ENGINE_H__
2#define __CNR_DECON_ENGINE_H__
3#include <boost/archive/text_iarchive.hpp>
4#include <boost/archive/text_oarchive.hpp>
5#include <boost/serialization/base_object.hpp>
6#include <boost/serialization/shared_ptr.hpp>
8#include "mspass/algorithms/Taper.h"
9#include "mspass/algorithms/deconvolution/FFTDeconOperator.h"
10#include "mspass/algorithms/deconvolution/MTPowerSpectrumEngine.h"
11#include "mspass/algorithms/deconvolution/ShapingWavelet.h"
12#include "mspass/seismic/PowerSpectrum.h"
13#include "mspass/seismic/Seismogram.h"
14#include "mspass/seismic/TimeSeries.h"
15#include "mspass/utility/AntelopePf.h"
17namespace mspass::algorithms::deconvolution {
27enum class CNR3C_algorithms { generalized_water_level, colored_noise_damping };
67 void initialize_inverse_operator(
75 double get_operator_dt()
const {
return this->operator_dt; }
96 const double t0shift);
101 CNR3C_algorithms algorithm;
111 double band_snr_floor;
113 int shaping_wavelet_number_poles;
129 double snr_regularization_floor;
132 double regularization_bandwidth_fraction;
134 double signal_bandwidth_fraction[3];
141 void update_shaping_wavelet(
const double fl,
const double fh);
150 friend boost::serialization::access;
151 template <
class Archive>
152 void serialize(Archive &ar,
const unsigned int version) {
154 ar &boost::serialization::base_object<FFTDeconOperator>(*
this);
161 ar & shaping_wavelet_number_poles;
168 ar & snr_regularization_floor;
173 ar & regularization_bandwidth_fraction;
178 for (
auto k = 0; k < 3; ++k) {
182 ar &signal_bandwidth_fraction[k];
Definition CNRDeconEngine.h:28
mspass::seismic::PowerSpectrum compute_noise_spectrum(const mspass::seismic::TimeSeries &d2use)
Definition CNRDeconEngine.cc:217
Definition ComplexArray.h:37
Object to hold components needed in all fft based decon algorithms.
Definition FFTDeconOperator.h:20
Multittaper power spectral estimator.
Definition MTPowerSpectrumEngine.h:29
Frequency domain shaping wavelet.
Definition ShapingWavelet.h:21
Definition PowerSpectrum.h:11
Implemntation of Seismogram for MsPASS.
Definition Seismogram.h:14
Implemntation of TimeSeries for MsPASS.
Definition TimeSeries.h:14
C++ object version of a parameter file.
Definition AntelopePf.h:61