Project

General

Profile

Bug #327

Erreur dans la formule des BP2 cross

Added by bruno katra almost 7 years ago. Updated almost 7 years ago.

Status:
Closed
Priority:
High
Assignee:
Start date:
09/02/2015
Due date:
% Done:

100%

Estimated time:
revision:
r57

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
--

History

#1 Updated by bruno katra almost 7 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 ??

#2 Updated by bruno katra almost 7 years ago

  • Status changed from New to Feedback

r58 : implémentation ok et testée OK. En attente confirmation TCH.

#3 Updated by bruno katra almost 7 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

Also available in: Atom PDF