|
|
| 41 |
.SetGroupName ("Propagation") |
41 |
.SetGroupName ("Propagation") |
| 42 |
.AddConstructor<Cost231PropagationLossModel> () |
42 |
.AddConstructor<Cost231PropagationLossModel> () |
| 43 |
.AddAttribute ("Lambda", |
43 |
.AddAttribute ("Lambda", |
| 44 |
"The wavelength (default is 2.3 GHz at 300 000 km/s).", |
44 |
"The wavelength (default is 2.3 GHz at 299 792 km/s).", |
| 45 |
DoubleValue (300000000.0 / 2.3e9), |
45 |
DoubleValue (299792458 / 2.3e9), |
| 46 |
MakeDoubleAccessor (&Cost231PropagationLossModel::m_lambda), |
46 |
MakeDoubleAccessor (&Cost231PropagationLossModel::m_lambda), |
| 47 |
MakeDoubleChecker<double> ()) |
47 |
MakeDoubleChecker<double> ()) |
| 48 |
.AddAttribute ("Frequency", |
48 |
.AddAttribute ("Frequency", |
|
|
| 64 |
"The distance under which the propagation model refuses to give results (m) ", |
64 |
"The distance under which the propagation model refuses to give results (m) ", |
| 65 |
DoubleValue (0.5), |
65 |
DoubleValue (0.5), |
| 66 |
MakeDoubleAccessor (&Cost231PropagationLossModel::SetMinDistance, &Cost231PropagationLossModel::GetMinDistance), |
66 |
MakeDoubleAccessor (&Cost231PropagationLossModel::SetMinDistance, &Cost231PropagationLossModel::GetMinDistance), |
|
|
67 |
MakeDoubleChecker<double> ()) |
| 68 |
.AddAttribute ("Shadowing", |
| 69 |
"The Cm term of eq. 4.4.3 in the COST 231 final report. ", |
| 70 |
DoubleValue (3.0), |
| 71 |
MakeDoubleAccessor (&Cost231PropagationLossModel::SetShadowing, &Cost231PropagationLossModel::GetShadowing), |
| 67 |
MakeDoubleChecker<double> ()); |
72 |
MakeDoubleChecker<double> ()); |
| 68 |
return tid; |
73 |
return tid; |
| 69 |
} |
74 |
} |
| 70 |
|
75 |
|
| 71 |
Cost231PropagationLossModel::Cost231PropagationLossModel () |
76 |
Cost231PropagationLossModel::Cost231PropagationLossModel () |
| 72 |
{ |
77 |
{ |
| 73 |
m_shadowing = 10; |
|
|
| 74 |
} |
78 |
} |
| 75 |
|
79 |
|
| 76 |
void |
80 |
void |
|
|
| 81 |
} |
85 |
} |
| 82 |
|
86 |
|
| 83 |
double |
87 |
double |
| 84 |
Cost231PropagationLossModel::GetShadowing (void) |
88 |
Cost231PropagationLossModel::GetShadowing (void) const |
| 85 |
{ |
89 |
{ |
| 86 |
return m_shadowing; |
90 |
return m_shadowing; |
| 87 |
} |
91 |
} |
|
|
| 95 |
Cost231PropagationLossModel::SetLambda (double lambda) |
99 |
Cost231PropagationLossModel::SetLambda (double lambda) |
| 96 |
{ |
100 |
{ |
| 97 |
m_lambda = lambda; |
101 |
m_lambda = lambda; |
| 98 |
m_frequency = 300000000 / lambda; |
102 |
const double C = 299792458; |
|
|
103 |
m_frequency = C / lambda; |
| 99 |
} |
104 |
} |
| 100 |
|
105 |
|
| 101 |
double |
106 |
double |