modulator_new

Création d'un modulateur numérique.

Namespace: dsp::telecom

Prototype

sptr<Modulator> modulator_new(const ModConfig &config)

Description

Un modulateur consiste ici à convertir un train binaire en un signal bande de base (ou déjà transposé à une fréquence intermédiaire), mis en forme et sur-échantilloné (de manière à être prêt à être transmis à un ADC).

Exemple 1 : modulation BPSK (avec filtre NRZ)


  ModConfig config;
  config.forme_onde     = forme_onde_bpsk();
  config.fe     = 100e3; // Fréquence d'échantillonnage = 100 kHz
  config.lien non trouvé : [structdsp_1_1telecom_1_1_mod_config_1a53ab881df04d73541e18e6855706fe2b]fi     = 0;     // Pas de fréquence intermédiaire
  config.lien non trouvé : [structdsp_1_1telecom_1_1_mod_config_1afc3cfdb9288d7e3b72fbd818b0462476]fsymb  = 10e3;  // Fréquence symbole = 10 kHz

  soit mod = modulateur_création(config);

  // 64 bits aléatoires
  soit bs = randstream(64);
  soit x = mod->step(bs);

  Figures f;
  f.subplot().plot(bs.array(), "hb", "Train binaire");
  f.subplot().plot(real(x), "b-", "Signal modulé BPSK (NRZ)");

Exemples de modulation BPSK


Exemple 2 : modulation QPSK (avec filtre SRRC)


  ModConfig config;
  config.forme_onde     = forme_onde_qpsk(SpecFiltreMiseEnForme::rcs(0.4));
  config.fe     = 100e3; // Fréquence d'échantillonnage = 100 kHz
  config.lien non trouvé : [structdsp_1_1telecom_1_1_mod_config_1a53ab881df04d73541e18e6855706fe2b]fi     = 0;     // Pas de fréquence intermédiaire
  config.lien non trouvé : [structdsp_1_1telecom_1_1_mod_config_1afc3cfdb9288d7e3b72fbd818b0462476]fsymb  = 10e3;  // Fréquence symbole = 10 kHz

  soit mod = modulateur_création(config);

  // 64 bits aléatoires
  soit bs = randstream(64);
  soit x = mod->step(bs);

  Figures f;
  f.subplot().plot(bs.array(), "hb", "Train binaire");
  f.subplot().plot(x, "", "Signal modulé QPSK (SRRC)");

Exemples de modulation QPSK

See also

démodulateur_création()