|
Kategorie: Diplomové, bakalářské práce |
Tento dokument chci!
Práce popisuje základy principu funkčnosti neuronů a vytvoření umělých neuronových sítí. Je zde důkladně popsána struktura a funkce neuronů a ukázán nejpoužívanější algoritmus pro učení neuronů. Základy fuzzy logiky, včetně jejich výhod a nevýhod, jsou rovněž prezentovány. Detailněji je popsán algoritmus zpětného šíření chyb a adaptivní neuro-fuzzy inferenční systém. Tyto techniky poskytují efektivní způsoby učení neuronových sítí.
m
function pars params( )
s=reshape(s,1,[]);
bandpassfilter_struct =.bandpass('n,f3dB1,f3dB2',8,100,4000,fs),'butter');
sf=filter(bandpassfilter_struct, s);
framestep=20; %ms
framelen=25; %ms
melfilerbankcount=10; %number cepstral parameters
framelensamp=floor(framelen/1000*fs); %number samples frame
w hamming(framelensamp)'; %frame window
pars=[];
framenum=0;
while 1
framestart=floor(framenum*framestep/1000*fs+1);
frameend=framestart+framelensamp-1;
if frameend>length(s)
break;
end
frame=sf(framestart:frameend); %current frame
framew=frame.3 params..*w; %apply window
melspect=melfilterbank(abs(fft(framew)), melfilerbankcount, 100, 4000,
fs); %calculate mel spectral coefficients
melspectlog=log10(melspect);
mfcc=dct(melspectlog); %calculate cepstral coefficients
pars [pars; mfcc];
framenum=framenum+1;
end
pars=reshape(pars,1,[]);
end
function res melfilterbank( spectrum, f1, f2, fs)
f=linspace(0,fs,length(spectrum));
melf=logspace(log10(f1), log10(f2), n+2); %border frequencies
%calculate coefficients for each filter bank sequentially and apply it
res=[];
for i=2:n+1
coeff1 (f-melf(i-1))/(melf(i)-melf(i-1));
coeff2 (f-melf(i))/(melf(i)-melf(i+1));
coeff min(coeff1, coeff2);
coeff(coeff<0)=0;
res [res sum(coeff..*spectrum)];
end
end
.
design(fdesign.54
A