dx_m = 0.5;
dy_m = 0.5;
MaxLevel = 6;
seed = 8675309;
H = 0.5;
FractalImage = midpoint(MaxLevel,H,seed);
N = 2.0^MaxLevel;
X1D = dx_m.*[-N/2:N/2];
Y1D = dy_m.*[-N/2:N/2];
figure('Color','white');
subplot(2,1,1)
imagesc(X1D,Y1D,FractalImage,[-3 3]);
title({'Fractional Brownian Motion';['Hurst =' num2str(H) ...
' Fractal Dimension =' num2str(3-H)]},'fontsize',12);
axis equal
axis tight
colormap(bone);
colorbar
set(gca,'fontweight','bold');
xlabel('X [m]'); ylabel('Y [m]');
ny = N;
nx = N;
dfy = 1/(ny*dy_m);
dfx = 1/(nx*dx_m);
fy = (-0.5/dy_m:dfy:(0.5/dy_m-1/(ny*dy_m)));
fx = (-0.5/dx_m:dfx:(0.5/dx_m-1/(nx*dx_m)));
FFT_FractalImage = fft2(FractalImage);
subplot(2,1,2)
imagesc(fx,fy,20*log10(abs(fftshift(FFT_FractalImage))));
axis equal; axis tight; colormap(bone); colorbar
set(gca,'fontweight','bold');
xlabel('Frequency [1/m]'); ylabel('Frequency [1/m]');
title('FFT2D Output','fontsize',12);
0 Comments
Sign in to comment.