Line | |
---|
1 | |
---|
2 | double WDISH = 2.8; |
---|
3 | double DIST = 12.; |
---|
4 | double lambda = 0.21; |
---|
5 | // Vitesse angulaire Omega en degre/second = 15./3600.*cos(delta) |
---|
6 | double OMEGA = cos(M_PI*47./180)*15./3600.; |
---|
7 | double tmsec=0.; // |
---|
8 | #define ANG (OMEGA*tmsec) |
---|
9 | #define T1 (2*M_PI*WDISH/lambda*sin(M_PI*ANG/180.)) |
---|
10 | #define XX ((fabs(T1)<1e-8)?1.:(sin(T1)/T1)) |
---|
11 | #define T2 (2*M_PI*DIST/lambda*sin(M_PI*ANG/180.)) |
---|
12 | |
---|
13 | // duree totale 90 minutes par pas de 30 secondes --> SIZE = 181 |
---|
14 | double timestep=30.; |
---|
15 | sa_size_t SIZE=181; |
---|
16 | sa_size_t SZ2=SIZE/2; |
---|
17 | |
---|
18 | const char * names[6] = {"time","I","vre","vim","vI","err"}; |
---|
19 | int i,j, k; |
---|
20 | double xnt[10]; |
---|
21 | NTuple visi(6, names, 50); |
---|
22 | |
---|
23 | double FLXSRC = 20.; // Flux en jansky |
---|
24 | double NOISE = 5.; // bruit correspondant à Tsys |
---|
25 | |
---|
26 | ThSDR48RandGen rnd; |
---|
27 | for(sa_size_t i=0; i<SIZE; i++) { |
---|
28 | tmsec=(i-SZ2)*timestep; |
---|
29 | double intens=FLXSRC*XX*XX; |
---|
30 | double vis_real=intens*cos(T2)+rnd.Gaussian()*NOISE; |
---|
31 | double vis_imag=intens*sin(T2)+rnd.Gaussian()*NOISE; |
---|
32 | double vis_mod=sqrt(vis_real*vis_real+vis_imag*vis_imag); |
---|
33 | xnt[0]=tmsec; xnt[1]=intens; xnt[2]=vis_real; xnt[3]=vis_imag; xnt[4]=vis_mod; xnt[5]=NOISE; |
---|
34 | visi.Fill(xnt); |
---|
35 | } |
---|
36 | KeepObj(visi); |
---|
Note: See
TracBrowser
for help on using the repository browser.