close all
clear all

disp('Identifikace pauz v rusenem recovem signalu');
[klip,Fvz,bits]=wavread('franco.wav');
klip_ascii=load('franco.ascii');

[ascii_radek, ascii_sloupec]=size(klip_ascii);
ramec=64; %delka ramce v ms

pocet=max(max(klip_ascii.*(Fvz/1000))); %zjisteni delky oznaceneho signalu
klip=klip(1:pocet,1); %zkraceni signalu a pouziti mono

klip=klip'; %prevod do radkoveho vektoru


%% idealVAD prepocet

idealVAD=ones(1,max(klip_ascii.*(Fvz/1000)));
for k=1:1:ascii_radek; % pro každý řádek
        for m=klip_ascii(k,1)*(Fvz/1000):1:klip_ascii(k,2)*(Fvz/1000);
            idealVAD(1,m)=0;
        end;
end;

%% vypocet potrebnych konstant

pocet=length(klip) %pocet vzorku signalu
t=pocet/Fvz %doba trvání signálu v ms


%% vzorkovani

ramec=floor(ramec/1000*Fvz) %delka ramce
prekryv=floor(ramec/4) %delka prekryti ramce
posuv=ramec-prekryv % velikost posuvu nasledujiciho ramce ve vzorcich
sloupec = floor(1+((pocet-ramec)/posuv)) % urceni na kolik sloupcu (ramcu) bude signall rozdelen


%% cyklus, kde do kazdeho sloupce ulozim jeden ramec

mat = zeros(ramec,sloupec); % inicializace matice vzorku

klip=klip(:);
for k=1:sloupec; % pro kazdy sloupec
    l = 1 + posuv * (k-1) ;
    mat(:,k)= klip(l:(l+ramec-1),1) ;
    mat_hamm(:,k)=mat(:,k).*hamming(ramec); %Hammingovo okno pro kazdy ramec (sloupec)
end;


