Outils pour utilisateurs

Outils du site


tptns2018_2

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
tptns2018_2 [2018/03/21 13:21]
bvandepo
tptns2018_2 [2018/03/21 13:33] (Version actuelle)
bvandepo
Ligne 132: Ligne 132:
  
   - On souhaite visualiser sur une même fenêtre mais sur 2 axes différents (car les échelles sont différentes) l'​impulsion et l'​impulsion quantifiée pour 7 échantillons. Vous devez donc utiliser **simuADC()** pour quantifier échantillon par échantillon tout le signal impulsion et stocker le résultat dans un tableau impQuant. Simulez un CAN ayant une plage de conversion de 0/3,3V sur 4 bits (déclarez vmin, vmax, nbbits comme constantes globales).   - On souhaite visualiser sur une même fenêtre mais sur 2 axes différents (car les échelles sont différentes) l'​impulsion et l'​impulsion quantifiée pour 7 échantillons. Vous devez donc utiliser **simuADC()** pour quantifier échantillon par échantillon tout le signal impulsion et stocker le résultat dans un tableau impQuant. Simulez un CAN ayant une plage de conversion de 0/3,3V sur 4 bits (déclarez vmin, vmax, nbbits comme constantes globales).
-    - Créez une nouvelle fonction dans le fichier tparchi1.cpp.+    - Créez une nouvelle fonction ​**void code_tparchi2(void)** ​dans le fichier tparchi1.cpp.
     - Afficher alors les deux signaux demandés.     - Afficher alors les deux signaux demandés.
-    - Superposer ​ensuite l'​échelon et l'​échelon quantifié.+    - Faites de même ensuite ​pour l'​échelon et l'​échelon quantifié.
   - Vous pouvez constater que l'​impulsion et l'​échelon sont à la limite de la dynamique du CAN. Comme lors de l'​utilisation de montage à AOp (souvenez-vous du télémètre !), il est préférable de centrer les signaux d'​entrée sur la tension $(vmax+vmin)/​2$ plutôt que sur 0V. Modifiez les signaux impulsion et echelon en conséquence. Quelle est la nouvelle valeur de repos des signaux quantifiés ?   - Vous pouvez constater que l'​impulsion et l'​échelon sont à la limite de la dynamique du CAN. Comme lors de l'​utilisation de montage à AOp (souvenez-vous du télémètre !), il est préférable de centrer les signaux d'​entrée sur la tension $(vmax+vmin)/​2$ plutôt que sur 0V. Modifiez les signaux impulsion et echelon en conséquence. Quelle est la nouvelle valeur de repos des signaux quantifiés ?
   - Générez un signal sinusoïdal d'​amplitude 1,5V, de fréquence 1 kHz correctement centré. Dans une nouvelle fenêtre, visualisez ce signal, ce signal quantifié sur 4 bits et ce signal quantifié sur 8 bits (dynamique 0/3,3V).   - Générez un signal sinusoïdal d'​amplitude 1,5V, de fréquence 1 kHz correctement centré. Dans une nouvelle fenêtre, visualisez ce signal, ce signal quantifié sur 4 bits et ce signal quantifié sur 8 bits (dynamique 0/3,3V).
Ligne 142: Ligne 142:
  
  
-=== Ajout des convertisseurs dans la fonction calculReponseFiltreEnLigne() ===+=== Ajout des convertisseurs dans la méthode ReponseEnLigne() ===
  
-Comme cela a été dit en introduction de ce TP (relisez là si vous avez oublié...) il faut maintenant inclure les convertisseurs analogique<​->​numérique dans **calculReponseFiltreEnLigne()**. Voici les opérations à effectuer:+Comme cela a été dit en introduction de ce TP (relisez là si vous avez oublié...) il faut maintenant inclure les convertisseurs analogique<​->​numérique dans **ReponseEnLigne()**. Voici les opérations à effectuer:
  
   - Déplacer la méthode **void ReponseEnLigne(echantillon_t * e, echantillon_t * s, int nbPts);** vers la classe FiltreTrace:​   - Déplacer la méthode **void ReponseEnLigne(echantillon_t * e, echantillon_t * s, int nbPts);** vers la classe FiltreTrace:​
Ligne 157: Ligne 157:
 === Prise en compte de l'​offset numérique des échantillons=== === Prise en compte de l'​offset numérique des échantillons===
  
-  - Tester à nouveau le fonctionnement de **calculReponseFiltreEnLigne()** sur le filtre passe-bande de paramètres H0=2, f0=1000, Q=0,7. Il a été numérisé par transformée bilinéaire avec  Fech=48000 : b[3]={0.1703 , 0.0000 , -0.1703}; ​ a[3]={1.0000 , -1.8140 , 0.8297};+  - Tester à nouveau le fonctionnement de **ReponseEnLigne()** sur le filtre passe-bande ​du second ordre de paramètres H0=2, f0=1000, Q=0,7. Il a été numérisé par transformée bilinéaire avec  Fech=48000 : b[3]={0.1703 , 0.0000 , -0.1703}; ​ a[3]={1.0000 , -1.8140 , 0.8297};
     - Que constatez-vous ?     - Que constatez-vous ?
-  - Ce phénomène est provoqué par l'​offset numérique de ek_quant (sa valeur de repos est différente de 0). Modifiez **filtreUnEchantillon()** pour respecter le schéma de la P11 du cours.  +  - Ce phénomène est provoqué par l'​offset numérique de **ek_quant** (sa valeur de repos est différente de 0). Modifiez **filtreUnEchantillon()** pour respecter le schéma de la P11 du cours.  
-    - Comme lors de l'​utilisation de montage à AOp (souvenez-vous du télémètre !), il est préférable de centrer les signaux d'​entrée sur la tension $(vmax+vmin)/​2$ plutôt que sur 0V. Modifiez les signaux impulsion et echelon ​en conséquence. Vérifiez que le fonctionnement du filtre est maintenant correct.+    - Comme lors de l'​utilisation de montage à AOp (souvenez-vous du télémètre !), il est préférable de centrer les signaux d'​entrée sur la tension $(vmax+vmin)/​2$ plutôt que sur 0V. Modifiez les signaux impulsion et échelon ​en conséquence. Vérifiez que le fonctionnement du filtre est maintenant correct.
     - Vérifiez que les deux premiers filtres fournissent les mêmes réponses impulsionnelles et indicielles que précédemment.     - Vérifiez que les deux premiers filtres fournissent les mêmes réponses impulsionnelles et indicielles que précédemment.
  
tptns2018_2.txt · Dernière modification: 2018/03/21 13:33 par bvandepo