Bug #327
closedErreur dans la formule des BP2 cross
100%
Description
Je te propose de reprendre en douceur avec un ajustement de la formule de decom des données BP2_CROSS [es termes non-diagonaux: 10 RE (réels) + 10 IM (imaginaires)].
Actuellement il semblerait que tu aies appliqué la formule de transformation suivante :
BP2_CROSS_decom = BP2_CROSS_raw - 128 (shift des uint8 de 0 à 255 vers int8 de -128 à +127)
A priori je souhaiterais que tu implémentes plutôt cette formule:
BP2_CROSS_decom = BP2_CROSS_raw / 127.5 - 1
Explication:
- la fonction BP2_set qui qui calcul ces valeurs fait l'opération de shift et de caste, avec arrondi à 0.5 près, suivante :
lfr_bp2 = uin8_t( [(cross+1)/2] * 255 + 0.5 ) = uint8_t( cross*127.5 + 128 )
- d'où l'opération inverse proposée: cross = lfr_bp2 / 127.5 - 1 (donc erreur < à 0.5/127.5 = 1/255)
Bon retour!
Thomas
--
LPP - Laboratoire de Physique des Plasmas
UMR 7648 CNRS/Ecole Polytechnique/UPMC/Université Paris-Sud 11
Ecole Polytechnique, route de Saclay, 91128 Palaiseau cedex
Bureau: 412-1014
Tél: +33 (0)1 6933 5856
Fax: +33 (0)1 6933 5906
Web: http://www.lpp.fr
--
Updated by bruno katra almost 10 years ago
- % Done changed from 0 to 40
Questtion à TCH :
Donc la valeur décommutée est bien un float à la fin n'est ce pas ??
Updated by bruno katra almost 10 years ago
- Status changed from New to Feedback
r58 : implémentation ok et testée OK. En attente confirmation TCH.
Updated by bruno katra almost 10 years ago
- Status changed from Feedback to Closed
- % Done changed from 40 to 100
réponse TCH :
Oui ! Et compris entre -1 et +1
A demain!
Thomas
r59 : valeurs BP2 CROSS testées OK par comparaison et opération manuelle avec le binaire.
Livraison EXE : OK