%tento skript obsahuje výpocet prenosove funkce metodou s vicecestnym
%sirenim pro topologii se jednou odbockou. Pro samostatné vykreslení grafu
%pro moznost 1-10 cest byla vytvorena funkce pocetcest

%parametry vedeni pro kabel CYKY 3x1,5
u01 = 4*pi*10^-7;
ur1 = 1;
Er1 = 4;
E01 = 8.854*10^(-12);
S = 1.5;
id1 = 0.7;
a1 = (sqrt(S/3.14))*(10^-3)
d1 = (2*a1) + (2*id1)*(10^-3)
u02 = 0.0000004*3.14;
ur2 = 0.99999;
Er2 = 4;
E02 = 0.0000000000088854;
c0 = 3*10^8;
%vypocet primarnich parametru
f1  = 3000 :5000: 30000000;
Lex = ((ur1*u01)/3.14)*(acosh(d1/(2*a1)));
C1= (pi*Er1*E01)/(cosh(d1/(2*a1)));
R1 = sqrt(((ur2*u02*f1))/(pi*58000000*(a1^2)))*(((d1/(2*a1))/sqrt(((d1/(2*a1))^2)-1)));
G1 = 2*pi*f1*C1*0.06;
Lin = (R1)/(2*pi*f1);
L1 = Lin+Lex;
figure(13)
hold( 'on');
title('indukce');
xlabel( '\rightarrow f [Hz]');
ylabel( '\uparrow H [dB]');
plot(f1, L1);
grid( 'on');
figure(11)
hold( 'on');
title('odpor');
xlabel( '\rightarrow f [Hz]');
ylabel( '\uparrow H [dB]');
plot(f1, R1);
grid( 'on');




%vypocet impedance vedeni
ZC1 = sqrt(L1/C1);
ZC2 = sqrt(L1/C1);
ZC3 = sqrt(L1/C1);
ZC4 = sqrt(L1/C1);
ZC5 = sqrt(L1/C1);
ZE = 500; %impedance 1. odbocky
ZF = 250; %impedance 2. odbočky
r1B = (((ZC3*ZC2)/(ZC3+ZC2))-ZC1)/(((ZC3*ZC2)/(ZC3+ZC2))+ZC1);
r2B = (((ZC1*ZC3)/(ZC1+ZC3))-ZC2)/(((ZC1*ZC3)/(ZC1+ZC3))+ZC2);
r2E = (ZE-ZC2)/(ZF+ZC2);
r3C = (((ZC5*ZC4)/(ZC5+ZC4))-ZC3)/(((ZC5*ZC4)/(ZC5+ZC4))+ZC3);
r4C = (((ZC3*ZC5)/(ZC3+ZC5))-ZC4)/(((ZC3*ZC5)/(ZC3+ZC5))+ZC4);
r4F = (ZF-ZC4)/(ZF+ZC4);
t1B = 1 - abs(r1B);
t2B = 1 - abs(r2B);
t3C = 1 - abs(r3C);
t4C = 1 - abs(r4C);


l1 = 25;
l2 = 20;
l3 = 15;
l4 = 20;
l5 = 20;
%vypocet delky vedeni
di1 = l1 + l3 + l5;
di2 = l1 +l3 + (l2*2) + l5 + (2*l4);
di3 = l1 + (4*l2) + l3 + (4*l4) + l5;
di4 = l1 + (6*l2) + l3 + (6*l4) + l5;
di5 = l1 + (8*l2) + l3 + (8*l4) + l5;
di6 = l1 + (10*l2) + l3 + (10*l4) + l5;
di7 = l1 + (12*l2) + l3 + (12*l4) + l5;
di8 = l1 + (14*l2) + l3 + (14*l4) + l5;
di9 = l1 + (16*l2) + l3 + (16*l4) + l5;
di10= l1 + (18*l2) + l3 + (18*l4) + l5;
g1 = t1B * t3C;
g2 = t1B * r2E * t2B * t3C * r4F * t4C;
g3 = t1B * r2E*(r2E * r2B) * t2B * t3C * r4F * ((r4C * r4F)) * t4C;
g4 = t1B * r2E*((r2E * r2B)^2) * t2B * t3C * r4F * ((r4F * r4C)^2) * t4C;
g5 = t1B * r2E*((r2E * r2B)^3) * t2B * t3C * r4F * ((r4F * r4C)^3) * t4C;
g6 = t1B * r2E*((r2E * r2B)^4) * t2B * t3C * r4F * ((r4F * r4C)^4) * t4C;
g7 = t1B * r2E*((r2E * r2B)^5) * t2B * t3C * r4F * ((r4F * r4C)^5) * t4C;
g8 = t1B * r2E*((r2E * r2B)^6) * t2B * t3C * r4F * ((r4F * r4C)^6) * t4C;
g9 = t1B * r2E*((r2E * r2B)^7) * t2B * t3C * r4F * ((r4F * r4C)^7) * t4C;
g10= t1B * r2E*((r2E * r2B)^8) * t2B * t3C * r4F * ((r4F * r4C)^8) * t4C;

ti1 = (di1 * sqrt(Er1))/c0;
ti2 = (di2 * sqrt(Er1))/c0;
ti3 = (di3 * sqrt(Er1))/c0;
ti4 = (di4 * sqrt(Er1))/c0;
ti5 = (di5 * sqrt(Er1))/c0;
ti6 = (di6 * sqrt(Er1))/c0;
ti7= (di7 * sqrt(Er1))/c0;
ti8 = (di8 * sqrt(Er1))/c0;
ti9 = (di9 * sqrt(Er1))/c0;
ti10= (di10* sqrt(Er1))/c0;
%sekundarni parametr

