#include <SPACStationSignals.h>
Public Member Functions | |
virtual void | setProcessed (const TimeRange &tw, AbstractParameters *param) |
SPACStationSignals (const StationSignals *originalSignals) | |
double | verticalPower () const |
ArrayCore::SPACStationSignals::SPACStationSignals | ( | const StationSignals * | originalSignals | ) |
: StationProcessSignals(originalSignals) { _verticalPower=0.0; }
void ArrayCore::SPACStationSignals::setProcessed | ( | const TimeRange & | tw, |
AbstractParameters * | param | ||
) | [virtual] |
Cut and filter time window at frequency f for all components
Implements GeopsyCore::StationProcessSignals.
References GeopsyCore::FilterParameters::convolutionWindow(), GeopsyCore::StationProcessSignals::copyOriginalSignal(), GeopsyCore::DoubleSignal::filter(), ArrayCore::ArrayProcess::frequency(), ArrayCore::FrequencyBand::highLimit(), ArrayCore::FrequencyBand::lowLimit(), GeopsyCore::StationProcessSignals::nComponents(), GeopsyCore::StationProcessSignals::processed(), GeopsyCore::TaperParameters::setAlpha(), GeopsyCore::FilterParameters::setBand(), GeopsyCore::FilterParameters::setMaximumFrequency(), GeopsyCore::FilterParameters::setMethod(), GeopsyCore::FilterParameters::setMinimumFrequency(), GeopsyCore::TaperParameters::setWindow(), GeopsyCore::DoubleSignal::subtractValue(), and GeopsyCore::DoubleSignal::taper().
{ ArrayProcess& arrayParam=*static_cast<ArrayProcess *>(param); int nComp=nComponents(); for(int iComp=0; iComp < nComp; iComp++) { copyOriginalSignal(iComp, tw); DoubleSignal& s=*processed(iComp); // Remove offset for this window s.subtractValue(); // Set a 10% taper in time domain TaperParameters param; param.setWindow(TaperParameters::Tukey); param.setAlpha(0.2); s.taper(param); // Filter at frequency f with a band width of 10% FilterParameters fparam; fparam.setMinimumFrequency(arrayParam.frequency().lowLimit()); fparam.setMaximumFrequency(arrayParam.frequency().highLimit()); fparam.setMethod(FilterParameters::Convolution); fparam.setBand(FilterParameters::BandPass); fparam.convolutionWindow().setWindow(TaperParameters::Tukey); fparam.convolutionWindow().setAlpha(0.2); s.filter(fparam); // TODO: process in frequency domain // For vertical spac only } setVerticalPower(); }
double ArrayCore::SPACStationSignals::verticalPower | ( | ) | const [inline] |
{return _verticalPower;}