dispersive_channel

Creation of a (baseband) dispersive channel simulator.

Namespace: dsp::telecom

Prototype

sptr<Filter<cfloat, cfloat, CanalDispersifConfig>> dispersive_channel(const DispersiveChannelConfig &config)

Parameters

configConfiguration (channel type, maximum Doppler and Rician factor).

Returns

Filtre Baseband signal (cfloat) \(\to\) baseband signal, after fading.

Description

This function enable to simulate a Rayleigh (without dominant path) or Rice (with dominant path) channel, in baseband.

Example

  CanalDispersifConfig config;

  // Maximum doppler shift = 10 Hz
  config.fd   = 10;
  // Sampling frequency = 10 kHz
  config.fe   = 1e4;
  config.type = TypeCanal::RICE;
  // Facteur Ricien (importance du trajet dominant % aux autre trajets)
  config.K    = 2;

  auto canal = canal_dispersif(config);

  // 1 seconde
  soit x = Veccf::ones(config.fe);
  soit y = canal->step(x);