clear all; close all; clc; pkg load optim; path='PSD_Data_1\'; files=dir(sprintf('%s*.mat',path)); [r1,c1]=size(files); fs=3000; curveorder=1; load(sprintf('%s%s',path,files(1).name)); l=length(data); nfft=2^nextpow2(l); f=0:fs/nfft:fs/2; f2=f(2:end); freqspec=abs(fft(data,nfft)); freqspec=freqspec(1:nfft/2+1); powspec=1/(fs*nfft)*abs(freqspec).^2; powspec(2:end-1)=2*powspec(2:end-1); powspecdb=10*log10(powspec); [alpha,c,rmsval]=expfit(curveorder,f(1),(fs/nfft),powspecdb); curveval=(-exp(alpha*f))*c; figure semilogx(f,curveval); hold on; semilogx(f,powspecdb); curvecoeff=polyfit(f',powspecdb,1); curveval2=polyval(curvecoeff,f'); grid on; hold off; figure semilogx(f,curveval2); hold on semilogx(f,powspecdb); grid on; hold off; print(1,'PleaseDoNotCrash.png');