fft2 функция преобразует 2-D данные в частотное пространство. Например, можно преобразовать 2-D оптическую маску, чтобы показать ее дифракционную картину.
Следующая формула определяет дискретное преобразование Фурье Y матрицы m-на-n X.
startm и startn - комплексные корни единицы, определяемые следующими уравнениями.
− 2āi/n
i - мнимая единица, p и j - индексы, которые работают от 0 до m-1, а q и k - индексы, которые работают от 0 до n-1. Индексы для X и Y сдвигаются на 1 в этой формуле для отражения матричных индексов в MATLAB ®.
Вычисления 2-го Фурье преобразовывают X, эквивалентно первым вычислениям 1-D, преобразовывают каждой колонки X, и затем взятие 1-D преобразовывает каждого ряда результата. Другими словами, команда fft2(X) эквивалентно Y = fft(fft(X).').'.
В оптике преобразование Фурье может быть использовано для описания дифракционной картины, создаваемой плоской волной, падающей на оптическую маску с малой апертурой [1]. В этом примере используется fft2 функция на оптической маске для вычисления ее дифракционной картины.
Создайте логический массив, определяющий оптическую маску с небольшой круглой апертурой.
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

Использовать fft2 чтобы вычислить 2-го Фурье преобразовывают маски и используют fftshift функция для переупорядочивания выходного сигнала таким образом, чтобы нулевая частотная составляющая находилась в центре. Постройте график результирующих частот дифракционной картины. Синий цвет обозначает малые амплитуды, а желтый - большие амплитуды.
DP = fftshift(fft2(M));
imagesc(abs(DP))
axis image
Чтобы улучшить детали областей с небольшими амплитудами, постройте график 2-D логарифма дифракционной картины. На очень малые амплитуды влияет численная погрешность округления, и прямоугольная сетка вызывает радиальную асимметрию.
imagesc(abs(log2(DP)))
axis image
[1] Фаулз, Г. Р. Введение в современную оптику. Нью-Йорк: Дувр, 1989.
fft | fft2 | fftn | fftshift | ifft2