Interpolation — increase sampling rate by integer factor
y = interp(x,r)
y = interp(x,r,n,alpha)
[y,b] = interp(x,r,n,alpha)
Interpolation increases the original sampling rate of a sequence
to a higher rate. It is the opposite of decimation.
0s into the original signal and then applies a lowpass
interpolating filter to the expanded sequence.
two additional values.
n is half the number of
original sample values used to interpolate the expanded signal. Its
default value is 4. It should ideally be less than or equal to 10.
the normalized cutoff frequency of the input signal, specified as
a fraction of the Nyquist frequency. It defaults to 0.5. The lowpass
interpolation filter has length
2*n*r + 1.
x— Input signal
Input signal, specified as a vector.
r— Interpolation factor
Interpolation factor, specified as a positive integer scalar.
n— Half-number of input samples used for interpolation
Half-number of input samples used for interpolation, specified
as a positive integer scalar.
n should never
be greater than 10.
alpha— Normalized cutoff frequency
Normalized cutoff frequency of the input signal, specified as a positive real scalar not greater than 1. A value of 1 means that the signal occupies the full Nyquist interval.
y— Interpolated signal
Interpolated signal, returned as a vector.
b— Lowpass interpolation filter coefficients
Lowpass interpolation filter coefficients, returned as a column vector.
Create a sinusoidal signal sampled at 1 kHz. Interpolate it by a factor of four.
t = 0:0.001:1; x = sin(2*pi*30*t) + sin(2*pi*60*t); y = interp(x,4);
Plot the original and interpolated signals.
subplot 211 stem(0:30,x(1:31),'filled','markersize',3) grid on xlabel 'Sample number',ylabel Original subplot 212 stem(0:120,y(1:121),'filled','markersize',3) grid on xlabel 'Sample number',ylabel Interpolated
interp uses the lowpass interpolation algorithm
8.1 described in .
It expands the input vector to the correct length by inserting 0s between the original data values.
It designs a special symmetric FIR
filter that allows the original data to pass through unchanged and
interpolates to minimize the mean-square error between the interpolated
points and their ideal values. The filter used by
the same as the filter returned by
It applies the filter to the expanded input vector to produce the output.
 Digital Signal Processing Committee of the IEEE Acoustics, Speech, and Signal Processing Society, eds. Programs for Digital Signal Processing. New York: IEEE Press, 1979, chap. 8.
 Oetken, G., Thomas W. Parks, and H. W. Schüssler. "New results in the design of digital interpolators." IEEE® Transactions on Acoustics, Speech, and Signal Processing. Vol. ASSP-23, 1975, pp. 301–309.