Fractal dimension from power density spectrum using FFT

조회 수: 12 (최근 30일)
Benoît Valley
Benoît Valley 2013년 12월 18일
답변: Stef van Haaren 2018년 11월 6일
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
Mohammad
Mohammad 2014년 3월 30일
Dear Benoît Valley Have you found your solution? my question is the same as your question. Thanks Mohammad mhodaei@siu.edu

댓글을 달려면 로그인하십시오.

답변 (1개)

Stef van Haaren
Stef van Haaren 2018년 11월 6일
Do you have the answer?

카테고리

Help CenterFile Exchange에서 Fractals에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by