X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=libctsim%2Fprocsignal.cpp;h=86501abc043b5571d8f87b81afd8aeb52aa7bd59;hb=516c8b2394cea4e5e5382cd163537c9983269960;hp=c40e2972ad606290afef9a33ec7dd0f9a8f96355;hpb=1f05afcd917bbf8b56a9446e4f937864f09b33f4;p=ctsim.git diff --git a/libctsim/procsignal.cpp b/libctsim/procsignal.cpp index c40e297..86501ab 100644 --- a/libctsim/procsignal.cpp +++ b/libctsim/procsignal.cpp @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (C) 1983-2000 Kevin Rosenberg ** -** $Id: procsignal.cpp,v 1.15 2001/01/12 03:49:07 kevin Exp $ +** $Id: procsignal.cpp,v 1.16 2001/01/12 04:28:37 kevin Exp $ ** ** This program is free software; you can redistribute it and/or modify ** it under the terms of the GNU General Public License (version 2) as @@ -280,7 +280,8 @@ ProcessSignal::init (const int idFilter, const int idFilterMethod, double dBandw m_dFilterMax -= m_dFilterInc; } - SignalFilter filter (m_idFilter, m_dFilterMin, m_dFilterMax, m_nFilterPoints, m_dBandwidth, m_dFilterParam, SignalFilter::DOMAIN_FREQUENCY); + SignalFilter filter (m_idFilter, m_dFilterMin, m_dFilterMax, m_nFilterPoints, m_dBandwidth, + m_dFilterParam, SignalFilter::DOMAIN_FREQUENCY); m_adFilter = new double [m_nFilterPoints]; filter.copyFilterData (m_adFilter, 0, m_nFilterPoints); @@ -347,7 +348,8 @@ ProcessSignal::init (const int idFilter, const int idFilterMethod, double dBandw std::cout << "nFilterPoints = " << m_nFilterPoints << endl; #endif double* adSpatialFilter = new double [m_nFilterPoints]; - SignalFilter filter (m_idFilter, m_dFilterMin, m_dFilterMax, nSpatialPoints, m_dBandwidth, m_dFilterParam, SignalFilter::DOMAIN_SPATIAL); + SignalFilter filter (m_idFilter, m_dFilterMin, m_dFilterMax, nSpatialPoints, m_dBandwidth, + m_dFilterParam, SignalFilter::DOMAIN_SPATIAL); filter.copyFilterData (adSpatialFilter, 0, nSpatialPoints); #ifdef HAVE_SGP EZPlot* pEZPlot = NULL; @@ -382,11 +384,20 @@ ProcessSignal::init (const int idFilter, const int idFilterMethod, double dBandw m_adFilter = new double [m_nFilterPoints]; std::complex* acInverseFilter = new std::complex [m_nFilterPoints]; +#define PRE_JAN_2001 1 +#ifdef PRE_JAN_2001 finiteFourierTransform (adSpatialFilter, acInverseFilter, m_nFilterPoints, BACKWARD); delete adSpatialFilter; for (i = 0; i < m_nFilterPoints; i++) m_adFilter[i] = std::abs (acInverseFilter[i]) * m_dSignalInc; delete acInverseFilter; +#else + finiteFourierTransform (adSpatialFilter, acInverseFilter, m_nFilterPoints, FORWARD); + delete adSpatialFilter; + for (i = 0; i < m_nFilterPoints; i++) + m_adFilter[i] = std::abs(acInverseFilter[i]); + delete acInverseFilter; +#endif #ifdef HAVE_SGP if (pEZPlot && m_traceLevel >= Trace::TRACE_PLOT) {