jedna = (R1+(2*j*pi*f1*L1));
dve = (G1+(2*j*pi*f1*C1));
gama = sqrt(jedna.*dve);
alfa = real(gama);

%prenosovu rovnice jedna cesta
H01 = exp (-alfa*di1);
H011 = exp(-2i*pi*f1*ti1);
H1 = g1 * H01.* H011;

%druha cesta
H02 = exp(-alfa*di2);
H022 = exp(-2i*pi*f1*ti2);
H2 = g2 * H02.* H022;

%treti cesta
H03 = exp (-alfa*di3);
H033 = exp(-2i*pi*f1*ti3);
H3 = g3 * H03.* H033;
%ctvrtá cesta
H04 = exp (-alfa*di4);
H044 = exp(-2i*pi*f1*ti4);
H4 = g4 * H04.* H044;

%pata cesta
H05 = exp (-alfa*di5);
H055 = exp(-2i*pi*f1*ti5);
H5=g5 * H05.* H055;

%sesta cesta
H06 = exp (-alfa*di6);
H066 = exp(-2i*pi*f1*ti6);
H6=g6 * H06.* H066;

%sedmá cesta
H07 = exp (-alfa*di7);
H077= exp(-2i*pi*f1*ti7);
H7=g7 * H07.* H077;

%osmá cesta
H08 = exp (-alfa*di8);
H088 = exp(-2i*pi*f1*ti8);
H8=g8 * H08.* H088;

%devátá cesta
H09 = exp (-alfa*di9);
H099 = exp(-2i*pi*f1*ti9);
H9=g9 * H09.* H099;

%desátá cesta
H010= exp (-alfa*di10);
H0101= exp(-2i*pi*f1*ti10);
H10 =g10 * H010.* H0101;

%přenosová funkce pro 10 cest
H = 20*log((g1*H01.*H011)+(g2*H02.*H022)+(g3* H03.*H033)+(g4* H04.*H044)+(g5* H05.*H055)+(g6* H06.*H066)+(g7*H07.*H077)+(g8*H08.*H088)+(g9*H09.*H099)+(g10*H010.*H0101));
%prenosová funkce pro dvě cesty
H22 = 20*log((g1*H01.*H011)+(g2*H02.*H022));
%přenosová funkce pro jednu cestu
H11 = 20*log(H1)
%přenosová funkce pro pět cest
H33 = 20*log((g1*H01.*H011)+(g2*H02.*H022)+(g3* H03.*H033)+(g4* H04.*H044)+(g5* H05.*H055));
%přenosová funkce pro 4 cesty
H44 = 20*log((g1*H01.*H011)+(g2*H02.*H022)+(g3* H03.*H033)+(g4* H04.*H044));
%přenosová funkce pro 3 cesty
H333 = 20*log((g1*H01.*H011)+(g2*H02.*H022)+(g3* H03.*H033));

%vypocet fáze
fi=((-2*pi*f1.*ti1)+(-alfa.*di1));

%modul
m=abs(i);

figure(5);
hold( 'on');
title('Fázová odezva');
xlabel( '\rightarrow f [Hz]');
ylabel( '\fáze [rad]');
plot(f1,fi);
grid( 'on');


%graf modulu
figure(7);
hold( 'on');
title('modul');
xlabel( 'rightarrow f [Hz]');
ylabel( '');
plot(f1,m);
grid( 'on');

%přenosová funkce pro 2 odbocky - 3 cesty
figure(1);
hold( 'on');
title('Přenosová funkce pro 2 odbocky - 3 cesty');
xlabel( '\rightarrow f [Hz]');
ylabel( '\uparrow H [dB]');
plot(f1, H333,'c');
grid( 'on');
%prenosová funkce pro 1 cestu
figure(2)
hold( 'on');
title('Přenosová funkce - 1 cesta');
xlabel( '\rightarrow f [Hz]');
ylabel( '\uparrow H [dB]');
plot(f1, H11);
grid( 'on');
%přenosová funkce pro 2 cesty
figure(3)
hold( 'on');
title('Přenosová funkce - 2 cesty');
xlabel( '\rightarrow f [Hz]');
ylabel( '\uparrow H [dB]');
plot(f1, H22);
grid( 'on');
%prenosová funkce pro 5 cest
figure(4)
hold( 'on');
title('Přenosová funkce - 5 cest');
xlabel( '\rightarrow f [Hz]');
ylabel( '\uparrow H [dB]');
plot(f1, H33);
grid( 'on');
%prenosová funkce pro 4 cesty
figure(20)
hold( 'on');
title('Přenosová funkce pro dve odbocky - 4 cesty');
xlabel( '\rightarrow f [Hz]');
ylabel( '\uparrow H [dB]');
plot(f1, H44);
grid( 'on');
%graf impulzní odezvy
figure(6);
hold( 'on');
title('impulzní odezva');
xlabel( 'Time [us]');
ylabel( '');
plot(fx);
grid( 'on');

figure(30);
hold( 'on');
title('Porovnání funkcí');
xlabel( 'Time [us]');
xlabel( '\rightarrow f [Hz]');
ylabel( '\uparrow H [dB]');
plot(f1, H44,'y');
plot(f1, H33,'m');
plot(f1, H22,'c');
plot(f1, H11,'r');
plot(f1, H333,'g');
grid( 'on');
