itpp::Channel_Specification Class Reference
Communications Module » Channel Modeling

General specification of a time-domain multipath channel. More...

`#include <itpp/comm/channel.h>`

## Public Member Functions

| Channel_Specification (const vec &avg_power_dB="0", const vec &delay_prof="0")
| Default constructor (power profile in dB, delay profile in seconds)
| Channel_Specification (const CHANNEL_PROFILE profile)
| Initialize with predetermined channel profile.
virtual | ~Channel_Specification ()
| Destructor.
void | set_channel_profile (const vec &avg_power_dB, const vec &delay_prof)
| Set both average power profile in dB and power delay profile in seconds.
void | set_channel_profile (const CHANNEL_PROFILE profile)
| Set channel profile to a predetermined profile.
void | set_doppler_spectrum (DOPPLER_SPECTRUM *tap_spectrum)
| Set doppler spectrum for each tap in the channel profile.
void | set_doppler_spectrum (int tap_number, DOPPLER_SPECTRUM tap_spectrum)
| Set doppler spectrum for tap tap_number in the channel profile.
void | set_LOS (int tap_number, double relative_power, double relative_doppler=0.7)
| Set LOS (Rice) components for tap tap_number.
void | set_LOS (const vec &relative_power, const vec &relative_doppler="")
| Set LOS (Rice) components for all taps.
void | get_channel_profile (vec &avg_power_dB, vec &delay_prof) const
| Get both average power profile in dB and power delay profile in seconds.
vec | get_avg_power_dB () const
| Return power profile in dB.
vec | get_delay_prof () const
| Return delay profile in seconds.
Array< DOPPLER_SPECTRUM > | get_doppler_spectrum () const
| Get doppler spectrum for tap index.
DOPPLER_SPECTRUM | get_doppler_spectrum (int index) const
| Get doppler spectrum for tap index.
vec | get_LOS_power () const
| Get relative power (Rice factor) for each tap.
vec | get_LOS_doppler () const
| Get relative Doppler for each tap.
double | get_LOS_power (int tap_number) const
| Get relative power (Rice factor) for tap tap_number.
double | get_LOS_doppler (int tap_number) const
| Get relative Doppler for tap tap_number.
int | taps () const
| Return the number of channel taps.
double | calc_mean_excess_delay () const
| Calculate mean excess delay in samples.
double | calc_rms_delay_spread () const
| Calculate RMS delay spread in samples.

## Protected Attributes

vec | a_prof_dB
| Power profile in dB.
vec | d_prof
| Delay profile in seconds.
Array< DOPPLER_SPECTRUM > | tap_doppler_spectrum
| Doppler spectrum for each tap.
int | N_taps
| Number of taps.
vec | los_power
| Relative power for each Rice component.
vec | los_dopp
| Relative Rice Doppler for each Rice component.

## Detailed Description

General specification of a time-domain multipath channel.

Author
  Tony Ottosson and Adam Piatyszek

This class does NOT generate any channel values. It is only used to specify the channel model. To generate channel coefficients use the Tapped-Delay Line (TDL) class TDL_Channel.

A time invariant (or at least wide-sense stationary) channel have an impulse response that can be modeled as:

where is the number of channel taps, is the average amplitude at delay , and is the channel phase of the channel tap. The average power profile, and the delay profiles are defined as:

and

respectively. We assume without loss of generality that and .

To initialize the class the following parameters should be defined:

- avg_power_dB Average power profile , given in dB
- delay_profile Delay profile , given in seconds. The delay profile should be sorted (increasing delay) and the first delay has to be 0.

Optionally one can define LOS parameters: relative_power and relative_doppler, and additionally the kind of Doppler spectrum for each tap.

It is also possible to specify a predefined channel model. The implemented ones are as follows:

- ITU Channel models:
  - ITU_Vehicular_A, 6-tap channel
  - ITU_Vehicular_B, 6-tap channel
  - ITU_Pedestrian_A, 4-tap channel
  - ITU_Pedestrian_B, 6-tap channel
- COST 207 Channel models (see [Pat02] pp. 259-266):
  - COST207_RA, Rural area, 4-tap channel
  - COST207_RA6, Rural area, 6-tap channel
  - COST207_TU, Typical urban, 6-tap channel
  - COST207_TU6alt, Typical urban, alternative 6-tap channel
  - COST207_TU12, Typical urban, 12-tap channel
  - COST207_TU12alt, Typical urban, alternative 12-tap channel
  - COST207_BU, Bad urban, 6-tap channel
  - COST207_BU6alt, Bad urban, alternative 6-tap channel
  - COST207_BU12, Bad urban, 12-tap channel
  - COST207_BU12alt, Bad urban, alternative 12-tap channel
  - COST207_HT, Hilly terrain, 6-tap channel
  - COST207_HT6alt, Hilly terrain, alternative 6-tap channel
  - COST207_HT12, Hilly terrain, 12-tap channel
  - COST207_HT12alt, Hilly terrain, alternative 12-tap channel
- COST 259 Channel models (see [3GPP_TR_25.943]):
  - COST259_TUx, Typical urban, 20-tap channel
  - COST259_RAx, Rural ara, 10-tap channel
  - COST259_HTx, Hilly terrain, 20-tap channel

References:

- [Pat02] Matthias Patzold, Mobile fading channels, Wiley, 2002.
- [3GPP_TR_25.943] Technical Specification Group Radio Access Networs; Deployment aspects. Version 5.1.0 (2002-06).

Definition at line 696 of file channel.h.

The documentation for this class was generated from the following files:

- itpp/comm/channel.h
- itpp/comm/channel.cpp

Generated on Thu Aug 20 2015 21:02:53 for IT++ by Doxygen 1.8.9.1