Task #3985
openTest du chargement forcé des KCOEFF par défaut : écrasement des KCOEFF à bord
0%
Description
Demande de Thomas (mails du 11/10/2022) :
Hello Bruno,
As-tu le fichier des kcoeff correspondant au kcoef par defaut ? On pourrait déjà commencer par vérifier que cela marche, comme avec les valeurs par défaut (cohérence entre les SWF et les ASM). Non ?
Thomas
Voici ce que j'enverrais à Diane. C'est dans le même format que le fichier que je t'avais fourni pour le cas des kcoeff unitaires. Par rapport à ce que j'avais déjà produit au moment de la définition des kcoeff par défaut pour Alexis (fichiers datant du 2021-09-08), j'ai juste rajouté 3 décimales supplémentaires.
Thomas
Files
Related issues
Updated by bruno katra about 2 years ago
CTC-960 : SWEEP @F0 en 3.3.0.10 avec LOAD KCOEFF des KCOEFF avec les mêmes valeurs que ceux à bord par défaut + 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-960&fileid=2730817
Updated by thomas chust about 2 years ago
- File ASM default loaded versus SWF calibrated full_F0.png ASM default loaded versus SWF calibrated full_F0.png added
- File ASM default loaded versus SWF calibrated interp_F0.png ASM default loaded versus SWF calibrated interp_F0.png added
- Assignee changed from thomas chust to bruno katra
bruno katra wrote in #note-1:
CTC-960 : SWEEP @F0 en 3.3.0.10 avec LOAD KCOEFF des KCOEFF avec les mêmes valeurs que ceux à bord par défaut + 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-960&fileid=2730817
C'est bon. Lorsque je calibre l'ASM calculée à partir d'un SWF de la même manière que fait à bord, c'est à dire en interpolant les kcoeff, je trouve un accord à 0.4 % près. Lorsque je calibre à partir des kcoeff full résolution (donc sans interpolation) on observe des écarts jusqu'à 25%. Cela montre la limite de précision introduit par l'interpolation. Voir les 2 plots joints.
Bruno tu peux continuer à F1 et F2.
Updated by bruno katra about 2 years ago
Bruno tu peux continuer à F1 et F2.
Le test @F1 est en cours depuis ce matin
Updated by bruno katra about 2 years ago
CTC-961 : SWEEP @F1 en 3.3.0.10 avec LOAD KCOEFF des KCOEFF avec les mêmes valeurs que ceux à bord par défaut + Analog discovery avec splitter sur Channel 0 afin d'assurer le phasage parfait des signaux injectés :
/!\ Cette fois ci j'ai rajouté une étape préparatoire où j'uploade d'abord les KCOEFF unitaires puis ensuite je réécrase avec le fichier de Thomas qui contient les KCOEFF par défaut, ceci afin d'être sûr que les valeurs à bord ont bien été changée une fois car écraser les KCOEFF par défaut à bord avec les mêmes valeurs directement ne permet pas de discriminer si l'upload est bien pris en compte. Je fais ça avant de dumper les données donc Thomas ça ne change rien au nombre de fichier et l'ordre dans lequel tu les traites d'habitude.
Les résultats :
https://ao.lpp.polytechnique.fr/index.php/apps/files/?dir=/LFR/3.3.0.10/CTC-961&fileid=2731310
Updated by bruno katra about 2 years ago
CTC-962 : SWEEP @F2 en 3.3.0.10 avec LOAD KCOEFF des KCOEFF avec les mêmes valeurs que ceux à bord par défaut + Analog discovery avec splitter sur Channel 0 afin d'assurer le phasage parfait des signaux injectés :
/!\ Cette fois ci j'ai rajouté une étape préparatoire où j'uploade d'abord les KCOEFF unitaires puis ensuite je réécrase avec le fichier de Thomas qui contient les KCOEFF par défaut, ceci afin d'être sûr que les valeurs à bord ont bien été changée une fois car écraser les KCOEFF par défaut à bord avec les mêmes valeurs directement ne permet pas de discriminer si l'upload est bien pris en compte. Je fais ça avant de dumper les données donc Thomas ça ne change rien au nombre de fichier et l'ordre dans lequel tu les traites d'habitude.
Les résultats :
https://ao.lpp.polytechnique.fr/index.php/apps/files/?dir=/LFR/3.3.0.10/CTC-962&fileid=2731519
Updated by thomas chust about 2 years ago
- File ASM default loaded versus SWF calibrated interp_F1.png ASM default loaded versus SWF calibrated interp_F1.png added
- File ASM default loaded versus SWF calibrated full_F1.png ASM default loaded versus SWF calibrated full_F1.png added
bruno katra wrote in #note-5:
CTC-961 : SWEEP @F1 en 3.3.0.10 avec LOAD KCOEFF des KCOEFF avec les mêmes valeurs que ceux à bord par défaut + Analog discovery avec splitter sur Channel 0 afin d'assurer le phasage parfait des signaux injectés :
/!\ Cette fois ci j'ai rajouté une étape préparatoire où j'uploade d'abord les KCOEFF unitaires puis ensuite je réécrase avec le fichier de Thomas qui contient les KCOEFF par défaut, ceci afin d'être sûr que les valeurs à bord ont bien été changée une fois car écraser les KCOEFF par défaut à bord avec les mêmes valeurs directement ne permet pas de discriminer si l'upload est bien pris en compte. Je fais ça avant de dumper les données donc Thomas ça ne change rien au nombre de fichier et l'ordre dans lequel tu les traites d'habitude.
Les résultats :
https://ao.lpp.polytechnique.fr/index.php/apps/files/?dir=/LFR/3.3.0.10/CTC-961&fileid=2731310
Résultats similaire qu'à F0 (#note-2); voir plots attachés.
Updated by thomas chust about 2 years ago
- File ASM default loaded versus SWF calibrated interp_F2.png ASM default loaded versus SWF calibrated interp_F2.png added
- File ASM default loaded versus SWF calibrated full_F2.png ASM default loaded versus SWF calibrated full_F2.png added
bruno katra wrote in #note-6:
CTC-962 : SWEEP @F2 en 3.3.0.10 avec LOAD KCOEFF des KCOEFF avec les mêmes valeurs que ceux à bord par défaut + Analog discovery avec splitter sur Channel 0 afin d'assurer le phasage parfait des signaux injectés :
/!\ Cette fois ci j'ai rajouté une étape préparatoire où j'uploade d'abord les KCOEFF unitaires puis ensuite je réécrase avec le fichier de Thomas qui contient les KCOEFF par défaut, ceci afin d'être sûr que les valeurs à bord ont bien été changée une fois car écraser les KCOEFF par défaut à bord avec les mêmes valeurs directement ne permet pas de discriminer si l'upload est bien pris en compte. Je fais ça avant de dumper les données donc Thomas ça ne change rien au nombre de fichier et l'ordre dans lequel tu les traites d'habitude.
Les résultats :
https://ao.lpp.polytechnique.fr/index.php/apps/files/?dir=/LFR/3.3.0.10/CTC-962&fileid=2731519
Résultats similaire qu'à F0 (#note-2); voir plots attachés.
Updated by bruno katra about 2 years ago
- Status changed from In Progress to Feedback
Updated by thomas chust about 2 years ago
- File ASM default loaded versus SWF calibrated interp+4s_F2.png ASM default loaded versus SWF calibrated interp+4s_F2.png added
thomas chust wrote in #note-8:
bruno katra wrote in #note-6:
CTC-962 : SWEEP @F2 en 3.3.0.10 avec LOAD KCOEFF des KCOEFF avec les mêmes valeurs que ceux à bord par défaut + Analog discovery avec splitter sur Channel 0 afin d'assurer le phasage parfait des signaux injectés :
https://ao.lpp.polytechnique.fr/index.php/apps/files/?dir=/LFR/3.3.0.10/CTC-962&fileid=2731519
Résultats similaire qu'à F0 (#note-2); voir plots attachés.
J'ai refait l'analyse en extrayant des SWF de 8 s les 4 s qui coïncident avec les 4 s des ASM. Résultats identiques, les différences étant infimes avec les calculs qui prennent les SWF en entier. Plot attaché.
Cela signifierait que la précision de 0.1-0.4 % (et jamais mieux) observée jusqu'à présent dans nos comparaisons relatives, est essentiellement due aux coefficient de la la fenêtre de Hanning codée en VHDL (nombre de bit fini et précision limitée par rapport à des float)
Updated by thomas chust about 2 years ago
- Related to Task #3987: Tests avec KCOEFF distordus added
Updated by thomas chust about 2 years ago
- File ASM default loaded versus SWF calibrated interp cub_F0.png ASM default loaded versus SWF calibrated interp cub_F0.png added
- File ASM default loaded versus SWF calibrated interp cub_F1.png ASM default loaded versus SWF calibrated interp cub_F1.png added
- File ASM default loaded versus SWF calibrated interp cub_F2.png ASM default loaded versus SWF calibrated interp cub_F2.png added
- Assignee changed from bruno katra to Alexis Jeandet
thomas chust wrote in #note-2:
C'est bon. Lorsque je calibre l'ASM calculée à partir d'un SWF de la même manière que fait à bord, c'est à dire en interpolant les kcoeff, je trouve un accord à 0.4 % près. Lorsque je calibre à partir des kcoeff full résolution (donc sans interpolation) on observe des écarts jusqu'à 25%. Cela montre la limite de précision introduit par l'interpolation. Voir les 2 plots joints.
Alexis, on avait dit qu'on essayerait de faire mieux qu'une interpolation linéaire. Je te propose de faire une interpolation à l'aide de spline cubiques: https://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.CubicSpline.html#scipy.interpolate.CubicSpline
Lorsque je l'utilise et compare avec la calibration faite à bord actuellement (interpolation linéraire) je trouve des écarts immitant ceux que j'ai trouvé avec les kcoeff pleine résolution (les plots "ASM default loaded versus SWF calibrated full_Fj"). Voir les plots attachés "ASM default loaded versus SWF calibrated interp cub_Fj". Cela signifie que l'interpolation avec splines cubiques donne des résultats plus proches des courbes pleines résolutions que l'interpolation linéaire (on s'en doutait, c'est juste une confirmation). A priori l'interpolation avec splines cubiques est une méthode classique que tu devrais trouver dans des package C, tu confirmes ?
Updated by Alexis Jeandet almost 2 years ago
Alexis, on avait dit qu'on essayerait de faire mieux qu'une interpolation linéaire. Je te propose de faire une interpolation à l'aide de spline cubiques: https://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.CubicSpline.html#scipy.interpolate.CubicSpline
Lorsque je l'utilise et compare avec la calibration faite à bord actuellement (interpolation linéraire) je trouve des écarts immitant ceux que j'ai trouvé avec les kcoeff pleine résolution (les plots "ASM default loaded versus SWF calibrated full_Fj"). Voir les plots attachés "ASM default loaded versus SWF calibrated interp cub_Fj". Cela signifie que l'interpolation avec splines cubiques donne des résultats plus proches des courbes pleines résolutions que l'interpolation linéaire (on s'en doutait, c'est juste une confirmation). A priori l'interpolation avec splines cubiques est une méthode classique que tu devrais trouver dans des package C, tu confirmes ?
Des packages C, ça existe pas vraiment, si on utilise ça, alors il faut totalement le coder en s'inspirant éventuellement de (bouts de) codes en ligne. Pour le moment, j'ai trouvé ça https://gist.github.com/svdamani/1015c5c4b673c3297309.
Updated by bruno katra almost 2 years ago
On a les sources au labo quelques part d'un ancienne version des numerical recipes en C mais c'est propriétaire.
Chez Boost il y a de l'interpolation bicubique mais c'est du C++ : https://www.boost.org/doc/libs/1_65_0/libs/math/doc/html/math_toolkit/interpolate/cubic_b.html
Sinon en cherchant du côté de la GNU Scientific Library cela semble exister aussi : https://www.gnu.org/software/gsl/doc/html/interp.html#id2
et là on devrait pouvoir taper dans le code source nan?
Des packages C, ça existe pas vraiment, si on utilise ça, alors il faut totalement le coder en s'inspirant éventuellement de (bouts de) codes en ligne. Pour le moment, j'ai trouvé ça https://gist.github.com/svdamani/1015c5c4b673c3297309.