Bug #3941
closedCalcul des BP2 erroné pour F2 [3.3.0.7 avec matrices unitaires]
Added by thomas chust over 2 years ago. Updated about 2 years ago.
0%
Description
A F2 le calcul des ASM semble correct sur toute la bande de fréquence ( #3936 ). Voir par exemple les résultat des CTC-902 ou CTC-912. En utilisant les ASM des ces tests j'ai reconstruit des BP2. Normalement à quelques imprécisions près on devrait retrouver les BP2 calculés à bord. Mais ce n'est pas ce que j'observe: aucune correpondance, tout semble faux. Pour vérifier que je ne me suis pas planté complétement, j'ai refait le même type de calcul/comparaison mais avec le run du 14 mars qui utilise la 3.2.0.24 (F2-64Hz-2Vpp_on_E1E2B1B2B3): là pas de pb je retrouve bien ce qu'il faut.
A suivre ...
Files
ASM default versus ASM unitaires_F1.png (137 KB) ASM default versus ASM unitaires_F1.png | thomas chust, 30/09/2022 04:23 PM | ||
ASM default versus SWF calibrated_F1.png (159 KB) ASM default versus SWF calibrated_F1.png | thomas chust, 03/10/2022 02:03 PM | ||
ASM default versus ASM unitaires_F0.png (147 KB) ASM default versus ASM unitaires_F0.png | thomas chust, 03/10/2022 06:34 PM | ||
ASM default versus SWF calibrated_F0.png (151 KB) ASM default versus SWF calibrated_F0.png | thomas chust, 03/10/2022 06:34 PM | ||
ASM default versus SWF calibrated_F2.png (149 KB) ASM default versus SWF calibrated_F2.png | thomas chust, 05/10/2022 10:43 AM | ||
ASM default versus ASM unitaires_F2.png (177 KB) ASM default versus ASM unitaires_F2.png | thomas chust, 05/10/2022 10:43 AM |
Related issues
Updated by thomas chust over 2 years ago
- Related to Bug #3936: Comparaison/validation FSW 3.2.0.24 vs 3.3.0.7 avec matrices unitaires. added
Updated by bruno katra over 2 years ago
- Subject changed from Calcul des BP2 erroné [3.3.0.7 avec matrices unitaires] to Calcul des BP2 erroné pour F2 [3.3.0.7 avec matrices unitaires]
Updated by bruno katra over 2 years ago
Dans le CTC-912 on a les BP2 du canal NORMAL + les BP2 du canal SBM1.
Question : Qaund tu dis que les BP2 sont faux s'agit-il des BP2 du mode NORMAL ou les les 2?
Updated by thomas chust over 2 years ago
bruno katra wrote in #note-4:
Dans le CTC-912 on a les BP2 du canal NORMAL + les BP2 du canal SBM1.
Question : Qaund tu dis que les BP2 sont faux s'agit-il des BP2 du mode NORMAL ou les les 2?
Comme tu as bien fait de le préciser dans le titre, il s'agit des BP2 à F2, donc NORMAL
Updated by bruno katra over 2 years ago
thomas chust wrote in #note-5:
bruno katra wrote in #note-4:
Dans le CTC-912 on a les BP2 du canal NORMAL + les BP2 du canal SBM1.
Question : Qaund tu dis que les BP2 sont faux s'agit-il des BP2 du mode NORMAL ou les les 2?Comme tu as bien fait de le préciser dans le titre, il s'agit des BP2 à F2, donc NORMAL
Ah mince oui tu as raison : en SBM1 c'est les BP2@F1. Il aurait fallu faire du SBM2...
Updated by thomas chust over 2 years ago
thomas chust wrote:
A F2 le calcul des ASM semble correct sur toute la bande de fréquence ( #3936 ). Voir par exemple les résultat des CTC-902 ou CTC-912. En utilisant les ASM des ces tests j'ai reconstruit des BP2. Normalement à quelques imprécisions près on devrait retrouver les BP2 calculés à bord. Mais ce n'est pas ce que j'observe: aucune correpondance, tout semble faux. Pour vérifier que je ne me suis pas planté complétement, j'ai refait le même type de calcul/comparaison mais avec le run du 14 mars qui utilise la 3.2.0.24 (F2-64Hz-2Vpp_on_E1E2B1B2B3): là pas de pb je retrouve bien ce qu'il faut.
A suivre ...
Bon, avec la 3.3.0.9 (test https://hephaistos.lpp.polytechnique.fr/redmine/issues/3936#note-80) je fais le même constat à F0 : les BP2 sont tout faux.
Updated by thomas chust over 2 years ago
idem à F1 (test https://hephaistos.lpp.polytechnique.fr/redmine/issues/3936#note-82) : les BP2 sont tout faux.
Updated by thomas chust over 2 years ago
thomas chust wrote in #note-8:
idem à F1 (test https://hephaistos.lpp.polytechnique.fr/redmine/issues/3936#note-82) : les BP2 sont tout faux.
J'ai regardé aussi les BP1 et cela semble tout faux aussi. On dirait que le code met des mêmes valeurs partout pour les 'float à la chust' (termes diagonaux des BP2, PE, PB, SX, VPHI).
Exemple
observé pour BP1:
PB et PB:
bp1['psd_be'][i_bp1, ifreq_bp, :]
array([7.4505806e-09, 7.4505806e-09])
SX:
bp1['sx'][i_bp1, ifreq_bp]
array([7.4505806e-09, 0.0000000e+00])
VPHI:
bp1['vphi'][i_bp1, ifreq_bp]
array([7.4505806e-09, 0.0000000e+00])
Updated by bruno katra about 2 years ago
- Status changed from New to In Progress
Après discussions avec Alexis ce matin : afin d'essayer d'isoler si le pb ne vient pas en amont du calcul des BP, on s'est dit qu'on pourrait regarder les valeurs des ASM_C (ASM compressées qui ne se trouvent sue à bord et servent au calcul des BP) dans la mémoire de LFR:
SETUP : 3.3.0.9 avec KCOEFF par défaut
RESULTATS
INJECTION 2V@192Hz sur toutes les voies (freq propre de F1):
py > print(get_cal_mat('compressed_sm_norm_f0'))
(1053055483, 1061444093, 1066615679, 1069832703, 1073049727, 1075004287, 1076612799, 1078221311, 1079829823, 1081438335, 1082588639, 1082588639, 1082588639, 1082588639, 1082588639, 1082588639, 1082588639, 1082588639, 1082588639, 1082588639, 1082588639, 1082588639, 1082588639, 1082588639, 1082588639, 1081438335, 1079829823, 1078221311, 1076612799, 1075004287, 1073049727, 1069832703, 1066615679, 1061444093, 1053055483, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
py > print(get_cal_mat('compressed_sm_norm_f1'))
(1088935759, 1097324367, 1101914488, 1105712968, 1108403852, 1110303092, 1112202332, 1114101572, 1115842839, 1116792463, 1117742087, 1118691711, 1119641335, 1119641335, 1119641335, 1119641335, 1119641335, 1119641335, 1119641335, 1119641335, 1119641335, 1119641335, 1119641335, 1119641335, 1119641335, 1118691711, 1117742087, 1116792463, 1115842839, 1114101572, 1112202332, 1110303092, 1108403852, 1105712968, 1101914488, 1097324367, 1088935759, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
py > print(get_cal_mat('compressed_sm_norm_f2'))
(1171485305, 1179873916, 1184798174, 1188262526, 1191454607, 1193186783, 1194918959, 1196651135, 1198383311, 1199843215, 1200709303, 1201575391, 1201575391, 1201575391, 1201575391, 1201575391, 1201575391, 1201575391, 1201575391, 1201575391, 1201575391, 1201575391, 1201575391, 1201575391, 1201575391, 1200709303, 1199843215, 1198383311, 1196651135, 1194918959, 1193186783, 1191454607, 1188262526, 1184798174, 1179873916, 1171485305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
INJECTION 2V@752Hz sur toutes les voies (freq propre de F1):
py > print(get_cal_mat('compressed_sm_norm_f0'))
(1054920593, 1063309203, 1068014511, 1071697807, 1074561463, 1076403111, 1078244764, 1080086417, 1081928071, 1082950078, 1083870905, 1083870905, 1083870905, 1083870905, 1083870905, 1083870905, 1083870905, 1083870905, 1083870905, 1083870905, 1083870905, 1083870905, 1083870905, 1083870905, 1083870905, 1082950078, 1081928071, 1080086417, 1078244764, 1076403111, 1074561463, 1071697807, 1068014511, 1063309203, 1054920593, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
py > print(get_cal_mat('compressed_sm_norm_f1'))
(1080855320, 1089243932, 1093757014, 1097632542, 1100207856, 1102145616, 1104083376, 1106021136, 1107627576, 1108596456, 1109565336, 1110534216, 1111503096, 1111503096, 1111503096, 1111503096, 1111503096, 1111503096, 1111503096, 1111503096, 1111503096, 1111503096, 1111503096, 1111503096, 1111503096, 1110534216, 1109565336, 1108596456, 1107627576, 1106021136, 1104083376, 1102145616, 1100207856, 1097632542, 1093757014, 1089243932, 1080855320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
py > print(get_cal_mat('compressed_sm_norm_f2'))
(1167982793, 1176371402, 1181548850, 1184760010, 1187348730, 1189937450, 1191854253, 1193148613, 1194442973, 1195737333, 1197031693, 1198326053, 1198326053, 1198326053, 1198326053, 1198326053, 1198326053, 1198326053, 1198326053, 1198326053, 1198326053, 1198326053, 1198326053, 1198326053, 1198326053, 1197031693, 1195737333, 1194442973, 1193148613, 1191854253, 1189937450, 1187348730, 1184760010, 1181548850, 1176371402, 1167982793, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
CONCLUSION :
Les valeurs ci dessus sont les représentation en INTEGER de la valeur FLOAT des matrices MAIS on peut quand même voir sans convertir que ;
- Indépendamment de la fréquence injectée, seulement quelques dizaines d'ASM au début ont une valeur. Toutes les autres sont à 0
- Idem pour les ASM@F0, F1 et F2
Updated by bruno katra about 2 years ago
- Assignee changed from Alexis Jeandet to bruno katra
Updated by bruno katra about 2 years ago
Alexis Jeandet wrote in #note-11:
En effet je pense avoir trouvé le bug:
https://hephaistos.lpp.polytechnique.fr/teamcity/buildConfiguration/LfrFlightSoftware_BuildLpp/75741?hideProblemsFromDependencies=false&hideTestsFromDependencies=false&expandBuildChangesSection=true
Test préliminaire fait avec 3.3.0.9 "patchée" avec injection de 192 hz sur toutes les voies : c'est prometteur :maintenant les ASM_C à bord ne contiennent plus les 0 :
py > print(get_cal_mat('compressed_sm_norm_f1'))
(1249968192, 1252900280, 1189540022, -901318062, 1192374538, -939136008, 1193842419, -934795118, 1199305916, 1256849732, -897188766, 1200552578, -936110890, 1197922920, -930704642, 1202487583, 1243183676, 1204769430, -956656636, 1209724528, -952418753, 1167666674, 1172631689, 1041330363, 1177228723, 1079626645, 1081752281, 1046467669, -1072390892, -1090244738, -1107602093, 1020985419, -1103423337, 1024913541, 1085785473, -1068358019, -1090186023, -1104844479, 1026574695, -1099440932, 1031010866, 1079053322, 1036800510, -1117618184, 1041972966, -1113316361, 1004190097, 1008045136, 959806814, 1013311630, 1055442788, 1025681325, -1127198566, -1108962696, 1015637580, -1153710316, 990524525, -1147006730, 992358463, 1053469967, -1113031865, -1110128198, -1156836013, -1163225376, -1148516254, -1163229378, 1065146459, 1009583520, -1138812447, 1015700220, -1134585406, 982054159, 980795171, 939043087, 988393350, 1052844984, 1029509339, -1134746436, -1105296074, -1148946712, -1156252470, 995915082, -1148045251, 1000335041, 1052298861, -1131169477, -1123233986, -1170271104, 971486786, -1155611044, -1164143865, 1065653660, 1006950785, -1138321497, 1016220464, -1132464276, 979251866, 977065710, 944039379, 986743770, 1051186455, 1022564947, -1149015549, -1115927799, -1144918822, -1151513646, 978261101, -1145900087, -1188943798, 1050086644, -1121050912, -1114006899, -1157442704, -1166171490, -1148844740, -1156242626, 1060448538, 1009410704, -1145315302, 1016421188, -1140052533, 981808781, 980217196, -1213861226, 988940357, 1049886107, 1029676084, 1004004285, -1122234506, 1025276814, -1156939400, 985455804, -1153472434, 984830117, 1049065846, -1114463776, 1020194316, -1156278056, 985058437, -1153505846, 985751334, 1059681318, 1010754520, -1152412996, 1015257077, -1152409398, 982474564, 981101030, 949047390, 988033690, 1049159475, -1135165562, -1143849295, -1124048913, 1010365523, -1155845564, 973770932, -1151715827, 971286214, 1045959070, -1147886968, -1114610853, -1172715400, -1161313999, -1159412525, -1156235310, 1059237524, 1008717911, -1152059116, 1014595421, -1147872466, 979967937, 977904342, 939086911, 985840646, 1051213095, 995846336, 1000529810, -1108789971, 1019030059, -1144097700, 988872852, -1141353358, 999331000, 1049302170, 1003395274, 1005961553, 982761092, 984660730, -1162602024, 958842401, 1059997386, 1014429492, -1149159401, 1017838350, -1140594155, 983835209, 981886696, -1195009848, 989528158, 1049675832, 1025718203, 1000445112, -1115383583, -1126391404, -1148392033, 957423710, -1143649212, -1162268411, 1049367254, -1120248303, -1113249168, -1152471873, -1156755995, -1146176247, -1149560667, 1058752419, 1011477847, -1148546063, 1017391053, -1145326825, 983062437, 982464785, 947516408, 990608193, 1048239013, 1026771944, 1018883294, -1121607964, -1123868930, -1151226646, -1157591517, -1147183430, -1158454394, 1048205456, -1113337869, -1129838248, -1148562025, -1165922668, -1145939751, -1162559860, 1058900404, 1011079782, -1155973390, 1016769396, -1149104387, 983192460, 983310084, -1216695750, 990728543, 1048291591, -1137543434, -1142406631, -1123097627, 981951512, -1156099016, -1216105600, -1149888882, -1165997140, 1045337409, 989973944, -1115468260, -1187321550, -1156973426, -1164893586, -1152974553, 1058434941, 1009275845, -1153509932, 1015248982, -1153492455, 982000066, 980689528, 948102138, 988842055, 1049169609, -1130115172, -1155791638, -1110800082, 1013369309, -1154113232, 989882669, -1148170418, 995283997, 1049416262, 1028309890, -1119184064, -1173720221, -1168933800, -1161599582, -1153487719, 1061190317, 1008621910, -1146688747, 1016054992, -1140566328, 979501426, 977584690, 941444814, 986698732, 1048787952, 1009585647, 984884468, -1124408323, -1134840262, -1152824391, -1181912125, -1148656519, -1162427976, 1048302836, -1149187068, -1114567164, -1167027103, -1160415382, -1157136374, -1150053979, 1058353736, 1009876420, -1153698826, 1016449824, -1151065538, 981898516, 979827284, 938375950, 988634377)
Je vais relancer le même sweep sur lequel Thomas voyait les BP tous faux (K coeff unitaires + sweep à F1 sur toutes les voies) pour une validation qualitative des valeurs des BP.
Updated by bruno katra about 2 years ago
- Assignee changed from bruno katra to thomas chust
Résultats CTC-951 (sweep@F1 sur E1/E2/B1/B2/B3 avec KCOEFF unitaires) en "3.3.0.9-b" (3.3.0.9 patchée par Alexis le 5/09/2022) :
https://ao.lpp.polytechnique.fr/index.php/apps/files/?dir=/LFR/3.3.0.9-b/CTC-951&fileid=2679863
Pour valider l'état des BP + cohérence ASM/BP.
Updated by thomas chust about 2 years ago
- Assignee changed from thomas chust to Alexis Jeandet
bruno katra wrote in #note-14:
Résultats CTC-951 (sweep@F1 sur E1/E2/B1/B2/B3 avec KCOEFF unitaires) en "3.3.0.9-b" (3.3.0.9 patchée par Alexis le 5/09/2022) :
https://ao.lpp.polytechnique.fr/index.php/apps/files/?dir=/LFR/3.3.0.9-b/CTC-951&fileid=2679863
Pour valider l'état des BP + cohérence ASM/BP.
Bizarre bizarre ... Globalement tout est encore bien faux mais avec des valeurs non figées SAUF :
1) pour la première fréquence
2) et pour la partie reélle seulement
3) quelque soit la fréquence injectée
je trouve un très bon accord entre les BP2 calculés à bord et ceux que je calcule à partir des ASM :
for ifreq in range(len(bp2_l1['freq'])):
print(bp2_l1_asm_ave[i_asm, ifreq, ...].real / bp2_l1['bp2_idl'][i_bp2, ifreq, ...].real)
(print des rapports relatifs des 5x5 composantes matricielles pour ifreq=0)
[[0.9999442 0.98848332 1.00240861 1.00255589 1.01052553] [0.98848332 0.99962417 0.97897702 0.98639042 1.004895 ] [1.00240861 0.97897702 0.99979015 0.99741427 0.98597923] [1.00255589 0.98639042 0.99741427 0.9999476 0.99870123] [1.01052553 1.004895 0.98597923 0.99870123 0.99958374]]
... (après n'importe quoi)
Alexis, je pense qu'il y a encore un truc qui cloche quelque part dans le code ...
Updated by Alexis Jeandet about 2 years ago
thomas chust wrote in #note-15:
bruno katra wrote in #note-14:
Résultats CTC-951 (sweep@F1 sur E1/E2/B1/B2/B3 avec KCOEFF unitaires) en "3.3.0.9-b" (3.3.0.9 patchée par Alexis le 5/09/2022) :
https://ao.lpp.polytechnique.fr/index.php/apps/files/?dir=/LFR/3.3.0.9-b/CTC-951&fileid=2679863
Pour valider l'état des BP + cohérence ASM/BP.
Bizarre bizarre ... Globalement tout est encore bien faux mais avec des valeurs non figées SAUF :
1) pour la première fréquence
2) et pour la partie reélle seulement
3) quelque soit la fréquence injectée
je trouve un très bon accord entre les BP2 calculés à bord et ceux que je calcule à partir des ASM :for ifreq in range(len(bp2_l1['freq'])):
print(bp2_l1_asm_ave[i_asm, ifreq, ...].real / bp2_l1['bp2_idl'][i_bp2, ifreq, ...].real)(print des rapports relatifs des 5x5 composantes matricielles pour ifreq=0)
[...]
... (après n'importe quoi)Alexis, je pense qu'il y a encore un truc qui cloche quelque part dans le code ...
Tu peux vérifier les BP1 aussi?
Updated by thomas chust about 2 years ago
Bonne nouvelle, je peux déjà dire que tous les PB et PE sont partout bons (identiques à ceux que je calcule avec les ASM):
- pour chaque BP1/ASM c'est à dire les 9 par fichier
- pour les 13 fréquences F1
- a priori pour les 104 fichiers mais je n'ai regardé que 2 pour l'instant ...
Cela veut-il dire que le bug sur les BP2 n'est pas au niveau de la matrice ASM_c ?
Updated by Alexis Jeandet about 2 years ago
Cela veut-il dire que le bug sur les BP2 n'est pas au niveau de la matrice ASM_c ?
Du coup ouai, il n'y a plus de bug sur la matrice ASM_c.
Updated by thomas chust about 2 years ago
Tu peux vérifier les BP1 aussi?
Bon j'ai continué avec les autres BP1 et cela va plutôt dans le bon sens:
- les DOP (avec racine carré) semblent ok au pb de précision numérique près; vérifier toutefois que dans le FSW on a bien implémenté la racine carré ce qui n'était pas le cas auparavant, sinon on est pas ok.
- ELLIP est ok au pb de précision près
- idem avec NVEC
- SX partie réelle est très bien, SX son bit d'argument il y a une problème quand le Sx complexe (duquel on ne retient que la partie réelle) est un imaginaire pur
- VPHI partie réelle ne semble pas bon du tout sans être complètement à l'ouest (pb de précision ?); exemple:
Les rapport relatifs entre ce que je calcule à partir des ASM (bp1_from_asm) et les BP1 calculés à bord (bp1_l1):
bp1_from_asm['vphi_bp1'] / bp1_l1['vphi'][:,:,0] qui donne (array de 9 cas x 13 fréq)
array([[0.67398706, 0.64374772, 0.48551286, 0.521246 , 0.47350695, 0.63965168, 0.84279414, 0.73332434, 0.57437166, 0.59694102, 0.47600603, 0.55080843, 0.49458129], [0.62039243, 0.64311317, 0.49187431, 0.50237357, 0.54743528, 0.68861592, 0.97750932, 0.72652183, 0.52741699, 0.60692777, 0.47371066, 0.51935065, 0.49438819], [0.83478213, 0.5883162 , 0.48139589, 0.48822446, 0.48446648, 0.62216672, 0.9691301 , 0.63015068, 0.43284755, 0.5359264 , 0.45815066, 0.51500279, 0.48677846], [0.60101126, 0.46462098, 0.41880171, 0.41470813, 0.44982286, 0.44309882, 0.81455329, 0.48436613, 0.20388108, 0.410325 , 0.40992104, 0.4577602 , 0.44575944], [0.56450619, 0.36709617, 0.38708725, 0.37625105, 0.40124154, 0.2951607 , 0.5315442 , 0.43579364, 0.10662038, 0.31927955, 0.2316454 , 0.3938928 , 0.35559512], [0.50799226, 0.46908048, 0.34043602, 0.41983651, 0.36840989, 0.13454064, 0.16246146, 0.41402355, 0.19041422, 0.49088026, 0.35983501, 0.43440646, 0.36850801], [0.52057581, 0.42273744, 0.32368479, 0.40573546, 0.08964833, 0.04410259, 0.23315896, 0.41324288, 0.14323584, 0.38861806, 0.3326396 , 0.41691457, 0.42406037], [0.51523924, 0.35041657, 0.33571969, 0.41492685, 0.4290872 , 0.03658612, 0.59087967, 0.38993877, 0.2516188 , 0.32117904, 0.24931674, 0.42737388, 0.40342039], [0.45756228, 0.34850031, 0.26799071, 0.28895139, 0.37792776, 0.10111344, 0.85482635, 0.36792897, 0.17660623, 0.57898456, 0.2716805 , 0.28760522, 0.38642624]])
Updated by Alexis Jeandet about 2 years ago
Au final je comprend pas ce qui marche ou pas, tu peux dire de manière plus claire ce qui ne marche pas (seulement ce qui ne marche pas) sans "sauf" ni double négations ou autres formulations ambiguës?
Updated by Alexis Jeandet about 2 years ago
- Assignee changed from Alexis Jeandet to bruno katra
Normalement ce build corrige tous les bugs qu'on a vu avec Thomas.
https://hephaistos.lpp.polytechnique.fr/teamcity/buildConfiguration/LfrFlightSoftware_BuildLpp/76081?hideProblemsFromDependencies=false&hideTestsFromDependencies=false&expandBuildChangesSection=true
Une fois validé je tag et je release pour une vrai validation complète.
Updated by bruno katra about 2 years ago
Alexis Jeandet wrote in #note-22:
Normalement ce build corrige tous les bugs qu'on a vu avec Thomas.
https://hephaistos.lpp.polytechnique.fr/teamcity/buildConfiguration/LfrFlightSoftware_BuildLpp/76081?hideProblemsFromDependencies=false&hideTestsFromDependencies=false&expandBuildChangesSection=true
Une fois validé je tag et je release pour une vrai validation complète.
TEST CTC-951b : sweep à F1 avec KCOEFF UNITAIRES avec "3.3.0.9-c" (=3.3.0.9 du build ci-dessus) + Analog discovery avec splitter sur Channel 0 afin d'assurer le phasage parfait des signaux injectés, les résultats :
https://ao.lpp.polytechnique.fr/index.php/apps/files/?dir=/LFR/3.3.0.9-c/CTC-951b&fileid=2718798
Updated by bruno katra about 2 years ago
- Assignee changed from bruno katra to thomas chust
Updated by thomas chust about 2 years ago
TEST CTC-951b : sweep à F1 avec KCOEFF UNITAIRES avec "3.3.0.9-c" (=3.3.0.9 du build ci-dessus) + Analog discovery avec splitter sur Channel 0 afin d'assurer le phasage parfait des signaux injectés, les résultats :
https://ao.lpp.polytechnique.fr/index.php/apps/files/?dir=/LFR/3.3.0.9-c/CTC-951b&fileid=2718798
Premier retour. Tout semble ok pour ce que j'ai vu avec Alexis sauf un point. Les partie imaginaires BP2 ne sont toujours pas ok. Les partie réelles oui. Je creuse demain ...
Updated by bruno katra about 2 years ago
TEST CTC-901c : sweep à F1 avec KCOEFF PAR DEFAUT avec "3.3.0.9-c" (=3.3.0.9 du build ci-dessus) + Analog discovery avec splitter sur Channel 0 afin d'assurer le phasage parfait des signaux injectés, les résultats :
https://ao.lpp.polytechnique.fr/index.php/apps/files/?dir=/LFR/3.3.0.9-c/CTC-901c&fileid=2719309
Updated by thomas chust about 2 years ago
thomas chust wrote in #note-25:
TEST CTC-951b : sweep à F1 avec KCOEFF UNITAIRES avec "3.3.0.9-c" (=3.3.0.9 du build ci-dessus) + Analog discovery avec splitter sur Channel 0 afin d'assurer le phasage parfait des signaux injectés, les résultats :
Premier retour. Tout semble ok pour ce que j'ai vu avec Alexis sauf un point. Les partie imaginaires BP2 ne sont toujours pas ok. Les partie réelles oui. Je creuse demain ...
Bon, en bref, tout est bon ! Concernant les BP2 il ne fallait pas comparer les parties imaginaires indépendamment des parties réelles. Il faut comparer les nombres complexes en tant tels. Il se trouve qu'avec les cinq signaux ayant pour ainsi dire aucun déphasage, les termes non diagonaux sont naturellement des nombres complexes très proches de l'axe réel, et leur parties imaginaires sont donc très petites devant leurs parties réelles. Ce que j'ai observé ce n'était rien d'autre que les limites de la résolution numérique (8 bit d'encodage pour ces termes non diagonaux).
Pour sx et vphi et leur bit d'argument, j'ai revérifié sur tous les fichiers, tout est bien ok.
En résumé, avec cette version 3.3.0.9c, lorsque les kcoeff sont unitaires et pour F1 (au moins):
- Les ASM permettent de retrouver à une très bonne précision tous les résultats de calibration obtenus à partir des SWF: amplitudes et phases relatives des 5 composantes injectées
- Lorsque je considère une ASM et que je calcule sur PC les BP2 et les BP1, ces derniers sont bien comparables à ceux calculés sur LFR, toutes les différences observées sont dans une fourchette de valeurs explicable par les limitations des encodages choisis.
Updated by thomas chust about 2 years ago
- File ASM default versus ASM unitaires_F1.png ASM default versus ASM unitaires_F1.png added
- Assignee changed from thomas chust to bruno katra
bruno katra wrote in #note-26:
TEST CTC-901c : sweep à F1 avec KCOEFF PAR DEFAUT avec "3.3.0.9-c" (=3.3.0.9 du build ci-dessus) + Analog discovery avec splitter sur Channel 0 afin d'assurer le phasage parfait des signaux injectés, les résultats :
https://ao.lpp.polytechnique.fr/index.php/apps/files/?dir=/LFR/3.3.0.9-c/CTC-901c&fileid=2719309
Premier retour de la comparaison entre ces ASM calibrées à bord avec les kcoef par défaut et les ASM unitaires (#note-23) que je calibre sur PC: les différences relatives sur toutes les composantes et les 9 ASM par fichier (fréquence injectée) sont < à 0.4%. Plot joint qui illustre cela.
Je vais continuer à analyser le cas mais on peut déjà faire des run similaires pour F0 puis F2 ... Bon weekend
Updated by Alexis Jeandet about 2 years ago
thomas chust wrote in #note-29:
bruno katra wrote in #note-26:
TEST CTC-901c : sweep à F1 avec KCOEFF PAR DEFAUT avec "3.3.0.9-c" (=3.3.0.9 du build ci-dessus) + Analog discovery avec splitter sur Channel 0 afin d'assurer le phasage parfait des signaux injectés, les résultats :
https://ao.lpp.polytechnique.fr/index.php/apps/files/?dir=/LFR/3.3.0.9-c/CTC-901c&fileid=2719309
Premier retour de la comparaison entre ces ASM calibrées à bord avec les kcoef par défaut et les ASM unitaires (#note-23) que je calibre sur PC: les différences relatives sur toutes les composantes et les 9 ASM par fichier (fréquence injectée) sont < à 0.4%. Plot joint qui illustre cela.
Je vais continuer à analyser le cas mais on peut déjà faire des run similaires pour F0 puis F2 ... Bon weekend
Cool, du coup 0.4% c'est cohérent avec ce qu'on devrait attendre? Ca semble faible mais d'un autre coté ça fait du 1 pour 250 ce qui est pas si bon comparé à la résolution attendue.
Updated by bruno katra about 2 years ago
thomas chust wrote in #note-29:
Je vais continuer à analyser le cas mais on peut déjà faire des run similaires pour F0 puis F2 ... Bon weekend
Ok j'attends la release 3.3.0.10 avant de poursuivre les tests.
Si les bp sont bons maintenant je pense qu'on va clôturer cette issue
Updated by Alexis Jeandet about 2 years ago
bruno katra wrote in #note-31:
thomas chust wrote in #note-29:
Je vais continuer à analyser le cas mais on peut déjà faire des run similaires pour F0 puis F2 ... Bon weekend
Ok j'attends la release 3.3.0.10 avant de poursuivre les tests.
here she is: https://github.com/LaboratoryOfPlasmaPhysics/LFR_Flight_Software/releases/tag/3.3.0.10
Si les bp sont bons maintenant je pense qu'on va clôturer cette issue
Updated by thomas chust about 2 years ago
bruno katra wrote in #note-31:
Si les bp sont bons maintenant je pense qu'on va clôturer cette issue
Attend encore: il faut encore vérifier à F0 et F2
Updated by bruno katra about 2 years ago
Updated by bruno katra about 2 years ago
- Assignee changed from bruno katra to thomas chust
TEST CTC-950b : sweep à F0 avec KCOEFF UNITAIRES avec "3.3.0.10" + Analog discovery avec splitter sur Channel 0 afin d'assurer le phasage parfait des signaux injectés, les résultats :
https://ao.lpp.polytechnique.fr/index.php/apps/files/?dir=/LFR/3.3.0.10/CTC-950b&fileid=2722434
Updated by thomas chust about 2 years ago
Alexis Jeandet wrote in #note-30:
Cool, du coup 0.4% c'est cohérent avec ce qu'on devrait attendre? Ca semble faible mais d'un autre coté ça fait du 1 pour 250 ce qui est pas si bon comparé à la résolution attendue.
Je sais pas. En tout cas il faut avoir en tête que l'on compare là 2 sets de données produits à des moments différents (les ASM defaults le 29/10 et les ASM unitaires le 28/10), où l'on suppose que les 2 expériences sont "parfaitement" comparables en terme de setup.
Pour le coup j'ai essayé de m'affranchir de cela en comparant les ASM default avec les ASM que je calcule sur PC à partir des SWF enregistrées au même moment (les 0.5 s du SWF inclus dans les 4 s de l'ASM). Je trouve un résultat qui confirme le bon calcul à bord et un peu meilleur du point de vue de la précision: les différences relatives sur toutes les composantes sont < à 0.2%, voir le plot joint. Cette moyenne précision est-elle due au fait qu'on compare une moyenne de FFT sur 0.5 s au lieu de 4s ? Si tel est le cas, les résults à F2 devraientt être meilleurs et ceux à F0 devraient être moins bon.
NB: ce résult à 0.2% a été obtenu avec la même fenêtre de Hanning qu'implémentée sur LFR (symétrique); avec la fenêtre de Hanning d'IDL (non symétrique à cause d'un point mais périodisable en simple sinusoïde), je trouve un résult à 1%.
Updated by Alexis Jeandet about 2 years ago
Je sais pas. En tout cas il faut avoir en tête que l'on compare là 2 sets de données produits à des moments différents (les ASM defaults le 29/10 et les ASM unitaires le 28/10), où l'on suppose que les 2 expériences sont "parfaitement" comparables en terme de setup.
En effet là on peut imaginer que ça diffère un peu.
Pour le coup j'ai essayé de m'affranchir de cela en comparant les ASM default avec les ASM que je calcule sur PC à partir des SWF enregistrées au même moment (les 0.5 s du SWF inclus dans les 4 s de l'ASM). Je trouve un résultat qui confirme le bon calcul à bord et un peu meilleur du point de vue de la précision: les différences relatives sur toutes les composantes sont < à 0.2%, voir le plot joint. Cette moyenne précision est-elle due au fait qu'on compare une moyenne de FFT sur 0.5 s au lieu de 4s ? Si tel est le cas, les résults à F2 devraientt être meilleurs et ceux à F0 devraient être moins bon.
En réfléchissant très vite à chaud, je dirais que si l'erreur est pas systématique alors on peut imaginer que le même calcul sur 4 secondes aurait une erreur réduite de sqrt(8) ce qui donnerait 0.07% ce qui donne du 1 pour 1500 environ. Je sais toujours pas dire si c'est honorable ou si on peut encore passer à coté d'une erreur assez débile.
Par contre on peut faire ce test en BURST/SBM non? Du cou tu aurais l'intégralité des waveforms pour comparer.
Updated by bruno katra about 2 years ago
TEST CTC-952b : sweep à F2 avec KCOEFF UNITAIRES avec "3.3.0.10" + Analog discovery avec splitter sur Channel 0 afin d'assurer le phasage parfait des signaux injectés, les résultats :
https://ao.lpp.polytechnique.fr/index.php/apps/files/?dir=/LFR/3.3.0.10/CTC-952b&fileid=2722673
Updated by bruno katra about 2 years ago
TEST CTC-900c : sweep à F0 avec KCOEFF PAR DEFAUT avec "3.3.0.10" + Analog discovery avec splitter sur Channel 0 afin d'assurer le phasage parfait des signaux injectés, les résultats :
https://ao.lpp.polytechnique.fr/index.php/apps/files/?dir=/LFR/3.3.0.10/CTC-900c&fileid=2722952
Updated by thomas chust about 2 years ago
- File ASM default versus ASM unitaires_F0.png ASM default versus ASM unitaires_F0.png added
- File ASM default versus SWF calibrated_F0.png ASM default versus SWF calibrated_F0.png added
bruno katra wrote in #note-35:
TEST CTC-950b : sweep à F0 avec KCOEFF UNITAIRES avec "3.3.0.10" + Analog discovery avec splitter sur Channel 0 afin d'assurer le phasage parfait des signaux injectés, les résultats :
https://ao.lpp.polytechnique.fr/index.php/apps/files/?dir=/LFR/3.3.0.10/CTC-950b&fileid=2722434
bruno katra wrote in #note-39:
TEST CTC-900c : sweep à F0 avec KCOEFF PAR DEFAUT avec "3.3.0.10" + Analog discovery avec splitter sur Channel 0 afin d'assurer le phasage parfait des signaux injectés, les résultats :
https://ao.lpp.polytechnique.fr/index.php/apps/files/?dir=/LFR/3.3.0.10/CTC-900c&fileid=2722952
1) Avec le run kcoeff unitaires j'ai pu vérifier que les BP2 et BP1 sont toujours OK à F0
2) La comparaison entre les ASM calibrées à bord avec les kcoeff par défaut et les ASM avec kcoeff unitaires que je calibre sur PC montre un résultat similaire à ce que j'ai trouvé à F1: les différences relatives sur toutes les composantes et les 9 ASM par fichier (fréquence injectée) sont < à 0.3%. Voir le plot joint.
3) La comparaison entre les ASM calibrées à bord avec les kcoeff par défaut et les ASM que je calcule sur PC à partir des SWF enregistrées au même moment (les 0.5 s du SWF inclus dans les 4 s de l'ASM) montre également un résultat similaire à ce que j'ai trouvé à F1: les différences relatives sur toutes les composantes sont < à 0.2%, voir le plot joint.
En conclusion, la calibration à bord des ASM avec les KCOEFF PAR DEFAUT, et les calculs à bord des BP2 et BP1, sont testés correctes à F1 et F0, avec les stimuli utilisés jusqu'à présent (5 signaux parfaitement en phase).
Updated by bruno katra about 2 years ago
TEST CTC-902c : sweep à F2 avec KCOEFF PAR DEFAUT avec "3.3.0.10" + Analog discovery avec splitter sur Channel 0 afin d'assurer le phasage parfait des signaux injectés, les résultats :
https://ao.lpp.polytechnique.fr/index.php/apps/files/?dir=/LFR/3.3.0.10/CTC-902c&fileid=2724566
Updated by thomas chust about 2 years ago
- File ASM default versus SWF calibrated_F2.png ASM default versus SWF calibrated_F2.png added
- File ASM default versus ASM unitaires_F2.png ASM default versus ASM unitaires_F2.png added
- Assignee changed from thomas chust to bruno katra
bruno katra wrote in #note-41:
TEST CTC-902c : sweep à F2 avec KCOEFF PAR DEFAUT avec "3.3.0.10" + Analog discovery avec splitter sur Channel 0 afin d'assurer le phasage parfait des signaux injectés, les résultats :
https://ao.lpp.polytechnique.fr/index.php/apps/files/?dir=/LFR/3.3.0.10/CTC-902c&fileid=2724566
Comme pour les tests à F1 et F0 (#note-40), la calibration à bord des ASM avec les KCOEFF PAR DEFAUT (voir plots attachés), et les calculs à bord des BP2 et BP1, sont testés correctes à F2.
Updated by bruno katra about 2 years ago
- Status changed from In Progress to Closed
Fixed in 3.3.0.10