Main Content

fft2

Transformada rápida de Fourier en 2D

Descripción

ejemplo

Y = fft2(X) devuelve la transformada bidimensional de Fourier de una matriz X utilizando un algoritmo de la transformada rápida de Fourier, que es equivalente a calcular fft(fft(X).').'.

Cuando X es un arreglo multidimensional, fft2 calcula la transformada bidimensional de Fourier en las dos primeras dimensiones de cada subarreglo de X que pueda tratarse como una matriz bidimensional para dimensiones superiores a 2. Por ejemplo, si X es un arreglo de m por n por 1 por 2, Y(:,:,1,1) = fft2(X(:,:,1,1)) y Y(:,:,1,2) = fft2(X(:,:,1,2)). La salida Y tiene el mismo tamaño que X.

ejemplo

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

Ejemplos

contraer todo

La transformada de Fourier en 2D es útil para procesar señales en 2D y otros datos en 2D, como imágenes.

Cree y represente datos en 2D con bloques repetidos.

P = peaks(20);
X = repmat(P,[5 10]);
imagesc(X)

Figure contains an axes object. The axes object contains an object of type image.

Calcule la transformada de Fourier en 2D de los datos. Desplace el componente de frecuencia cero al centro de la salida y represente la matriz de 100 por 200 resultante, que tiene el mismo tamaño que X.

Y = fft2(X);
imagesc(abs(fftshift(Y)))

Figure contains an axes object. The axes object contains an object of type image.

Rellene X con ceros para calcular una transformada de 128 por 256.

Y = fft2(X,2^nextpow2(100),2^nextpow2(200));
imagesc(abs(fftshift(Y)));

Figure contains an axes object. The axes object contains an object of type image.

Argumentos de entrada

contraer todo

Arreglo de entrada, especificado como matriz o arreglo multidimensional. Si X es del tipo single, fft2 calcula de forma nativa en precisión simple e Y es también del tipo single. De lo contrario, Y 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, especificado como escalar entero positivo.

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

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

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

Más acerca de

contraer todo

Transformada de Fourier en 2D

Esta fórmula define la transformada discreta de Fourier Y de una matriz X de m por n:

Yp+1,q+1=j=0m1k=0n1ωmjpωnkqXj+1,k+1

ωm y ωn son raíces complejas de unidad:

ωm=e2πi/mωn=e2πi/n

i es la unidad imaginaria. p y j son índices que van de 0 a m–1, y q y k son índices que van de 0 a n–1. Esta fórmula desplaza los índices para X e Y una unidad para reflejar los índices de matriz en MATLAB®.

Capacidades ampliadas

Generación de código de GPU
Genere código CUDA® para GPU NVIDIA® mediante GPU Coder™.

Historial de versiones

Introducido antes de R2006a

Consulte también

| | |