| 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.