Fractal dimension from power density spectrum using FFT

4 views (last 30 days)
I believe I am doing something wrong when computating of the power density spectrum using fft. See details of my problem below. Any hints welcomed. Thanks.
I need to compute the fractal dimension of a series. I want to use the slope of the power density spectrum to derive it. The slope of the spectrum on a log-log plot, -b, and the the fractal dimension, D, are related by D=(5-b)/2. I am computing the power density spectrum using FFT.
I am testing the approach on a serie of known fractal dimension D=1.1 (see attached csv file for the actual serie, and plot below)
I am computing the power spectrum as following:
x=myserieabsissavalue;
X=myseriesvalues;
figure; plot(x,X); % display the series
l=length(x);
xmax=max(x);
Fs=(l-1)/xmax; % sampling frequency
T=1/Fs; % sampling time interval
nfft=2^nextpow2(l);
Y = fft(X,nfft)/l;
f = Fs/2*linspace(0,1,nfft/2+1);
flo=log10(f); % log10 of the frequency
plo=log10((2*abs(Y(1:nfft/2+1))).^2)'; % log10 of the power. ^2 is there to convert from amplitude spectrum to power spectrum
ix=find(flo>=min(flo(2:end)) & flo<=min(flo(2:end))+(max(flo(2:end))-min(flo(2:end)))*0.83); % fit only a section of the spectra
fio = fit(flo(ix)',plo(ix)','poly1');
bfft = -fio.p1; % slope of the power density spectrum on log-log plot
Dfft=(5-bfft)/2; % estimated fractal dimension
I obtaining a slope of the spectrum of about -2 (b=2) and thus overestimate the fractal dimension (1.5 instead of 1.1). I will get a slope of the spectrum of about 2 for any series with fractal dimension <1.5.
I suspect I am doing something wrong when computing the power density spectrum. Any hints are welcomed.
  1 Comment
Mohammad
Mohammad on 30 Mar 2014
Dear Benoît Valley Have you found your solution? my question is the same as your question. Thanks Mohammad mhodaei@siu.edu

Sign in to comment.

Answers (1)

Stef van Haaren
Stef van Haaren on 6 Nov 2018
Do you have the answer?

Categories

Find more on Fractals in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!