Moltiplicare per una fase lineare per un numero intero m corrisponde a uno spostamento circolare dell'uscita : viene sostituito da , dove viene interpretato il pedice modulo N (cioè periodicamente).
Ok, funziona benissimo:
plot a
N = 9
k = [0, 1, 2, 3, 4, 5, 6, 7, 8]
plot ifft(fft(a)*exp(-1j*2*pi*3*k/N))
Si è spostato di 3 campioni, come mi aspettavo.
Ho pensato che potresti farlo anche per spostare le frazioni di un campione, ma quando lo provo, il mio segnale diventa immaginario e per nulla simile all'originale:
plot real(ifft(fft(a)*exp(-1j*2*pi*3.5*k/N)))
plot imag(ifft(fft(a)*exp(-1j*2*pi*3.5*k/N))), 'b--'
Non me lo aspettavo affatto. Questo non equivale alla convoluzione con un impulso reale che è stato spostato di 3,5 campioni? Quindi l'impulso dovrebbe essere ancora reale e il risultato dovrebbe essere ancora reale? E dovrebbe avere più o meno la stessa forma dell'originale, ma sinceramente interpolato?