Académique Documents
Professionnel Documents
Culture Documents
1.Rappel du sujet.
Le but de ce premier TP était de créer un programme JAVA permettant de tracer électrique émis lors
de l'envoi d'une chaîne binaire en fonction du code de déchiffrage choisi entre NRZ, Manchester,
Manchester Différentiel et Miller.
2.Analyse du sujet.
Le Programme créé devra donc utilisé 2 classes : une pour déchiffrer le signal émis, l'autre pour
afficher l'interface et le traçage effectué dans la classe Signal.
L'interface devra permettre de rentrer une chaîne binaire et de choisir un code de déchiffrage via un
menu. La classe Signal devra comporter les différentes méthodes de traçage et ces méthodes
devrons se comporter différemment en fonction du code choisi dans le menu de l'interface.
La classe Fenetre est créé en en classe Fille de la classe Jframe qui contient les méthodes de base de
création de fenêtre sur le système d'exploitation utilisé. Les attributs de cette classe sont bien
évidemment le signal a décrypter, un menu pour choisir le type de code (placés dans un tableau de
String) et un champ textuel pour écrire la chaîne binaire.
Le principal but de cette interface est d'afficher le signal émis par la chaîne binaire selon le code
choisi, elle devra donc être assez grande pour afficher au moins un octet (8bits). Elle devra
également être capable de changer le signal si le code est changé depuis le menu grâce à la méthode
repaint. On s'assure que la chaîne binaire entrée dans le champ textuel est bien une chaîne de
caractère ne comportant que des 1 et des 0 grâce un l'affichage d'un message d'alerte si un caractère
est différent de ces deux choix possibles.
La chaîne binaire sera envoyé au traitement grâce à un bouton « Envoyer » à coté de celle-ci.
La classe Signal s'occupe de tout le traitement du signal émis par la chaîne binaire. C'est elle qui
trace la représentation de la tension émise par les bits selon le code choisi. Elle hérite donc de la
classe JPanel.
Par défaut le code sera sur NRZ, nous avons besoin d'un indicateur de niveau de tension qui nous
permet d'éviter les erreurs de dessin lorsqu'il faut tracer en haut ou en bas. Un indicateur du
caractère binaire précédent utilisé dans les méthodes Manchester Différentiel et Miller dans
lesquelles les suites d'un même caractère ont un impact sur le tracé. L'attribut stateSignal permet
aux méthodes Manchester Différentiel et Miller de corriger le tracé en fonction du signal envoyé.
Les méthodes principales sont drawZero, drawUn et paintComponent qui, en fonction du code
choisit dans le menu de la classe Fenetre, tracerons les signaux correspondant. DrawZero et drawUn
utilisent les méthodes drawBas et drawHaut qui tracent une ligne dont la longueur dépend de
l'argument size. La méthode paintComponent est la méthode utilisé pour tracé le signal selon si elle
lit un zéro ou un un dans la chaîne de caractère. Notons que cette méthode indique également en
haut du signal si il s'agit d'un 0 ou d'un 1 pour chaque bit décrypté, de plus elle sépare chaque bit
par une ligne pointillé verticale grâce a la méthode drawDashedLine.
4. Résultats et tests.
Nous avons ainsi créé un programme fonctionnel permettant de traiter puis d'afficher un signal
binaire selon différentes méthodes de codage.
La partie traitement du signal est la plus complexe et comporte de nombreuse méthode nécessaire à
son bon fonctionnement, il aurait pu être plus judicieux de trouver une autre manière de traiter le
signal pour plus de facilité de lecture.
La fenêtre n'est généré n'est pas modifiable en taille, ce qui limite l'affichage lors de l'envoie d'une
chaîne binaire très grande. Il aurait pu être intéressant que la fenêtre puisse prendre en compte la
taille de la chaîne binaire envoyé pour s'agrandir au besoin.