y =
interp (x, q)
¶y =
interp (x, q, n)
¶y =
interp (x, q, n, Wc)
¶Upsample the signal x by a factor of q, using an order 2*q*n+1 FIR filter. Note that q must be an integer for this rate change method. n defaults to 4 and Wc defaults to 0.5.
Example
# Generate a signal. t=0:0.01:2; x=chirp(t,2,.5,10,'quadratic')+sin(2*pi*t*0.4); y = interp(x(1:4:length(x)),4,4,1); # interpolate a sub-sample stem(t(1:121)*1000,x(1:121),"-g;Original;"); hold on; stem(t(1:121)*1000,y(1:121),"-r;Interpolated;"); stem(t(1:4:121)*1000,x(1:4:121),"-b;Subsampled;"); hold off;
See also: decimate, resample.
The following code
## Generate a signal. t=0:0.01:2; x=chirp(t,2,.5,10,'quadratic')+sin(2*pi*t*0.4); y = interp(x(1:4:length(x)),4,4,1); # interpolate a sub-sample plot(t(1:121)*1000,y(1:121),"r-+;Interpolated;"); hold on; stem(t(1:4:121)*1000,x(1:4:121),"ob;Original;"); hold off; % graph shows interpolated signal following through the % sample points of the original signal.
Produces the following figure
Figure 1 |
---|
Package: signal