%% metoda FIR-DP
%petr Procházka
close all
%% výběr signálu, svodu
svod=1;                        %výběr svodu s navázeným trendem
xx=xT(svod,:);                  



N = 901;                        %délka impulsní charakteristiky filtru 
fmez = 0.67;                    %mezní frekvence
fvz = 500;                      %vzorkovací kmitočet

%filtrace
h = fir1(N,fmez/(fvz/2),'low');
y = filtfilt(h,1,xx);

HP=xx-y;                         %odečtení výstupu od vstupu
z=HP-xZ(svod,:);                 %rozdílový signál
cas= 0.002:0.002:10;            % Prepocet casove osy


%% vypočet SNR
orig=xZ(svod,:);
VykonSig=sum(orig.^2);
VykonSum=sum((HP-orig).^2);
SNR = 10*log( VykonSig/VykonSum );
SNR=SNR - 5

%% vykreslení
figure
subplot(311)
plot(cas,xZ(svod,:))
title('originální signál')
xlabel('Čas [s]')
ylabel('napětí [uV]')
subplot(312)
plot(cas,xx)
title('původní signál s navázaným trendem')
xlabel('Čas [s]')
ylabel('napětí [uV]')
subplot(313)
plot(cas,HP,'r')
title('vyfiltrovaný signál')
xlabel('Čas [s]')
ylabel('napětí [uV]')

figure
subplot(211)
plot(cas,xZ(svod,:))
hold on
plot(cas,HP,'r');
title('originální signál + vyfiltrovaný signál')
xlabel('Čas [s]')
ylabel('napětí [uV]')

subplot(212)
plot(cas,z)
title('rozdílový signál')
xlabel('Čas [s]')
ylabel('napětí [uV]')




spekt_puv=abs(fft(xx));
spekt_vyf=abs(fft(HP));
spekt_orig=abs(fft(xZ(svod,:)));

delka_vyrezu_spektra=50;

figure
subplot(131);
stem((1:delka_vyrezu_spektra)/10,spekt_puv(1:delka_vyrezu_spektra));
title('              výřez spektra původního signálu')
axis([0 5 0 max(spekt_puv(1:delka_vyrezu_spektra))+10000])
xlabel('frekvence[Hz]')
ylabel('amplituda[uV/Hz]')
subplot(132);
stem((1:delka_vyrezu_spektra)/10,spekt_puv(1:delka_vyrezu_spektra));
title('              výřez spektra původního signálu')
axis([0 5 0 max(spekt_vyf(1:delka_vyrezu_spektra))+10000])
xlabel('frekvence[Hz]')
ylabel('amplituda[uV/Hz]')
subplot(133);
stem((1:delka_vyrezu_spektra)/10,spekt_vyf(1:delka_vyrezu_spektra),'r');
title('              výřez spektra vyfiltrovaného signálu')
axis([0 5 0 max(spekt_vyf(1:delka_vyrezu_spektra))+10000])
xlabel('frekvence[Hz]')
ylabel('amplituda[uV/Hz]')

% vykreslení spekter
delka_vyrezu_spektra1=100;

figure
subplot(211)
stem((1:delka_vyrezu_spektra1)/10,abs(spekt_puv(1:delka_vyrezu_spektra1)))
hold on
stem((1:delka_vyrezu_spektra1)/10,spekt_vyf(1:delka_vyrezu_spektra1),'r')
title('výřez spektra vyfiltrovaného a původního signálu s trendem')
xlabel('frekvence[Hz]')
ylabel('amplituda[uV/Hz]')
subplot(212)
stem((1:delka_vyrezu_spektra1)/10,spekt_orig(1:delka_vyrezu_spektra1))
hold on
stem((1:delka_vyrezu_spektra1)/10,spekt_vyf(1:delka_vyrezu_spektra1),'r')
title('výřez spektra originálního a vyfiltrovaného signálu')
xlabel('frekvence[Hz]')
ylabel('amplituda[uV/Hz]')

