File Exchange

image thumbnail


version (1.12 KB) by Francois Bouffard
Shifts the elements of an array by a (possibly non-integer) given number of elements.


Updated 06 Aug 2015

View License

FSHIFT shifts the elements in a vector by a given number of elements, as CIRCSHIFT does. However, a non-integer shift value can be used, in which case the elements are shifted along the perfect (sinc-based) interpolation of the periodisation of the vector. For integer shift values, FSHIFT is equivalent to CIRCSHIFT to machine precision.
The syntax to FSHIFT is slightly different from CIRCSHIFT (FSHIFT expects only vectors for its first argument and a scalar for its second argument). Also, the second arguments produces a shift in the opposite direction of CIRCSHIFT to be consistent with the usual statement of the shift property of the Fourier transform.
FSHIFT works by introducing a linear phase into the vector's DFT. As such, if there is a discontinuity between the first and last elements of the input vector, the output vector may present significant ringing.

Cite As

Francois Bouffard (2021). fshift (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R13
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!