Class Modulateur<R,E>

java.lang.Object
modulation.Modulateur<R,E>
Type Parameters:
R - Type des informations reçues (entrée)
E - Type des informations émises (sortie)
All Implemented Interfaces:
DestinationInterface<R>, SourceInterface<E>
Direct Known Subclasses:
Emetteur, Recepteur

public abstract class Modulateur<R,E> extends Object implements DestinationInterface<R>, SourceInterface<E>
Classe abstraite représentant un modulateur (émetteur/récepteur) d'informations. Le modulateur reçoit des informations de type R et émet des informations de type E. Un modulateur peut être relié à plusieurs destinations connectées.
  • Field Details

    • destinationsConnectees

      protected List<DestinationInterface<E>> destinationsConnectees
      Liste des destinations connectées à la sortie du modulateur. Ces destinations recevront l'information après modulation.
    • informationRecue

      protected Information<R> informationRecue
      L'information reçue en entrée du modulateur.
    • informationEmise

      protected Information<E> informationEmise
      L'information émise en sortie du modulateur après traitement.
    • nbEch

      protected int nbEch
      Taille de la période utilisée pour la modulation.
    • aMax

      protected float aMax
      Valeur analogique maximale (ex : amplitude max pour une onde).
    • aMin

      protected float aMin
      Valeur analogique minimale (ex : amplitude min pour une onde).
    • form

      protected Form form
      Type de codage utilisé pour la modulation (ex : NRZ, RZ, NRZT).
  • Constructor Details

    • Modulateur

      public Modulateur(int nbEch, float aMax, float aMin, Form form)
      Constructeur du modulateur. Initialise les paramètres communs à tous les modulateurs.
      Parameters:
      nbEch - La taille de la période de modulation
      aMax - L'amplitude maximale
      aMin - L'amplitude minimale
      form - Le type de codage utilisé pour la modulation
  • Method Details

    • getInformationRecue

      public Information<R> getInformationRecue()
      Retourne l'information reçue par le modulateur.
      Specified by:
      getInformationRecue in interface DestinationInterface<R>
      Returns:
      L'information reçue
    • getInformationEmise

      public Information<E> getInformationEmise()
      Retourne l'information émise par le modulateur.
      Specified by:
      getInformationEmise in interface SourceInterface<R>
      Returns:
      L'information émise
    • connecter

      public void connecter(DestinationInterface<E> destination)
      Connecte une destination à la sortie du modulateur. Cette destination recevra les informations émises par le modulateur.
      Specified by:
      connecter in interface SourceInterface<R>
      Parameters:
      destination - La destination à connecter
    • validerParametres

      public boolean validerParametres(Form form) throws InformationNonConformeException
      Valide les paramètres du modulateur (aMin, aMax et le type de codage). Vérifie la cohérence des valeurs d'amplitudes et des règles spécifiques à chaque codage.
      Parameters:
      form - Le type de codage utilisé
      Returns:
      true si les paramètres sont valides, false sinon
      Throws:
      InformationNonConformeException - si les paramètres sont invalides
    • recevoir

      public abstract void recevoir(Information<R> information) throws InformationNonConformeException
      Méthode abstraite pour recevoir une information. Les sous-classes doivent implémenter cette méthode pour traiter l'information reçue et appeler la méthode emettre.
      Specified by:
      recevoir in interface DestinationInterface<R>
      Parameters:
      information - L'information reçue
      Throws:
      InformationNonConformeException - si l'information est non conforme
    • emettre

      public abstract void emettre() throws InformationNonConformeException
      Méthode abstraite pour émettre l'information traitée. Les sous-classes doivent implémenter cette méthode pour émettre l'information après traitement.
      Specified by:
      emettre in interface SourceInterface<R>
      Throws:
      InformationNonConformeException - si l'information est non conforme