%Программа для% пакетного разложения% кардиосигнала по 8 каналам
%I, II, C1,C2,C3,C4,C5,C6
%w='db2'; %выбор вейвлета
w='bior1.5'; %выбор вейвлета
Fw = centfrq(w) % частота вейвлета
N=4; %выбор уровня% разложения% 
%Пересчет 8-каналов I, II, C1,C2,C3,C4,C5,C6 -- 
%в станд 12 каналов %I, II, III, aVR, aVL, aVF, V1,V2,V3,V4,V5,V6
v=fopen('D:\Med_Issled\Boln_F\Vrn_F.txt','rt'); %Открытие файла *.txt с данными 
S8=fscanf(v,'%g',[8 inf]); %Считывание данных из файла *.txt  
S8n=S8/(10^3); % Нормировка
L=S8n(1,:) ;F=S8n(2,:); 
St=S8n; %преименование осталось от предыдущей программы
sz=size(St); %Размер данных
for k=1:8
    Tk=wpdec(St(k,:),N,w); % Разложение в пакет к-ой строки -отведения%
        %NoSi=wprcoef(Tk,2); %Восстановление компоненты по набору коэффициентов
        %Nois(k)=std(NoSi); % Шум Средние квадратичные отклонения% в узле (1,1)% 
    for p=[5,6,9,10,17,18,16]; 
        Ko=wpcoef(Tk,p); 
        E='shannon';
        En(k,p)=wentropy(Ko,E);%энтропия% коэффициентов
        KoSi=wprcoef(Tk,p); %Восстановление компоненты по набору коэффициентов
        Sd(k,p)=std(KoSi); %Средние квадратичные отклонения% 
     Q=sz(2);  
     FK=fft(KoSi'); %Преобразование Фурье компонент сигнала
     F=FK';
     PKo=F.*conj(F)/Q;
    for l=1:(Q/2); P(l)=PKo(l); end    
        [B,I]=sort(-P); %sortirovka
        Fr1(k,p)=I(1)/(Q/1028); % Osnovnaj chastota
        Fr2(k,p)=I(2)/(Q/1028); % Vtoraja chastota
        PFr1(k,p)=-B(1)*(10^6); %Znachenie Osnovnoj chastoty
        PFr2(k,p)=-B(2)*(10^6);
        Ma=-B(1)/3;
            for s=1:(Q/4);
             if -B(s)>=Ma; NN(k,p)=s; 
             end 
             end    
     Ko=0; KoSi=0; B=0; I=0; FK=0;F=0; PKo=0; P=0; Ma=0; %Обнуление после цикла
end  %конец цикла по р
Tk=0; %NoSi=0;
end %конец цикла по к
Std=[Sd(:,5), Sd(:,6), Sd(:,9), Sd(:,10), Sd(:,17), Sd(:,18), Sd(:,16)];
Ent=[En(:,5),En(:,6),En(:,9),En(:,10),En(:,17),En(:,18),En(:,16)];

Fre=[Fr1(:,5),Fr2(:,5),PFr1(:,5),PFr2(:,5),NN(:,5), ... 
        Fr1(:,6),Fr2(:,6),PFr1(:,6),PFr2(:,6),NN(:,6), ... 
        Fr1(:,9),Fr2(:,9),PFr1(:,9),PFr2(:,9),NN(:,9), ...
        Fr1(:,10),Fr2(:,10),PFr1(:,10),PFr2(:,10),NN(:,10), ...  
        Fr1(:,17),Fr2(:,17),PFr1(:,17),PFr2(:,17),NN(:,17), ... 
        Fr1(:,18),Fr2(:,18),PFr1(:,18),PFr2(:,18),NN(:,18), ... 
        Fr1(:,16),Fr2(:,16),PFr1(:,16),PFr2(:,16),NN(:,16)];
Freq=Fre';
D=[Std,Ent]*(10^4);
%D=[Nois',Std,Ent]*(10^4);
Dat=[D';Freq];
fprintf(1, '%3.3f %3.3f %3.3f %3.3f %3.3f %3.3f %3.3f %3.3f',Dat);