22 #include "ns3/nstime.h"
36 for (; it != pdp.
m_taps.end (); it++)
38 os << (*it).GetAmp () <<
'|';
56 is >> resolution >> c1;
65 std::complex<double> amp;
66 pdp.
m_taps = std::vector<Tap> (ntaps);
67 for (uint32_t i = 0; i < ntaps; i++)
115 m_resolution (resolution)
120 : m_resolution (resolution)
122 m_taps.resize (amps.size ());
124 for (uint32_t index = 0; index < amps.size (); index++)
126 m_taps[index] =
Tap (arrTime, amps[index]);
132 : m_resolution (resolution)
134 m_taps.resize (amps.size ());
136 for (uint32_t index = 0; index < amps.size (); index++)
138 m_taps[index] =
Tap (arrTime, amps[index]);
151 if (
m_taps.size () <= index)
153 m_taps.resize (index + 1);
205 "UanPdp with resolution 0 and multiple taps");
207 return m_taps[0].GetAmp ();
212 uint32_t maxTapIndex = 0;
214 for (uint32_t i = 0; i <
GetNTaps (); i++)
216 if (abs (
m_taps[i].GetAmp ()) > maxAmp)
218 maxAmp = abs (
m_taps[i].GetAmp ());
223 uint32_t end = std::min (start + numTaps, GetNTaps ());
224 std::complex<double> sum = 0;
225 for (uint32_t i = start; i < end; i++)
227 sum +=
m_taps[i].GetAmp ();
237 "UanPdp with resolution 0 and multiple taps");
239 return abs (
m_taps[0].GetAmp ());
244 uint32_t maxTapIndex = 0;
246 for (uint32_t i = 0; i <
GetNTaps (); i++)
248 if (abs (
m_taps[i].GetAmp ()) > maxAmp)
250 maxAmp = abs (
m_taps[i].GetAmp ());
257 uint32_t end = std::min (start + numTaps, GetNTaps ());
259 for (uint32_t i = start; i < end; i++)
262 sum += abs (
m_taps[i].GetAmp ());
272 "UanPdp with resolution 0 and multiple taps");
276 return abs (
m_taps[0].GetAmp ());
287 endIndex = std::min (endIndex,
GetNTaps ());
289 for (uint32_t i = stIndex; i < endIndex; i++)
291 sum += abs (
m_taps[i].GetAmp ());
305 "UanPdp with resolution 0 and multiple taps");
309 return m_taps[0].GetAmp ();
313 return std::complex<double> (0.0);
320 endIndex = std::min (endIndex,
GetNTaps ());
322 std::complex<double> sum = 0;
323 for (uint32_t i = stIndex; i < endIndex; i++)
325 sum +=
m_taps[i].GetAmp ();