FILTUP Function

Interpolation filter realization.

Usage

result = FILTUP([h,] x, m)

Input Parameters

h—(optional) An FIR filter. (Default: H(z) = 1)

x—A one-dimensional array containing a signal.

m—(scalar) The interpolation factor.

Returned Value

result—A one-dimensional array in double precision containing the filtered and up-sampled input sequence.

Keywords

Full—Directs FILTDOWN to call FIRFILT with the Full keyword. If present and nonzero, the entire result of the convolution of the input signal is returned, including the edge effects which are normally cut off.

Discussion

FILTUP is designed for use only with FIR filters.

FILTUP realizes the multirate signal processing operation of up-sampling followed by filtering (interpolation) for finite impulse response (FIR) filters, H(z) as shown in FILTUP Operation.

FILTUP Operation

The up-sampling shown in FILTUP Operation is given by:

 

Example

In this example, a signal is created and then up-sampled to make a signal with four times as many samples.

; Define a signal.
x = SIN(0.01*INDGEN(1000))
; The interpolation factor of 4 means that three new samples 
; will be inserted between each sample of the original signal.
m = 4
; Create an interpolation filter.
h = FILTUPDESIGN(m, 2)
; Interpolate the data, using the interpolation filter. This new 
; signal is approximately 4 times length of original signal.
newx = FILTUP(h, x, m)

See Also

FILTDOWN, FILTUPDESIGN, FIRFILT