#include <itpp/comm/channel.h>
Public Member Functions | |
Channel_Specification (const vec &avg_power_dB="0", const vec &delay_prof="0") | |
Initialize the average power profile in dB, and power 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="0", const vec &delay_prof="0") |
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. If not set default is Jakes. | |
void | set_doppler_spectrum (const int tap_number, DOPPLER_SPECTRUM tap_spectrum) |
Set doppler spectrum for tap tap_number in the channel profile. | |
void | set_LOS (const double relative_power, const double relative_doppler) |
void | get_channel_profile (vec &avg_power_dB, vec &delay_prof) |
Get both average power profile in dB and power delay profile in seconds. | |
vec | get_avg_power_dB () |
Return power profile in dB. | |
vec | get_delay_prof () |
Return delay profile in seconds. | |
DOPPLER_SPECTRUM | get_doppler_spectrum (const int index) |
Get doppler spectrum for tap index . | |
double | get_LOS_power () |
Get LOS relative power (Rice factor) on first tap (zero delay). Only if fist tap is of type Rice spectrum. | |
double | get_LOS_doppler () |
Get LOS doppler (relative to the maximum doppler) on first tap (zero delay). Only if fist tap is of type Rice spectrum. | |
int | taps () |
Return the number of channel taps. | |
double | calc_mean_excess_delay () |
Calculate mean excess delay in samples. | |
double | calc_rms_delay_spread () |
Calculate RMS delay spread in samples. | |
bool | is_discrete () |
Return true if channel profile is discretized. False otherwise. | |
double | get_discrete_Ts () |
Get discrete Ts value. | |
void | discretize (const double Ts) |
Discretize the channel profile with resolution Ts . All taps within ((i-0.5)Ts,(i+0.5)Ts] will belong to the ith discrete tap. | |
Protected Attributes | |
vec | a_prof_dB |
vec | d_prof |
Array< DOPPLER_SPECTRUM > | tap_doppler_spectrum |
int | N_taps |
double | los_dopp |
double | los_power |
bool | discrete |
double | discrete_Ts |
Ts
of your need. 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
th 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:
It is also possible to specify a predefined channel. The existing are:
Before assigning a channel specification to your TDL_Channel class the channel need to be discretized. This is done by calling discretize(Ts) where Ts
is the sample time.
References:
[P"atzold] Matthias P"atzold, 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 519 of file channel.h.
|
Initialize the average power profile in dB, and power delay profile in seconds.
Definition at line 444 of file channel.cpp. References set_channel_profile(). |
|
Initialize with predetermined channel profile.
Definition at line 449 of file channel.cpp. References set_channel_profile(). |
|
Destructor.
|
|
Set both average power profile in dB and power delay profile in seconds.
Definition at line 454 of file channel.cpp. References it_assert, itpp::min(), and N_taps. Referenced by Channel_Specification(), and set_channel_profile(). |
|
Set channel profile to a predetermined profile.
Definition at line 478 of file channel.cpp. References set_channel_profile(), set_doppler_spectrum(), set_LOS(), and itpp::sqr(). |
|
Set doppler spectrum for each tap in the channel profile. If not set default is Jakes.
Definition at line 670 of file channel.cpp. References tap_doppler_spectrum. Referenced by set_channel_profile(). |
|
Set doppler spectrum for tap
Definition at line 676 of file channel.cpp. References tap_doppler_spectrum. |
|
Set LOS component for the first tap (zero delay). Only possible if Rice is chosen as doppler spectrum. Relative power (Rice factor) and doppler relative the maximum doppler frequency. Definition at line 681 of file channel.cpp. References it_assert, los_dopp, los_power, and tap_doppler_spectrum. Referenced by set_channel_profile(). |
|
Get both average power profile in dB and power delay profile in seconds.
Definition at line 692 of file channel.cpp. References a_prof_dB, and d_prof. Referenced by itpp::TDL_Channel::set_channel_profile(). |
|
Return power profile in dB.
Definition at line 698 of file channel.cpp. References a_prof_dB. |
|
Return delay profile in seconds.
Definition at line 703 of file channel.cpp. References d_prof. |
|
Get doppler spectrum for tap
Definition at line 708 of file channel.cpp. References it_assert, and tap_doppler_spectrum. Referenced by itpp::TDL_Channel::TDL_Channel(). |
|
Get LOS relative power (Rice factor) on first tap (zero delay). Only if fist tap is of type Rice spectrum.
Definition at line 714 of file channel.cpp. References los_power. |
|
Get LOS doppler (relative to the maximum doppler) on first tap (zero delay). Only if fist tap is of type Rice spectrum.
Definition at line 719 of file channel.cpp. References los_dopp. |
|
Return the number of channel taps.
Definition at line 559 of file channel.h. References N_taps. |
|
Calculate mean excess delay in samples.
Definition at line 724 of file channel.cpp. References a_prof_dB, d_prof, itpp::inv_dB(), and itpp::sum(). |
|
Calculate RMS delay spread in samples.
Definition at line 732 of file channel.cpp. References a_prof_dB, d_prof, itpp::inv_dB(), itpp::sqr(), itpp::sqrt(), and itpp::sum(). |
|
Return true if channel profile is discretized. False otherwise.
Definition at line 567 of file channel.h. References discrete. Referenced by itpp::TDL_Channel::set_channel_profile(). |
|
Get discrete Ts value.
Definition at line 569 of file channel.h. References discrete_Ts. Referenced by itpp::TDL_Channel::set_channel_profile(). |
|
Discretize the channel profile with resolution
Definition at line 744 of file channel.cpp. References a_prof_dB, d_prof, itpp::inv_dB(), it_assert, and tap_doppler_spectrum. |
Generated on Thu Apr 19 14:24:03 2007 for IT++ by Doxygen 1.4.6