Perform ideal bandlimited interpolation of a random signal sampled at integer spacings.
Assume that the signal to interpolate,
x, is 0 outside of the given time interval and has been sampled at the Nyquist frequency. Reset the random number generator for reproducibility.
rng default t = 1:10; x = randn(size(t))'; ts = linspace(-5,15,600); [Ts,T] = ndgrid(ts,t); y = sinc(Ts - T)*x; plot(t,x,'o',ts,y) xlabel Time, ylabel Signal legend('Sampled','Interpolated','Location','SouthWest') legend boxoff
x— Input array
Input array, specified as a real-valued or complex-valued scalar, vector,
matrix, N-D array, or
x is nonscalar,
an element-wise operation.
Complex Number Support: Yes
y— Sinc of input
Sinc of the input array,
x, returned as a real-valued
or complex-valued scalar, vector, matrix, N-D array, or
gpuArray object of the same size as
The sinc function is defined by
This analytic expression corresponds to the continuous inverse Fourier transform of a rectangular pulse of width 2π and height 1:
The space of functions bandlimited in the frequency range is spanned by the countably infinite set of sinc functions shifted by integers. Thus, you can reconstruct any such bandlimited function g(t) from its samples at integer spacings:
This function fully supports tall arrays. For more information, see Tall Arrays.
This function fully supports GPU arrays. For more information, see Run MATLAB Functions on a GPU (Parallel Computing Toolbox).