NAME:
	sincfltr
 PURPOSE: (one line)
	Pass 1-d data through a low-pass filter (damped sinc).
 DESCRIPTION:
	This procedure will filter an array of data with a low pass filter.
	The input value, smofac, determines the high-frequency cut-off in the
	output data.  The new cutoff will be 1/smofac times the old cutoff
	frequency which is defined to be 1/2 the sampling interval in the
	original data.

	Thus, a smofac of 1 will return the original array and a smofac greater
	than one will reduce the resolution of the input by that factor.  Large
	values of smofac ( > 6 ) should be avoided.  For large values it is
	much faster to do the filtering in multiple steps (provided you
	sub-sample the output vector).

	The filter is a damped sinc function and requires 21*smofac points in
	the convolution kernel.

	Note: The convolution will not be complete for any data point near the
	edge, so those points cannot be trusted.  The edge effect will be
	larger for larger values of the smofac.

	If smofac is greater than 2, not all smoothed points are required.
	Since the filter reduces the band-limit of the data, you can
	sub-sample the output array with no loss of information.  For instance,
	a smofac=4 will reduce the resolution of the data by a factor of 4.
	That means all you need to save is every fourth point to retain all
	of the information in the smoothed vector, ie., a step_by of 4.
	In practice, it is probably wise to use a step_by value that is slightly
	smaller than the value of smofac, eg., smofac=6, step_by=5.

	For a more detailed description of filtering, convolution, sub-sampling,
	and other related topics, consult the excellent reference: "The Fourier
	 Transform and Its Applications", by Ronald N. Bracewell, 2nd ed.,
	 McGraw Hill.

 CATEGORY:
       Numerical
 CALLING SEQUENCE:
	ans = sincfltr(x,smofac,step_by)
 INPUTS:
	x       - Input data to be smoothed.
	smofac  - Smoothing factor relative to current sampling of data.
	step_by - Sub-sampling factor for output vector (integer).
 OPTIONAL INPUT PARAMETERS:
 KEYWORD PARAMETERS:
 OUTPUTS:
	return = smoothed and (possibly) sub-sampled data.
 COMMON BLOCKS:
 SIDE EFFECTS:
 RESTRICTIONS:
 PROCEDURE:
 MODIFICATION HISTORY:
	92/11/03 - Ported from an equivalent Zodiac function written in C.
		Marc W. Buie, Lowell Observatory.
  94/08/29, MWB, fixed bug for when length of input not evenly divisible
                 by the sub-sample factor.
  95/03/29, MWB, fixed bug
  2003/10/20, MWB, fixed error with convpts, now code forces convpts to
                     be odd.  Previously, if it came up even then the
                     output data was shifted by one point.