Main Content

sinc

Description

y = sinc(x) returns an array, y, whose elements are the sinc of the elements of the input, x. The output y is the same size as x.

example

Examples

collapse all

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

Figure contains an axes object. The axes object with xlabel Time, ylabel Signal contains 2 objects of type line. One or more of the lines displays its values using only markers These objects represent Sampled, Interpolated.

Input Arguments

collapse all

Input array, specified as a real-valued or complex-valued scalar, vector, matrix, or N-D array. When x is nonscalar, sinc is an element-wise operation.

Data Types: single | double
Complex Number Support: Yes

Output Arguments

collapse all

Sinc of the input array, x, returned as a real-valued or complex-valued scalar, vector, matrix, or N-D array of the same size as x.

More About

collapse all

sinc

The sinc function is defined by

sinct={sinπtπtt0,1t=0.

This analytic expression corresponds to the continuous inverse Fourier transform of a rectangular pulse of width 2π and height 1:

sinct=12πππejωtdω.

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:

g(t)=n=g(n)sinc(tn).

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Version History

Introduced before R2006a