1D Fourier shift

Version 1.1.0.0 (1,89 ko) par Tim
Shift 1D signals using the Fourier shift theorem.
1,4K téléchargements
Mise à jour 11 fév. 2010

Afficher la licence

This code uses the Fourier shift theorem to cyclically shift 1D signals by an arbitrary amount. Both integer and non-integer shifts work.

It also supports padding the signal with zeros so that the shift appears non-cyclic (although it really isn't). If this is done then the shift amount is clamped so that the signal can't cycle round again.

It works with signals of any length and is completely vectorised.

Usage:

y = FourierShift(x, delta, zero_pad)

x = input vector (column or row)
y = output column vector
delta = shift amount in samples
zero_pad (optional) = if set to 'pad' then it simulates non-cyclic shifting

Example:

for ii = -50:0.4:50
plot(FourierShift(sinc(-2:0.1:2), ii, 'pad'))
pause(0.1);
end

Citation pour cette source

Tim (2024). 1D Fourier shift (https://www.mathworks.com/matlabcentral/fileexchange/23414-1d-fourier-shift), MATLAB Central File Exchange. Récupéré le .

Compatibilité avec les versions de MATLAB
Créé avec R2008a
Compatible avec toutes les versions
Plateformes compatibles
Windows macOS Linux
Catégories
En savoir plus sur Audio Processing Algorithm Design dans Help Center et MATLAB Answers

Community Treasure Hunt

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

Start Hunting!
Version Publié le Notes de version
1.1.0.0

Small fix for even-length signals.

1.0.0.0