clear all
close all
clc

% nacteni dat a ulozeni do matice jistic10B.mat
% uiopen('C:\Users\mates\Documents\bp\BP\Video\14-05-13\5_7,5kA\0007-jistic10B\0007-jistic10B.xlsx',1)
load jistic10B.mat

L= 4;        % urceni faktoru interpolace a decimace
D = 5;

delka= size(jistic10B,1);  %zjisteni poctu vzorku puvodniho signalu

proud=zeros(1,L*delka);            % interpolace signalu s krokem L
proud(L:L:end)= jistic10B(:,1)';
napeti = zeros(1,L*delka);
napeti(L:L:end)= jistic10B(:,2)';

proud_spektrum = fft(proud);   % vypocet spektra interpolovanych signalu 
napeti_spektrum = fft(napeti); % pomoci fast Fourierovy transformace

prenos = zeros(1,length(proud));   % definice frekvencni charakteristiky 
prenos(1:(0.1*length(proud)))=1;   % filtru typu dolni propust s mezni
prenos((0.9*length(proud)):end)=1; % frekvenci na 1/2 finalniho 
                                   % vzorkovaciho kmitoctu

proud_spektrum_filt = proud_spektrum.*prenos;   % filtrace filtrem typu
napeti_spektrum_filt = napeti_spektrum.*prenos; % dolni propust ve 
                                                % frekvencni oblasti

proud_filt = L*real(ifft(proud_spektrum_filt));   % zpetna Fourierova 
napeti_filt = L*real(ifft(napeti_spektrum_filt)); % transformace 
                                                  % filtrovaneho signalu

proud_filt_dec = proud_filt(1:D:end);   % decimace interpolovaneho signalu 
napeti_filt_dec = napeti_filt(1:D:end); % s krokem D na finalni vzorkovaci 
                                        % kmitocet 40 kHz
                                        
cas = 0:(length(proud_filt_dec)-1); % zadefinovani vektoru casu na 
cas = cas/40000;                    % vzorkovacim kmitoctu 40 kHz

%ulozeni prevzorkovanych dat do .xls souboru (sloupce: proud, napeti, cas)
xlswrite('jistic10B_40kHz',[proud_filt_dec ; napeti_filt_dec ; cas]')



