Bug #3930
closedLes valeurs des KCOEFF après une sequence de LOAD_KCOEFF ne sont pas correctes.
0%
Description
Test fait en 3.3.0.5 et 3.3.0.4 : les matrices et les tableaux sont énormes, pour plus de visibilité je ne copie/colle pas toutes les valeurs dans l'issue.
Je réduis le test uniquement aux valeurs du BIN16 de F0.
J'ai uploadé les kcoeffs de Thomas pour faire des matrices unitaires, pour (sy_lfr_kcoeff_frequency = 0) qui contient le 'F0 calibration matrix bin 16' cela donnes les valeurs suivantes :
[ 1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 ,1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0]
Les valeurs en gras sont les 18 floats de la matrice B pour BIN16 à F0 (9 nombres complexes) que l'on s'attend à retrouver en mémoire et dans le KCOEFF_DUMP
L'upload des KCOEFF se passe bien (tous les acquittements OK) MAIS voici ce que contient la mémoire pour la matrice B pour le BIN16 F0 :
1.0, 1.0, 0.875, 0.765625, 0.669921875, 0.586181640625, 0.512908935546875, 0.4487953186035156, 0.39269590377807617, 0.46860891580581665, 0.41003280878067017, 0.39529386162757874, 0.39178162813186646, 0.3037853538990021, 0.21817202866077423, 0.21827389299869537, 0.2288564145565033, 0.15853223204612732
Ceci est confirmé par le KCOEFF_DUMP :
1.0000000000000000 1.0000000000000000 0.8750000000000000 0.7656250000000000 0.6699218750000000 0.5861816406250000 0.51290893554687
50 0.4487953186035156 0.3926959037780762 0.4686089158058167 0.4100328087806702 0.3952938616275787 0.3917816281318665 0.3037853538
990021 0.2181720286607742 0.2182738929986954 0.2288564145565033 0.1585322320461273
Updated by Alexis Jeandet almost 3 years ago
- Status changed from New to In Progress
- Assignee changed from Alexis Jeandet to bruno katra
En effet, l'interpolation n'était pas bonne, jespère que là ça marche.
https://teamcity.lpp.polytechnique.fr/teamcity/buildConfiguration/LfrFlightSoftware_BuildLpp/74010?buildTab=artifacts
Si jamais c'est bon je fais la release officielle sur github.
Updated by bruno katra almost 3 years ago
3.3.0.6 :
Les valeurs dans la TM_KCOEFF_DUMP sont correctement rapportées maintenant
MAIS : si on regarde les valeurs en mémoire, toutes les matrices intermédiaires ont gardé les valeurs par défaut, comme si l'interpolation n'avaient pas été faite. Pourtant mon script envoie bien les 36 TC_LOAD_KCOEFF.
BIN_16@F0 : 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, > OK
BIN_17@F0 : 0.2921212315559387, 0.36719611287117004, -0.31218859553337097, -0.3811212182044983, 0.21898697316646576, 0.30293402075767517, -0.3337371051311493, -0.4254870116710663, 0.005736450664699078, 0.0030027711763978004, 0.3361581265926361, 0.3673960268497467, -0.19545191526412964, -0.263956218957901, -0.40087321400642395, -0.5174423456192017, -0.16662918031215668, -0.24546197056770325 > PAS OK =valeurs par défaut
Updated by Alexis Jeandet almost 3 years ago
J'espère que cette fois c'est la bonne https://teamcity.lpp.polytechnique.fr/teamcity/buildConfiguration/LfrFlightSoftware_BuildLpp/74078?buildTab=artifacts
Updated by bruno katra almost 3 years ago
- Status changed from In Progress to Closed
Test en 3.3.0.7 : OK à priori
Les valeurs interpolées sont maintenant bonnes quand je charge les matrices unitaires. Ceci va me permettre de valider #3897 et #3898.
Il faudra cependant des tests plus poussées pour valider la tâche d'interpolation elle-même car les matrices unitaires sont toutes les mêmes pour les tous les bins donc l'interpolation ne fait que dupliquer les matrices "clés".