%% ZH 1/1.

load prob2_34_data.mat 
whos ('-file','prob2_34_data.mat')
N=length(x);
fs=1000;
Ts=1/fs;
t=(0:N-1)*Ts;
figure
plot(t,x)
xlabel('Idõ (s)')
ylabel('Jel')

teljesido=N*Ts % A jel teljes ideje
Nyquist_frek=fs/2 % A jel Nyquist-frekvenciája

rms_ertek=sqrt(sum(x.^2)/N)

jelzaj=20*log10(rms_ertek/0.1)

%% ZH 1/2.

close all
clear all

load ketjel.mat 
whos ('-file','ketjel.mat')
N1=length(s1);
N2=length(s2);
fs=500;
Ts=1/fs;
t1=(0:N1-1)*Ts;
t2=(0:N2-1)*Ts;
figure
subplot(2,1,1)
plot(t1,s1)
xlabel('Idõ (s)')
ylabel('Jel')
subplot(2,1,2)
plot(t2,s2)
xlabel('Idõ (s)')
ylabel('Jel')

[xc,lags]=xcorr(s1,s2);
figure
plot(lags*Ts,xc)

[mv,ml]=max(xc)
eltolas=lags(ml)*Ts % Ekkora az idõeltolás a két jel között

figure
plot(t1,s1,t2+eltolas,s2)
xlabel('Idõ (s)')
ylabel('Jel')


%% ZH 1/3.

close all
clear all

load futty.mat 
whos ('-file','futty.mat')
N=length(futty);
fs=1000;
Ts=1/fs;
t=(0:N-1)*Ts;

plot(t,futty)
xlabel('Idõ (s)')
ylabel('Jel')

Futty=fft(futty);
plot((0:(N-1)/2-1)*fs/N,abs(Futty(1:(N-1)/2)))

% 100 Hz felett tartalmaz összetevõket a jel. (500 Hz-ig látszik. Ahhoz, hogy magasabb frekvenciák is látszódjanak, nagyobb mintavételezési frekvencia kellene.)


%% ZH 1/4.

close all
clear all

load 1040sin.mat
whos ('-file','1040sin.mat')
N=length(x);
fs=1000;
Ts=1/fs;

% Nézzük meg, hogy mit csinál a h1 szûrõ

H1=fft(h1,512);
figure
plot((0:50-1)*fs/512,abs(H1(1:50))) % Csak az elsõ 50 elemet ábrázoljuk, hogy jobban lehessen látni a spektrumot. Alulátereszt a szûrõ, kb. 15 Hz alatt. 

% Nézzük meg, hogy mit csinál a h2 szûrõ

H2=fft(h2,512);
figure
plot((0:50-1)*fs/512,abs(H2(1:50))) % Csak az elsõ 50 elemet ábrázoljuk, hogy jobban lehessen látni a spektrumot. Ez a 40 Hz körüli sávot engedi csak át. Ez lesz a jó szûrõ. (Ehhez használható a fvtool is (filter visualization tool).)

% A szûrés elvégzése

x_szurt=filtfilt(h2,1,x);

% Ábrázolás

figure
plot((0:N-1)*Ts,x,'b-',(0:N-1)*Ts,x_szurt,'r-')
xlabel('Idõ (s)')
ylabel('Jel')
legend('Eredeti jel', 'Szûrt jel')


%% ZH 1/5.

close all
clear all

load Resp_noise1.mat 
whos ('-file','Resp_noise1.mat')
x=resp_noise1;
N=length(x);
fs=125;
Ts=1/fs;
t=(0:N-1)*Ts;

h=[-0.0004 % filterDesigner alkalmazással nyerhetõ
   -0.0004
   -0.0003
   -0.0001
    0.0002
    0.0004
    0.0005
    0.0006
    0.0005
    0.0003
   -0.0001
   -0.0005
   -0.0009
   -0.0011
   -0.0011
   -0.0009
   -0.0003
    0.0004
    0.0012
    0.0019
    0.0022
    0.0020
    0.0012
    0.0000
   -0.0014
   -0.0027
   -0.0036
   -0.0038
   -0.0030
   -0.0013
    0.0009
    0.0033
    0.0053
    0.0063
    0.0058
    0.0039
    0.0007
   -0.0032
   -0.0069
   -0.0094
   -0.0101
   -0.0084
   -0.0043
    0.0015
    0.0078
    0.0133
    0.0164
    0.0160
    0.0116
    0.0034
   -0.0072
   -0.0182
   -0.0271
   -0.0313
   -0.0285
   -0.0175
    0.0018
    0.0280
    0.0586
    0.0899
    0.1180
    0.1392
    0.1506
    0.1506
    0.1392
    0.1180
    0.0899
    0.0586
    0.0280
    0.0018
   -0.0175
   -0.0285
   -0.0313
   -0.0271
   -0.0182
   -0.0072
    0.0034
    0.0116
    0.0160
    0.0164
    0.0133
    0.0078
    0.0015
   -0.0043
   -0.0084
   -0.0101
   -0.0094
   -0.0069
   -0.0032
    0.0007
    0.0039
    0.0058
    0.0063
    0.0053
    0.0033
    0.0009
   -0.0013
   -0.0030
   -0.0038
   -0.0036
   -0.0027
   -0.0014
    0.0000
    0.0012
    0.0020
    0.0022
    0.0019
    0.0012
    0.0004
   -0.0003
   -0.0009
   -0.0011
   -0.0011
   -0.0009
   -0.0005
   -0.0001
    0.0003
    0.0005
    0.0006
    0.0005
    0.0004
    0.0002
   -0.0001
   -0.0003
   -0.0004
   -0.0004]
   
x_szurt=filtfilt(h,1,x);

figure
plot(t,x,'b-',t,x_szurt,'r-')
xlabel('Idõ (s)')
ylabel('Légzési jel')


