** Date Started: Aug 1984
**
** This is part of the CTSim program
-** Copyright (C) 1983-2000 Kevin Rosenberg
+** Copyright (c) 1983-2000 Kevin Rosenberg
**
-** $Id: filter.cpp,v 1.29 2000/11/22 07:38:52 kevin Exp $
+** $Id: filter.cpp,v 1.36 2001/02/11 04:56: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
int SignalFilter::N_INTEGRAL=500; //static member
const int SignalFilter::FILTER_INVALID = -1 ;
-const int SignalFilter::FILTER_ABS_BANDLIMIT = 0; // filter times |x = |
+const int SignalFilter::FILTER_ABS_BANDLIMIT = 0; // filter times |x|
const int SignalFilter::FILTER_ABS_G_HAMMING = 1;
const int SignalFilter::FILTER_ABS_COSINE = 2;
const int SignalFilter::FILTER_ABS_SINC = 3;
const int SignalFilter::FILTER_COSINE = 8;
const int SignalFilter::FILTER_TRIANGLE = 9;
+const int SignalFilter::s_iReconstructFilterCount = 5;
+
const char* SignalFilter::s_aszFilterName[] = {
{"abs_bandlimit"},
{"abs_hamming"},
double zinc = (zmax - zmin) / (n - 1);
double z = zmin;
- double q [n];
+ double* q = new double [n];
for (int i = 0; i < n; i++, z += zinc)
q[i] = frequencyResponse (filterID, bw, z, param) * cos (TWOPI * z * x);
double y = 2 * integrateSimpson (zmin, zmax, q, n);
-
+ delete q;
+
return (y);
}
}
-/* NAME
- * sinc Return sin(x)/x function
- *
- * SYNOPSIS
- * v = sinc (x, mult)
- * double v sinc value
- * double x, mult
- *
- * DESCRIPTION
- * v = sin(x * mult) / x;
- */
+// Functions that are inline in filter.h
+
+
+// sinc Return sin(x)/x function
+// v = sinc (x, mult)
+// Calculates sin(x * mult) / x;
+
+// integral_abscos Returns integral of u*cos(u)
+//
+// q = integral_abscos (u, w)
+// double q Integral value
+// double u Integration variable
+// double w Upper integration boundary
+// Returns the value of integral of u*cos(u)*dV for V = 0 to w
-/* NAME
- * integral_abscos Returns integral of u*cos(u)
- *
- * SYNOPSIS
- * q = integral_abscos (u, w)
- * double q Integral value
- * double u Integration variable
- * double w Upper integration boundary
- *
- * DESCRIPTION
- * Returns the value of integral of u*cos(u)*dV for V = 0 to w
- */