version 1.1.1.1, 2010/01/26 15:23:06
|
version 1.4, 2010/03/01 14:48:14
|
Line 1
|
Line 1
|
#!/usr/local/bin/rpl -cs |
#!/usr/local/bin/rpl -spd |
|
|
/* |
/* |
================================================================================ |
================================================================================ |
Line 15
|
Line 15
|
|
|
OBELE |
OBELE |
<< |
<< |
rad 31 cf |
rad 31 sf |
|
|
erase |
erase |
"" disp |
"" disp |
"Algorithme de l'obèle" disp |
"Algorithme de l'obèle" disp |
"{\Large\sl Algorithme de l'obèle}" pr1 drop |
"{\\Large\\sl Algorithme de l'obèle}" pr1 drop |
|
|
{ "standard*(*)" } |
{ "standard*(*)" } |
|
|
Line 62 OBELE
|
Line 62 OBELE
|
DISPERSION EQUIPUISSANCE TRACE_UN_MOBILE |
DISPERSION EQUIPUISSANCE TRACE_UN_MOBILE |
<< |
<< |
"" disp |
"" disp |
"\vskip 3ex\noindent" pr1 drop |
"\\vskip 3ex\\noindent" pr1 drop |
"Configuration" pr1 drop |
"Configuration" pr1 drop |
"\hrule\vskip 1ex" pr1 drop |
"\\hrule\\vskip 1ex" pr1 drop |
cr "Nombre d'antennes : " N_ANTENNES ->str + pr1 disp |
cr "Nombre d'antennes : " N_ANTENNES ->str + pr1 disp |
cr "Nombre de mobiles : " N_MOBILES ->str + pr1 disp |
cr "Nombre de mobiles : " N_MOBILES ->str + pr1 disp |
cr "Type de canal : " MODELE_CANAL ->str + pr1 disp |
cr "Type de canal : " MODELE_CANAL ->str + pr1 disp |
Line 75 OBELE
|
Line 75 OBELE
|
PAQUETS DISPERSION DIST EQUIPUISSANCE |
PAQUETS DISPERSION DIST EQUIPUISSANCE |
N_ANTENNES N_MOBILES MODELE_CANAL |
N_ANTENNES N_MOBILES MODELE_CANAL |
INITIALISATION_R 'DIRECTIONS' sto 'REPARTITION' sto |
INITIALISATION_R 'DIRECTIONS' sto 'REPARTITION' sto |
|
|
if |
if |
ALGORITHME_BRUITE |
ALGORITHME_BRUITE |
then |
then |
Line 85 OBELE
|
Line 86 OBELE
|
INITIALISATION_OMNIDIRECTIONNELLE |
INITIALISATION_OMNIDIRECTIONNELLE |
then |
then |
N_ANTENNES 1 2 ->list 0 con { 1 1 } 1 put |
N_ANTENNES 1 2 ->list 0 con { 1 1 } 1 put |
N_MOBILES 1 - dupn N_MOBILES ->list |
1 N_MOBILES 1 - start dup next N_MOBILES ->list |
else |
else |
dup FACTEUR_ETALEMENT ALGORITHME_BRUITE SEUIL |
dup FACTEUR_ETALEMENT ALGORITHME_BRUITE SEUIL |
OPTIMISATION_SIMPLE |
OPTIMISATION_SIMPLE |
Line 143 OBELE
|
Line 144 OBELE
|
end |
end |
|
|
2 sci |
2 sci |
"\vskip 3ex\noindent" pr1 drop |
"\\vskip 3ex\\noindent" pr1 drop |
" Rapports C/I initiaux" pr1 disp |
" Rapports C/I initiaux" pr1 disp |
"\hrule\vskip 1ex" pr1 drop |
"\\hrule\\vskip 1ex" pr1 drop |
"" disp |
"" disp |
dup array-> 1 get ->list 1 |
dup array-> 1 get ->list 1 |
|
|
Line 216 OBELE
|
Line 217 OBELE
|
|
|
/* Boucle principale */ |
/* Boucle principale */ |
|
|
"\vskip 3ex\noindent" pr1 drop |
"\\vskip 3ex\\noindent" pr1 drop |
" Minimisation de la plus grande valeur propre Lambda" disp |
" Minimisation de la plus grande valeur propre Lambda" disp |
" Minimisation de la plus grande valeur propre $\lambda$" |
" Minimisation de la plus grande valeur propre $\\lambda$" |
pr1 drop |
pr1 drop |
"\hrule\vskip 1ex" pr1 drop |
"\\hrule\\vskip 1ex" pr1 drop |
"" disp std |
"" disp std |
|
|
while |
while |
Line 263 OBELE
|
Line 264 OBELE
|
F legv |
F legv |
-> MATRICE |
-> MATRICE |
<< |
<< |
/* Réécriture de la fonction max pour éviter les */ |
/* Réécriture de la fonction max pour éviter les */ |
/* erreurs numériques d'arrondis apparaissant avec */ |
/* erreurs numériques d'arrondis apparaissant avec */ |
/* les racines doubles du polynôme caractéristique */ |
/* les racines doubles du polynôme caractéristique */ |
|
|
do |
do |
MATRICE max |
MATRICE max |
Line 356 OBELE
|
Line 357 OBELE
|
|
|
"" disp |
"" disp |
" Pondérations optimales" pr1 disp |
" Pondérations optimales" pr1 disp |
"\hrule\vskip 1ex" pr1 drop |
"\\hrule\\vskip 1ex" pr1 drop |
"" disp |
"" disp |
|
|
1 N_MOBILES for J |
1 N_MOBILES for J |
Line 368 OBELE
|
Line 369 OBELE
|
/* Calcul des puissances par mobile nécessaires */ |
/* Calcul des puissances par mobile nécessaires */ |
|
|
"" disp |
"" disp |
"\vskip 3ex\noindent" pr1 drop |
"\\vskip 3ex\\noindent" pr1 drop |
" Calcul des puissances par mobile nécessaires" pr1 disp |
" Calcul des puissances par mobile nécessaires" pr1 disp |
"\hrule\vskip 1ex" pr1 drop |
"\\hrule\\vskip 1ex" pr1 drop |
"" disp |
"" disp |
|
|
if |
if |
Line 464 OBELE
|
Line 465 OBELE
|
drop "absurde" |
drop "absurde" |
end |
end |
|
|
"\vskip 3ex\noindent" pr1 drop |
"\\vskip 3ex\\noindent" pr1 drop |
" Rapports C/I finaux " |
" Rapports C/I finaux " |
"(amélioration de la puissance émise : " + |
"(amélioration de la puissance émise : " + |
swap ->str + ")" + pr1 disp |
swap ->str + ")" + pr1 disp |
Line 480 OBELE
|
Line 481 OBELE
|
N_MOBILES FACTEUR_ETALEMENT |
N_MOBILES FACTEUR_ETALEMENT |
CALCUL_RAPPORTS_SIGNAUX_INTERFERENCE |
CALCUL_RAPPORTS_SIGNAUX_INTERFERENCE |
|
|
"\hrule\vskip 1ex" pr1 drop |
"\\hrule\\vskip 1ex" pr1 drop |
"" disp |
"" disp |
pr1 disp |
pr1 disp |
"" disp |
"" disp |
Line 611 INITIALISATION_R
|
Line 612 INITIALISATION_R
|
" Initialisation des matrices d'autocorrélation du canal" disp |
" Initialisation des matrices d'autocorrélation du canal" disp |
"" disp |
"" disp |
|
|
"\vskip 3ex\noindent" pr1 drop |
"\\vskip 3ex\\noindent" pr1 drop |
"Positions et puissances des différents récepteurs" pr1 drop |
"Positions et puissances des différents récepteurs" pr1 drop |
"\hrule\vskip 1ex" pr1 drop |
"\\hrule\\vskip 1ex" pr1 drop |
|
|
{ } dup |
{ } dup |
-> PAQUETS DISPERSION DIST EQUIPUISSANCE NA NM MODELE DIRECTIONS |
-> PAQUETS DISPERSION DIST EQUIPUISSANCE NA NM MODELE DIRECTIONS |
Line 767 INITIALISATION_R
|
Line 768 INITIALISATION_R
|
|
|
rclf std |
rclf std |
"Répartition : " REPARTITION_INTERNE ->str + pr1 |
"Répartition : " REPARTITION_INTERNE ->str + pr1 |
"\hrule\vskip 1ex" pr1 drop |
"\\hrule\\vskip 1ex" pr1 drop |
disp "" disp stof |
disp "" disp stof |
|
|
// Boucle sur les paquets de mobiles |
// Boucle sur les paquets de mobiles |
Line 779 INITIALISATION_R
|
Line 780 INITIALISATION_R
|
ANGLES_MOYENS P 1 ->list get + |
ANGLES_MOYENS P 1 ->list get + |
DIRECTIONS over 1 ->list + 'DIRECTIONS' sto |
DIRECTIONS over 1 ->list + 'DIRECTIONS' sto |
"Azimut : " over ->hms ->str + dup " ° (HMS)" + disp |
"Azimut : " over ->hms ->str + dup " ° (HMS)" + disp |
"\degre (HMS)" + cr pr1 drop |
"\\degre (HMS)" + cr pr1 drop |
|
|
NA COEFF size 2 get 2 ->list 0 con |
NA COEFF size 2 get 2 ->list 0 con |
COEFF size 2 get dup 2 ->list 0 con 0 |
COEFF size 2 get dup 2 ->list 0 con 0 |