BE_CHTI/README.md

2.5 KiB
Raw Blame History

BE_CHTI

AFONSO Perrine & LARTIGUE Auriane 3MICD

Obj 2 : Faire tourner la DFT « en réel » et gérer le score des 6 joueurs

Nom du commit : eeec7ac8ac Ajout Objectif 2

Calcul du seuil :

Le CAN 12 bits peut recevoir un voltage de 0 à 3,3V. Ainsi 3,3 V sera converti en 212-1 = 4095 (en décimal). Lamplitude dentrée du signal est de 50 mv, elle sera donc converti en 0,054095/3,3 62. Nous savons que le module de la DFT pour un signal sinusoïdal d'amplitude A, de fréquence kN/Te et de phase quelconque est : |X(k)| = AN/2 = 0.5AN. La valeur du seuil sera donc égale au module au carré : (AN2)2 =3 936 256, avec A=62 et N=64. Cela équivaut en hexadécimal à : 3C1000. Ce seuil calculé ne convenant pas nous lavons ajustée pour obtenir les résultats voulus.

La valeur du seuil est donc : en hexadécimal : 0x2A7138 en décimal: 2781496 (correspond à la conversion de 42mv)

Observation des tirs:

Les variables que nous souhaitons observer sont:

  • Les tirs des joueurs
  • Le score de chaque joueur

Points darrêts:

Afin dobserver tir après tir le son se déclencher, on peut placer un point darrêt à la ligne 74.

Marche à suivre :

**Pour observer les tirs sur la cible:

  1. Commencez par assembler puis exécuter .
  2. Menu View → Analysis Window → Logic Analyser
  3. Setup → Ajouter 4 nouveaux signaux : compteur[0], compteur[1], compteur[2], compteur[3], compteur[4], compteur[5](Display Type : Analog)
  4. Run
  5. Adaptative Min / Max en faisant un clic droit sur TIM3_CCR3
  6. Zoom All

(A chaque étape de la dft si le signal dépasse le seuil que nous avons fixé, la variable compteur est incrémenté. Lorsque compteur dépasse une certaine valeur (pour nous 3 ) nous incrémentons le score des joueurs.)

**Pour obtenir le score: 7. Menu View → Watch Window → Watch 1 8. Entrer lexpression point (Nous souhaitons observer le tableau contenant les scores)

Séquence des fréquences :

signal 1 :

1 tir à 85kHz (k=17) 2 tirs à 90kHz (k=18) 3 tirs à 95kHz (k=19) 4 tirs à 100kHz (k=20) 5 tirs à 115kHz (k=23) signal 2 : (en parallèle, décalé de 50 ms) 15 tirs à 120kHz (k=24)

Données :

Afin dobserver differents tirs lasers, il suffit de parametrer Duree_Ech_ticks de Init_TimingADC_ActiveADC_ff(). Dans lexemple qui suit nous avons utiliser: Init_TimingADC_ActiveADC_ff( ADC1, 0x52 ); 0x52 : sig.1 = 124, bruit = 4, sig.2 = 1000