1 | % reglage tracking simulé |
---|
2 | |
---|
3 | kf0=1.178 ; % gradient pour 6.78/4.72 |
---|
4 | kd0=0.938; |
---|
5 | |
---|
6 | Grf = 0.0465 ; % gradient remanent T/m |
---|
7 | Grd = 0.0485 ; % gradient remanent T/m |
---|
8 | a = 0.0517 ; % G/I T/m/A |
---|
9 | Br = 0.00095 ; % Champ remanent T |
---|
10 | b = 0.00135416 ; % B/I T/A |
---|
11 | rho=12.3773 ; % rayon dipole |
---|
12 | brhom = 9.175 ; % Ã 2.75 GeV |
---|
13 | Iqfc = -0.62 ; % Offset QPF |
---|
14 | Iqdc = -0.71 ; % Offset QPD |
---|
15 | Ibc = 0. ; % Offset Dip |
---|
16 | |
---|
17 | Iqf0 =(kf0*brhom-Grf)/a - Iqfc; |
---|
18 | Iqd0=(kd0*brhom-Grd)/a -Iqdc ; |
---|
19 | Id0 = (brhom/rho-Br)/b - Ibc; |
---|
20 | sprintf('Id0= %g Iqf0= %g Iqd0= %g ' ,Iqf0, Iqd0 , Id0 ) |
---|
21 | |
---|
22 | del =0.000 ; % délai retard si positif |
---|
23 | |
---|
24 | rd0 = ((Iqd0+Iqfc)*a+Grf)/((Id0*b+Br)*rho) ; |
---|
25 | rf0 = ((Iqf0+Iqdc)*a+Grd)/((Id0*b+Br)*rho) ; |
---|
26 | sprintf('KF0= %g KD0= %g', rf0, rd0) |
---|
27 | |
---|
28 | m1 =[ 0.124 0.0176 ; 0.0285 0.1 ] ; % matrice dnu dK=m1*dnu |
---|
29 | |
---|
30 | w=2*3.14159*(50./17.); |
---|
31 | i=0; |
---|
32 | clear fq fd r time |
---|
33 | |
---|
34 | i = 1 : 1 : 1700; |
---|
35 | t=i/10000; |
---|
36 | time=t; |
---|
37 | fq = 0.5*(1-cos(w*(t-del))); |
---|
38 | fd = 0.5*(1-cos(w*t)); |
---|
39 | pf=Grf + a*(Iqfc + Iqf0*fq); |
---|
40 | pd=Grd + a*(Iqdc + Iqd0*fq); |
---|
41 | p0=Br + b*(Ibc + Id0*fd); |
---|
42 | |
---|
43 | %[D1 D2 QF QD time]=gettrackingdata('nodisplay') |
---|
44 | %pf=Grf + a*(QF); |
---|
45 | %pd=Grd + a*(QD); |
---|
46 | %p0=Br + b*(D1+D2)/2; |
---|
47 | |
---|
48 | rf=pf./(p0*rho); |
---|
49 | rd=pd./(p0*rho); |
---|
50 | dnux= 0. + 8.4045*(rf-rf0) - 01.4792*(rd-rd0); |
---|
51 | dnuz= 0. - 2.3953*(rf-rf0) + 10.4216*(rd-rd0); |
---|
52 | |
---|
53 | |
---|
54 | plot(time(200:1700) , dnux(200:1700) , time(200:1700) , dnuz(200:1700)) |
---|
55 | ylim([-.5 .5]); |
---|
56 | |
---|
57 | % coutant à l'injection |
---|
58 | sprintf('courant injection rampe : dip= %g Q= %g Qd= %g' , Id0*fd(215) , Iqf0*fq(215) , Iqd0*fq(215)) |
---|
59 | sprintf('courant injection réel : dip= %g Q= %g Qd= %g' , Id0*fd(215) +Ibc, Iqf0*fq(215) +Iqfc, Iqd0*fq(215)+Iqdc) |
---|
60 | sprintf('courant injection : dip= %g Q= %g Qd= %g' , p0(215)) |
---|
61 | |
---|
62 | %Calcul offset sur Qpole en A |
---|
63 | testf = (rf0*p0(20)*rho - (Grf + a*Iqf0*fq(20)))/a; |
---|
64 | testd = (rd0*p0(20)*rho - (Grd + a*Iqd0*fq(20)))/a; |
---|
65 | sprintf('courant offset : If= %g Id= %g', testf, testd) |
---|
66 | |
---|