inverse of fftshift
y=ifftshift(x)
real or complex vector or matrix.
ifftshift(x) swaps the left and right halves of the vector x.
For matrices, ifftshift(x) swaps the first quadrant with the third and the second quadrant with the fourth.
If x is a multidimensional array,
ifftshift(x) swaps "half-spaces" of x along each dimension.
Example #1:
// Make a signal t = 0:0.1:1000; x = 3*sin(t)+8*sin(3*t)+0.5*sin(5*t)+3*rand(t); // Compute the fft y = fft(x, -1); // Invert the result shift = fftshift(y); // Invert the inverted result invShift = ifftshift(shift); // Check that we recreated the original result and(y == invShift) | ![]() | ![]() |
Example #2:
// Make a 2D image t = 0:0.1:30; x = 3*sin(t')*cos(2*t)+8*sin(3*t')*sin(5*t)+.. 0.5*sin(5*t')*sin(5*t)+3*rand(t')*rand(t); // Compute the fft y = fft(x,-1); // Invert the result shift = fftshift(y); // Invert the inverted result invShift = ifftshift(shift); // Check that we recreated the original result and(y == invShift) | ![]() | ![]() |