| Signal Processing Toolbox | ![]() |
Increase sampling rate by an integer factor (interpolation).
Syntax
y=interp(x,r) y=interp(x,r,l,alpha) [y,b]=interp(x,r,l,alpha)
Description
Interpolation increases the original sampling rate for a sequence to a higher rate. interp performs lowpass interpolation by inserting zeros into the original sequence and then applying a special lowpass filter.
y increases the sampling rate of = interp(x,r)
x by a factor of r. The interpolated vector y is r times longer than the original input x.
y specifies = interp(x,r,l,alpha)
l (filter length) and alpha (cut-off frequency). The default value for l is 4 and the default value for alpha is 0.5.
[y,b] returns vector = interp(x,r,l,alpha)
b containing the filter coefficients used for the interpolation.
Examples
Interpolate a signal by a factor of four.
t=0:0.001:1; % Time vector x=sin(2*pi*30*t) + sin(2*pi*60*t); y=interp(x,4); stem(x(1:30)); title('Original Signal'); figure stem(y(1:120)); title('Interpolated Signal');
Algorithm
interp uses the lowpass interpolation Algorithm 8.1 described in [1]:
The length of the FIR lowpass interpolating filter is 2*l*r+1. The number of original sample values used for interpolation is 2*l. Ordinarily, l should be less than or equal to 10. The original signal is assumed to be band limited with normalized cutoff frequency 0
alpha
1, where 1 is half the original sampling frequency (the Nyquist frequency). The default value for l is 4 and the default value for alpha is 0.5.
Diagnostics
If r is not an integer, interp gives the following error message.
Resampling rate R must be an integer.
See Also
|
Decrease the sampling rate for a sequence (decimation). |
|
One-dimensional data interpolation (table lookup) (see the MATLAB documentation). |
|
Change sampling rate by any rational factor. |
|
Cubic spline interpolation (see the MATLAB documentation). |
|
Upsample, apply an FIR filter, and downsample. |
References
[1] Programs for Digital Signal Processing, IEEE Press, New York, 1979, Algorithm 8.1.
| impz | intfilt | ![]() |