View | Details | Raw Unified | Return to bug 1055
Collapse All | Expand All

(-)a/src/uan/model/uan-prop-model-thorp.cc (-4 / +11 lines)
 Lines 54-63    Link Here 
54
double
54
double
55
UanPropModelThorp::GetPathLossDb (Ptr<MobilityModel> a, Ptr<MobilityModel> b, UanTxMode mode)
55
UanPropModelThorp::GetPathLossDb (Ptr<MobilityModel> a, Ptr<MobilityModel> b, UanTxMode mode)
56
{
56
{
57
  double distKyd = a->GetDistanceFrom (b) / 1.093613298; // Convert from dB/km to dB/kyd
57
  double dist = a->GetDistanceFrom (b);
58
58
59
  return m_SpreadCoef * 10.0 * log10 (distKyd)
59
  return m_SpreadCoef * 10.0 * log10 (dist)
60
         + distKyd * GetAttenDbKyd (mode.GetCenterFreqHz () / 1000.0);
60
         + dist * GetAttenDbKm (mode.GetCenterFreqHz () / 1000.0);
61
}
61
}
62
62
63
UanPdp
63
UanPdp
 Lines 76-85    Link Here 
76
UanPropModelThorp::GetAttenDbKyd (double freqKhz)
76
UanPropModelThorp::GetAttenDbKyd (double freqKhz)
77
{
77
{
78
78
79
  return GetAttenDbKm (freqKhz) / 1.093613298;
80
}
81
82
double
83
UanPropModelThorp::GetAttenDbKm (double freqKhz)
84
{
85
79
  double fsq = freqKhz * freqKhz;
86
  double fsq = freqKhz * freqKhz;
80
  double atten;
87
  double atten;
81
88
82
  if (freqKhz < 0.4)
89
  if (freqKhz >= 0.4)
83
    {
90
    {
84
      atten = 0.11 * fsq / (1 + fsq) + 44 * fsq / (4100 + freqKhz)
91
      atten = 0.11 * fsq / (1 + fsq) + 44 * fsq / (4100 + freqKhz)
85
        + 2.75 * 0.0001 * fsq + 0.003;
92
        + 2.75 * 0.0001 * fsq + 0.003;
(-)a/src/uan/model/uan-prop-model-thorp.h (+1 lines)
 Lines 45-50    Link Here 
45
45
46
private:
46
private:
47
  double GetAttenDbKyd (double freqKhz);
47
  double GetAttenDbKyd (double freqKhz);
48
  double GetAttenDbKm (double freqKhz);
48
49
49
  double m_SpreadCoef;
50
  double m_SpreadCoef;
50
};
51
};

Return to bug 1055