Transformadas de Fourier 2D
La función fft2
transforma datos 2D en espacio de frecuencia. Por ejemplo, puede transformar una máscara óptica 2D para revelar su patrón de difracción.
Transformada de Fourier bidimensional
La siguiente fórmula define la transformada discreta de Fourier Y de una matriz X de m por n.
ωm y ωn son raíces complejas de la unidad definidas por las siguientes ecuaciones.
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. Los índices para X e Y se desplazan por 1 en esta fórmula para reflejar los índices de matriz en MATLAB®.
Calcular la transformada de Fourier 2D de X equivale a calcular primero la transformada 1D de cada columna de X y, luego, tomar la transformada 1D de cada fila del resultado. En otras palabras, el comando fft2(X)
equivale a Y = fft(fft(X).').'
.
Patrón de difracción 2D
En óptica, la transformada de Fourier puede utilizarse para describir el patrón de difracción producido por una onda plana que incide en una máscara óptica con una pequeña apertura [1]. Este ejemplo utiliza la función fft2
en una máscara óptica para calcular su patrón de difracción.
Cree un arreglo lógico que defina una máscara óptica con una pequeña apertura circular.
n = 2^10; % size of mask M = zeros(n); I = 1:n; x = I-n/2; % mask x-coordinates y = n/2-I; % mask y-coordinates [X,Y] = meshgrid(x,y); % create 2-D mask grid R = 10; % aperture radius A = (X.^2 + Y.^2 <= R^2); % circular aperture of radius R M(A) = 1; % set mask elements inside aperture to 1 imagesc(M) % plot mask axis image
Utilice fft2
para calcular la transformada de Fourier 2D de la máscara y utilice la función fftshift
para reorganizar la salida de forma que el componente de frecuencia cero esté en el centro. Represente las frecuencias del patrón de difracción resultante. El azul indica amplitudes pequeñas, y el amarillo indica amplitudes grandes.
DP = fftshift(fft2(M));
imagesc(abs(DP))
axis image
Para realzar los detalles de las regiones con amplitudes pequeñas, represente el logaritmo 2D del patrón de difracción. Las amplitudes muy pequeñas se ven afectadas por el error de redondeo numérico, y la cuadrícula rectangular provoca asimetría radial.
imagesc(abs(log2(DP)))
axis image
Referencias
[1] Fowles, G. R. Introduction to Modern Optics. New York: Dover, 1989.
Consulte también
fft2
| fftshift
| fftn
| ifft2
| fft