Signal Processing Toolbox    
intfilt

Interpolation FIR filter design

Syntax

Description

b = intfilt(r,l,alpha) designs a linear phase FIR filter that performs ideal bandlimited interpolation using the nearest 2*l nonzero samples, when used on a sequence interleaved with r-1 consecutive zeros every r samples. It assumes an original bandlimitedness of alpha times the Nyquist frequency. The returned filter is identical to that used by interp.

b = intfilt(r,n,'Lagrange') or

b = intfilt(r,n,'l') designs an FIR filter that performs nth-order Lagrange polynomial interpolation on a sequence interleaved with r-1 consecutive zeros every r samples. b has length (n + 1)*r for n even, and length (n + 1)*r-1 for n odd.

Both types of filters are basically lowpass and are intended for interpolation and decimation.

Examples

Design a digital interpolation filter to upsample a signal by four, using the bandlimited method:

The filter h1 works best when the original signal is bandlimited to alpha times the Nyquist frequency. Create a bandlimited noise signal:

Now zero pad the signal with three zeros between every sample. The resulting sequence is four times the length of x:

Interpolate using the filter command:

y is an interpolated version of x, delayed by seven samples (the group-delay of the filter). Zoom in on a section to see this:

intfilt also performs Lagrange polynomial interpolation of the original signal. For example, first-order polynomial interpolation is just linear interpolation, which is accomplished with a triangular filter:

Algorithm

The bandlimited method uses firls to design an interpolation FIR equivalent to that presented in [1]. The polynomial method uses Lagrange's polynomial interpolation formula on equally spaced samples to construct the appropriate filter.

See Also

decimate, downsample, interp, resample, upsample

References

[1] Oetken, Parks, and Schüßler, "New Results in the Design of Digital Interpolators," IEEE Trans. Acoust., Speech, Signal Processing, Vol. ASSP-23 (June 1975), pp. 301-309.


  interp invfreqs