Contenido principal

ifft2

Transformada rápida de Fourier inversa en 2D

Descripción

X = ifft2(Y) devuelve la transformada inversa discreta de Fourier de una matriz utilizando un algoritmo de la transformada rápida de Fourier. Si Y es un arreglo multidimensional, ifft2 utiliza la transformada inversa en 2D de cada dimensión superior a 2. La salida X tiene el mismo tamaño que Y.

ejemplo

X = ifft2(Y,m,n) trunca Y o rellena Y con ceros finales para formar una matriz de m por n antes de calcular la transformada inversa. X también es de m por n. Si Y es un arreglo multidimensional, ifft2 da forma a las primeras dos dimensiones de Y según m y n.

ejemplo

X = ifft2(___,symflag) especifica la simetría de Y además de cualquiera de las combinaciones de argumentos de entrada de las sintaxis anteriores. Por ejemplo, ifft2(Y,'symmetric') trata Y como simétrica conjugada.

ejemplo

Ejemplos

contraer todo

Puede utilizar la función ifft2 para convertir señales 2D muestreadas en frecuencia a señales muestreadas en tiempo o espacio. La función ifft2 también permite controlar el tamaño de la transformada.

Cree una matriz de 3 por 3 y calcule su transformada de Fourier.

X = magic(3)
X = 3×3

     8     1     6
     3     5     7
     4     9     2

Y = fft2(X)
Y = 3×3 complex

  45.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i  13.5000 + 7.7942i   0.0000 - 5.1962i
   0.0000 - 0.0000i   0.0000 + 5.1962i  13.5000 - 7.7942i

Calcule la transformada inversa de Y, que es igual que la matriz original X, hasta el error de redondeo.

ifft2(Y)
ans = 3×3

    8.0000    1.0000    6.0000
    3.0000    5.0000    7.0000
    4.0000    9.0000    2.0000

Rellene ambas dimensiones de Y con ceros finales para que la transformada tenga un tamaño de 8 por 8.

Z = ifft2(Y,8,8);
size(Z)
ans = 1×2

     8     8

Para matrices simétricas casi conjugadas, puede calcular la transformada de Fourier inversa más rápido especificando la opción 'symmetric', que también garantiza que la salida sea real.

Calcule la transformada inversa de Fourier en 2D de una matriz simétrica casi conjugada.

Y = [3+1e-15*i 5;
     5 3];
X = ifft2(Y,'symmetric')
X = 2×2

     4     0
     0    -1

Argumentos de entrada

contraer todo

Arreglo de entrada, especificado como matriz o arreglo multidimensional. Si Y es del tipo single, ifft2 calcula de forma nativa en precisión simple e X es también del tipo single. De lo contrario, X se devuelve como tipo double.

Tipos de datos: double | single | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical
Soporte de números complejos:

Número de filas de la transformada inversa, especificado como escalar entero positivo.

Tipos de datos: double | single | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical

Número de columnas de la transformada inversa, especificado como escalar entero positivo.

Tipos de datos: double | single | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical

Tipo de simetría, especificado como 'nonsymmetric' o 'symmetric'. Cuando Y no es exactamente simétrica conjugada debido a un error de redondeo, ifft2(Y,'symmetric') trata Y como si fuera simétrica conjugada ignorando la segunda mitad de sus elementos (que están en el espectro de frecuencias negativas). Para obtener más información sobre la simetría conjugada, consulte Algoritmos.

Más acerca de

contraer todo

Algoritmos

  • La función ifft2 comprueba si la matriz Y es simétrica conjugada. Si Y es simétrica conjugada, el cálculo de la transformada inversa es más rápido y la salida es real.

    Una función g(a,b) es simétrica conjugada si g(a,b)=g*(a,b). Sin embargo, la transformada rápida de Fourier de una señal 2D en el dominio del tiempo tiene una mitad de su espectro en frecuencias positivas y la otra en frecuencias negativas, y la primera fila y columna se reservan para la frecuencia cero. Por esta razón, una matriz Y es simétrica conjugada cuando se cumplen todas estas condiciones:

    • Y(1,2:end) es conjugada simétrica o Y(1,2:end) = conj(Y(1,end:-1:2))

    • Y(2:end,1) es conjugada simétrica o Y(2:end,1) = conj(Y(end:-1:2,1))

    • Y(2:end,2:end) es conjugada centrosimétrica o Y(2:end,2:end) = conj(Y(end:-1:2,end:-1:2))

Capacidades ampliadas

expandir todo

Historial de versiones

Introducido antes de R2006a

Consulte también

| | | |