72 lines
2.5 KiB
Markdown
72 lines
2.5 KiB
Markdown
# 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).
|
||
L’amplitude d’entrée du signal est de 50 mv, elle sera
|
||
donc converti en 0,05*4095/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é :
|
||
(A*N2)2 =3 936 256, avec A=62 et N=64. Cela équivaut en hexadécimal à : 3C1000.
|
||
Ce seuil calculé ne convenant pas nous l’avons 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 d’arrêts:
|
||
Afin d’observer tir après tir le son se déclencher, on peut placer un point
|
||
d’arrê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 l’expression ‘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 d’observer differents tirs lasers, il suffit de parametrer
|
||
Duree_Ech_ticks de Init_TimingADC_ActiveADC_ff().
|
||
Dans l’exemple qui suit nous avons utiliser:
|
||
Init_TimingADC_ActiveADC_ff( ADC1, 0x52 );
|
||
0x52 : sig.1 = 124, bruit = 4, sig.2 = 1000
|