Signal Processing Toolkit User Guide > Reference (A to F) > FILTUPDESIGN Function (PV-WAVE Extreme Advantage)
  

FILTUPDESIGN Function (PV-WAVE Extreme Advantage)
Designs a filter to be used with FILTUP.
Usage
result = FILTUPDESIGN(m, l[, alpha])
Input Parameters
m—(scalar) The interpolation factor. This should be the same value as that being passed into FILTUP.
l—An integer used to determine the order of the filter. The filter order is given by n = 2lm.
alpha—(optional) A scalar value used to scale the filter cutoff frequency. The normalized cutoff frequency is given by alpha divided by m. (Default: alpha = 1)
Returned Value
result—A filter structure to be used with FILTUP.
Keywords
None.
Discussion
FILTUPDESIGN generates an optimal linear phase interpolator filter. The filter generated has the property that every m-th point of the interpolated signal is equal to a corresponding point in the original sequence.
The filter design technique implemented in FILTUPDESIGN is based on a paper by Oetken, Parks, and Schussler, 1975.
Example
In this example, a signal is interpolated to get a signal four times the length of the original.
m = 4
nx = 100
freq = 0.9
; Create a signal.
x = SIN(!Pi*(freq)*FINDGEN(nx))
alpha = 1.0
; This will cause the resulting filter to be of order 32.
l = 4
; Create interpolation filter and interpolate and filter.
h = FILTUPDESIGN(m, l, alpha)
; To check interpolation filter, decimate interpolated, filtered
; data. Original data set is returned, to within a close epsilon.
result = FILTUP(h, x, m)
newx = FILTDOWN(result, m)
; Difference between interpolation filter data.
PRINT, TOTAL(ABS(newx - x))
; PV-WAVE prints: 2.5938099e-14
See Also
FILTUP
For Additional Information
Oetken, Parks, and Schussler, 1975.

Version 2017.0
Copyright © 2017, Rogue Wave Software, Inc. All Rights Reserved.