Last change
on this file since 3679 was 3489, checked in by ansari, 17 years ago |
Les differents scripts+prog de calcul P(k)/bruit, lobe, config interfero ajoute ds ce module - Reza 28/04/2008
|
-
Property svn:executable
set to
*
|
File size:
1015 bytes
|
Line | |
---|
1 | static double D = 4.; // Taille du reflecteur (en m)
|
---|
2 | static double Lambda = 0.4; // Longueur d'onde en m
|
---|
3 | static double PiDoL = M_PI*D/Lambda; // Pi * D / Lambda
|
---|
4 |
|
---|
5 | static double DELX = D; // Separation des reflecteurs
|
---|
6 |
|
---|
7 | // static double DELX = Lambda/2.; // Separation des reflecteurs
|
---|
8 |
|
---|
9 |
|
---|
10 | double LobeSquare(double tet)
|
---|
11 | {
|
---|
12 | if (fabs(tet) < 1.e-9) return 1.;
|
---|
13 | double x = tet*PiDoL;
|
---|
14 | return sin(x)/x;
|
---|
15 | }
|
---|
16 |
|
---|
17 | double LobeGauss(double tet)
|
---|
18 | {
|
---|
19 | double x = tet*PiDoL;
|
---|
20 | return exp(-x*x/10.);
|
---|
21 | }
|
---|
22 |
|
---|
23 |
|
---|
24 | double LobeDipoleDemiLambda(double tet)
|
---|
25 | {
|
---|
26 | double L = 0.5;
|
---|
27 | double trad = acos(sin(tet));
|
---|
28 | double pil = M_PI*L;
|
---|
29 | double st = sin(trad), ct = cos(trad);
|
---|
30 | // L'antenne standing-wave
|
---|
31 | double v = 0.;
|
---|
32 | if(fabs(st)<1e-3) {
|
---|
33 | if(ct>0.) { // theta ~= 0
|
---|
34 | v = pil*sin(pil)*trad/2.; /* v *= v; */
|
---|
35 | } else { // theta ~= 180
|
---|
36 | v = pil*sin(pil)*(trad-M_PI)/2.; /* v *= v; */
|
---|
37 | }
|
---|
38 | } else {
|
---|
39 | v = (cos(pil*ct) - cos(pil))/st; /* v *= v; */
|
---|
40 | }
|
---|
41 |
|
---|
42 | // cout << " teta= " << tet << " trad= " << trad << " v=" << v << endl;
|
---|
43 | return v;
|
---|
44 |
|
---|
45 | }
|
---|
46 |
|
---|
47 |
|
---|
Note:
See
TracBrowser
for help on using the repository browser.