function[]=mese4b() printf('************************************************************\n'); printf('* Maximum Entropy Spectrum Estimation method for scilab. *\n'); printf('* *\n'); printf('* written by T.Sugimoto *\n'); printf('* *\n'); printf('* mese4b.sci (CSV and WAV data) 2006/03/19 *\n'); printf('************************************************************\n'); printf('\n'); printf('0: CSV data; 2x2500 point (TDS2002 Digital Oscilloscope).\n'); printf('1: WAV data; 8000sample/sec (YP-U1 Digital Audio player).\n'); printf('\n'); w=input("Choose data type 0 or 1"); if w==1 then x=input("Input datafile name(wav data)=?","string"); printf('\n'); dummy=loadwave(x); printf('\n'); //printf('Default sampling rate is 8000 samp/sec.\n'); printf('To keep good response, strongly suggest the use of under 10,000 data.\n'); printf('\n'); dn=input("Input number of data=?"); sr=8000; ydat=wavread(x,dn); [nr,nc]=size(ydat); dt=1/(sr); xdat=0:dt:(dt*(nc-1)); else x=input("Input datafile name(csv data)=?","string"); dat=read(x,-1,2)'; xdat=dat(1,:); ydat=dat(2,:); dt=xdat(2)-xdat(1); [nr,nc]=size(xdat); end xset("font",5,18);xset("thickness",12); xset("window",0); xbasc(); plot2d(xdat,ydat); xtitle('Original waveform ('+x+')','Time(s)','Amplitude(V)') // fr=0:1/(dt*(nc-1)):1/dt; yf=fft(ydat,-1); xset("window",1); xbasc(); plot2d(fr(1:nc/2),log10(yf(1:nc/2)'.*yf(1:nc/2).')); xtitle('Foureir Transform ('+x+')','Frequency(Hz)','Power Spectrum') [sm,fe]=mese(ydat,nc); fr2=0:1/(2*dt*(nc-1)):1/(2*dt); xset("window",2); xbasc(); plot2d(fr2,log10(sm)'); xtitle('Maximum Entropy Method ('+x+')','Frequency(Hz)','Power Spectrum') endfunction