Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Change language to: English - Français - Português - 日本語 -

Справка Scilab >> Signal Processing > ifftshift

# ifftshift

inverse of fftshift

### Calling Sequence

`y=ifftshift(x)`

### Arguments

x, y

real or complex vector or matrix.

### Description

`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.

### Examples

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)```