satellite-link-results.cc
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2013 Magister Solutions
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation;
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17  *
18  * Author: Budiarto Herman <budiarto.herman@magister.fi>
19  *
20  */
21 
22 #include "satellite-link-results.h"
23 
24 #include "../utils/satellite-env-variables.h"
25 #include "satellite-enums.h"
26 
27 #include <ns3/double.h>
28 #include <ns3/log.h>
29 #include <ns3/object.h>
30 #include <ns3/singleton.h>
31 #include <ns3/string.h>
32 
33 #include <sstream>
34 
35 NS_LOG_COMPONENT_DEFINE("SatLinkResults");
36 
37 namespace ns3
38 {
39 
40 /*
41  * SATLINKRESULTS PARENT ABSTRACT CLASS
42  */
43 
44 NS_OBJECT_ENSURE_REGISTERED(SatLinkResults);
45 
47  : m_isInitialized(false)
48 {
49  std::string dataPath = Singleton<SatEnvVariables>::Get()->GetDataPath();
50  m_inputPath = Singleton<SatEnvVariables>::Get()->LocateDirectory(dataPath + "/linkresults/");
51 }
52 
53 TypeId
55 {
56  static TypeId tid = TypeId("ns3::SatLinkResults").SetParent<Object>();
57  return tid;
58 }
59 
60 void
62 {
63  NS_LOG_FUNCTION(this);
64  DoInitialize();
65  m_isInitialized = true;
66 }
67 
68 /*
69  * SATLINKRESULTSRTN CHILD CLASS
70  */
71 NS_OBJECT_ENSURE_REGISTERED(SatLinkResultsRtn);
72 
74  : SatLinkResults(),
75  m_table()
76 {
77 }
78 
79 TypeId
81 {
82  static TypeId tid = TypeId("ns3::SatLinkResultsRtn").SetParent<SatLinkResults>();
83  return tid;
84 }
85 
86 double
87 SatLinkResultsRtn::GetBler(uint32_t waveformId, double ebNoDb) const
88 {
89  NS_LOG_FUNCTION(this << waveformId << ebNoDb);
90 
91  if (!m_isInitialized)
92  {
93  NS_FATAL_ERROR("Error retrieving link results, call Initialize first");
94  }
95 
96  return m_table.at(waveformId)->GetBler(ebNoDb);
97 }
98 
99 double
100 SatLinkResultsRtn::GetEbNoDb(uint32_t waveformId, double blerTarget) const
101 {
102  NS_LOG_FUNCTION(this << waveformId << blerTarget);
103 
104  if (!m_isInitialized)
105  {
106  NS_FATAL_ERROR("Error retrieving link results, call Initialize first");
107  }
108 
109  return m_table.at(waveformId)->GetEsNoDb(blerTarget);
110 }
111 
112 /*
113  * SATLINKRESULTSDVBRCS2 CHILD CLASS
114  */
115 NS_OBJECT_ENSURE_REGISTERED(SatLinkResultsDvbRcs2);
116 
119 {
120 }
121 
122 TypeId
124 {
125  static TypeId tid = TypeId("ns3::SatLinkResultsDvbRcs2").SetParent<SatLinkResultsRtn>();
126  return tid;
127 }
128 
129 void
131 {
132  NS_LOG_FUNCTION(this);
133 
134  // Waveform ids 2-22 currently supported
135  for (uint32_t i = 2; i <= 22; ++i)
136  {
137  std::ostringstream ss;
138  ss << i;
139  std::string filePathName = m_inputPath + "rcs2_waveformat" + ss.str() + ".txt";
140  m_table.insert(std::make_pair(i, CreateObject<SatLookUpTable>(filePathName)));
141  }
142 } // end of void SatLinkResultsDvbRcs2::DoInitialize
143 
144 /*
145  * SATLINKRESULTSFSIM CHILD CLASS
146  */
147 NS_OBJECT_ENSURE_REGISTERED(SatLinkResultsFSim);
148 
151 {
152 }
153 
154 TypeId
156 {
157  static TypeId tid = TypeId("ns3::SatLinkResultsFSim").SetParent<SatLinkResultsRtn>();
158  return tid;
159 }
160 
161 void
163 {
164  NS_LOG_FUNCTION(this);
165 
166  // Waveform ids 1-2 currently supported
167  for (uint32_t i = 1; i <= 2; ++i)
168  {
169  std::ostringstream ss;
170  ss << i;
171  std::string filePathName = m_inputPath + "fsim_waveformat" + ss.str() + ".txt";
172  m_table.insert(std::make_pair(i, CreateObject<SatLookUpTable>(filePathName)));
173  }
174 
175  // Initialize Mutual Information table
177  CreateObject<SatMutualInformationTable>(m_inputPath + "mutualInformationTable.txt");
178 } // end of void SatLinkResultsFSim::DoInitialize
179 
180 /*
181  * SATLINKRESULTSLORA CHILD CLASS
182  */
183 NS_OBJECT_ENSURE_REGISTERED(SatLinkResultsLora);
184 
187 {
188 }
189 
190 TypeId
192 {
193  static TypeId tid = TypeId("ns3::SatLinkResultsLora").SetParent<SatLinkResultsRtn>();
194  return tid;
195 }
196 
197 void
199 {
200  NS_LOG_FUNCTION(this);
201 
202  // Waveform ids 1-2 currently supported
203  for (uint32_t i = 1; i <= 2; ++i)
204  {
205  std::ostringstream ss;
206  ss << i;
207  std::string filePathName = m_inputPath + "lora_waveformat" + ss.str() + ".txt";
208  m_table.insert(std::make_pair(i, CreateObject<SatLookUpTable>(filePathName)));
209  }
210 
211  // Initialize Mutual Information table
213  CreateObject<SatMutualInformationTable>(m_inputPath + "mutualInformationTable.txt");
214 } // end of void SatLinkResultsLora::DoInitialize
215 
216 /*
217  * SATLINKRESULTSFWD ABSTRACT CLASS
218  */
219 
220 NS_OBJECT_ENSURE_REGISTERED(SatLinkResultsFwd);
221 
223  : SatLinkResults(),
224  m_table(),
225  m_shortFrameOffsetInDb(0.0)
226 {
227 }
228 
229 TypeId
231 {
232  static TypeId tid =
233  TypeId("ns3::SatLinkResultsFwd")
234  .SetParent<SatLinkResults>()
235  .AddAttribute("EsNoOffsetForShortFrame",
236  "EsNo increase offset for short BB frame with a given BLER",
237  DoubleValue(0.4),
238  MakeDoubleAccessor(&SatLinkResultsFwd::m_shortFrameOffsetInDb),
239  MakeDoubleChecker<double_t>());
240  return tid;
241 }
242 
243 double
245  SatEnums::SatBbFrameType_t frameType,
246  double esNoDb) const
247 {
248  NS_LOG_FUNCTION(this << modcod << esNoDb);
249 
250  if (!m_isInitialized)
251  {
252  NS_FATAL_ERROR("Error retrieving link results, call Initialize first");
253  }
254 
260  if (frameType == SatEnums::SHORT_FRAME)
261  {
262  esNoDb -= m_shortFrameOffsetInDb;
263  }
264 
265  return m_table.at(modcod)->GetBler(esNoDb);
266 }
267 
268 double
270  SatEnums::SatBbFrameType_t frameType,
271  double blerTarget) const
272 {
273  NS_LOG_FUNCTION(this << modcod << blerTarget);
274 
275  if (!m_isInitialized)
276  {
277  NS_FATAL_ERROR("Error retrieving link results, call Initialize first");
278  }
279 
280  // Get Es/No requirement for normal BB frame
281  double esno = m_table.at(modcod)->GetEsNoDb(blerTarget);
282 
288  if (frameType == SatEnums::SHORT_FRAME)
289  {
290  esno += m_shortFrameOffsetInDb;
291  }
292 
293  return esno;
294 }
295 
296 /*
297  * SATLINKRESULTSDVBS2 CHILD CLASS
298  */
299 NS_OBJECT_ENSURE_REGISTERED(SatLinkResultsDvbS2);
300 
303 {
304 }
305 
306 TypeId
308 {
309  static TypeId tid = TypeId("ns3::SatLinkResultsDvbS2").SetParent<SatLinkResultsFwd>();
310  return tid;
311 }
312 
313 void
315 {
316  NS_LOG_FUNCTION(this);
317 
318  // QPSK
320  CreateObject<SatLookUpTable>(m_inputPath + "s2_qpsk_1_to_2.txt");
322  CreateObject<SatLookUpTable>(m_inputPath + "s2_qpsk_2_to_3.txt");
324  CreateObject<SatLookUpTable>(m_inputPath + "s2_qpsk_3_to_4.txt");
326  CreateObject<SatLookUpTable>(m_inputPath + "s2_qpsk_3_to_5.txt");
328  CreateObject<SatLookUpTable>(m_inputPath + "s2_qpsk_4_to_5.txt");
330  CreateObject<SatLookUpTable>(m_inputPath + "s2_qpsk_5_to_6.txt");
332  CreateObject<SatLookUpTable>(m_inputPath + "s2_qpsk_8_to_9.txt");
334  CreateObject<SatLookUpTable>(m_inputPath + "s2_qpsk_9_to_10.txt");
335 
336  // 8PSK
338  CreateObject<SatLookUpTable>(m_inputPath + "s2_8psk_2_to_3.txt");
340  CreateObject<SatLookUpTable>(m_inputPath + "s2_8psk_3_to_4.txt");
342  CreateObject<SatLookUpTable>(m_inputPath + "s2_8psk_3_to_5.txt");
344  CreateObject<SatLookUpTable>(m_inputPath + "s2_8psk_5_to_6.txt");
346  CreateObject<SatLookUpTable>(m_inputPath + "s2_8psk_8_to_9.txt");
348  CreateObject<SatLookUpTable>(m_inputPath + "s2_8psk_9_to_10.txt");
349 
350  // 16APSK
352  CreateObject<SatLookUpTable>(m_inputPath + "s2_16apsk_2_to_3.txt");
354  CreateObject<SatLookUpTable>(m_inputPath + "s2_16apsk_3_to_4.txt");
356  CreateObject<SatLookUpTable>(m_inputPath + "s2_16apsk_4_to_5.txt");
358  CreateObject<SatLookUpTable>(m_inputPath + "s2_16apsk_5_to_6.txt");
360  CreateObject<SatLookUpTable>(m_inputPath + "s2_16apsk_8_to_9.txt");
362  CreateObject<SatLookUpTable>(m_inputPath + "s2_16apsk_9_to_10.txt");
363 
364  // 32APSK
366  CreateObject<SatLookUpTable>(m_inputPath + "s2_32apsk_3_to_4.txt");
368  CreateObject<SatLookUpTable>(m_inputPath + "s2_32apsk_4_to_5.txt");
370  CreateObject<SatLookUpTable>(m_inputPath + "s2_32apsk_5_to_6.txt");
372  CreateObject<SatLookUpTable>(m_inputPath + "s2_32apsk_8_to_9.txt");
373 
375  CreateObject<SatLookUpTable>(m_inputPath + "lora_waveformat2.txt");
376 
377 } // end of void SatLinkResultsDvbS2::DoInitialize
378 
379 /*
380  * SATLINKRESULTSDVBS2X CHILD CLASS
381  */
382 NS_OBJECT_ENSURE_REGISTERED(SatLinkResultsDvbS2X);
383 
386 {
387 }
388 
389 TypeId
391 {
392  static TypeId tid = TypeId("ns3::SatLinkResultsDvbS2X").SetParent<SatLinkResultsFwd>();
393  return tid;
394 }
395 
396 void
398 {
399  NS_LOG_FUNCTION(this);
400 
401  // QPSK
403  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_3_to_5_short_pilots.txt");
405  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_1_to_2_short_pilots.txt");
407  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_14_to_45_short_nopilots.txt");
409  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_1_to_3_normal_pilots.txt");
411  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_3_to_4_short_pilots.txt");
413  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_9_to_20_normal_nopilots.txt");
415  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_4_to_15_short_nopilots.txt");
417  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_1_to_4_short_pilots.txt");
419  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_4_to_5_short_pilots.txt");
421  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_2_to_5_short_pilots.txt");
423  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_2_to_5_normal_pilots.txt");
425  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_1_to_2_normal_pilots.txt");
427  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_2_to_3_short_nopilots.txt");
429  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_11_to_20_normal_nopilots.txt");
431  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_2_to_5_normal_nopilots.txt");
433  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_2_to_3_normal_nopilots.txt");
435  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_5_to_6_short_nopilots.txt");
437  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_32_to_45_short_nopilots.txt");
439  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_9_to_10_normal_pilots.txt");
441  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_8_to_9_short_pilots.txt");
443  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_2_to_3_normal_pilots.txt");
445  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_5_to_6_normal_pilots.txt");
447  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_8_to_15_short_pilots.txt");
449  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_13_to_45_normal_nopilots.txt");
451  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_3_to_5_normal_nopilots.txt");
453  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_4_to_5_normal_nopilots.txt");
455  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_1_to_4_short_nopilots.txt");
457  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_1_to_3_short_nopilots.txt");
459  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_4_to_15_short_pilots.txt");
461  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_14_to_45_short_pilots.txt");
463  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_1_to_4_normal_nopilots.txt");
465  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_3_to_5_normal_pilots.txt");
467  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_1_to_2_short_nopilots.txt");
469  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_4_to_5_short_nopilots.txt");
471  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_7_to_15_short_nopilots.txt");
473  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_3_to_5_short_nopilots.txt");
475  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_1_to_3_short_pilots.txt");
477  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_11_to_45_short_nopilots.txt");
479  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_1_to_2_normal_nopilots.txt");
481  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_8_to_9_normal_nopilots.txt");
483  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_13_to_45_normal_pilots.txt");
485  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_5_to_6_short_pilots.txt");
487  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_1_to_4_normal_pilots.txt");
489  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_11_to_45_short_pilots.txt");
491  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_2_to_5_short_nopilots.txt");
493  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_3_to_4_normal_nopilots.txt");
495  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_3_to_4_short_nopilots.txt");
497  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_1_to_3_normal_nopilots.txt");
499  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_8_to_9_short_nopilots.txt");
501  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_7_to_15_short_pilots.txt");
503  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_9_to_10_normal_nopilots.txt");
505  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_11_to_20_normal_pilots.txt");
507  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_4_to_5_normal_pilots.txt");
509  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_32_to_45_short_pilots.txt");
511  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_8_to_15_short_nopilots.txt");
513  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_9_to_20_normal_pilots.txt");
515  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_2_to_3_short_pilots.txt");
517  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_8_to_9_normal_pilots.txt");
519  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_5_to_6_normal_nopilots.txt");
521  CreateObject<SatLookUpTable>(m_inputPath + "s2x_qpsk_3_to_4_normal_pilots.txt");
522 
523  // 8PSK
525  CreateObject<SatLookUpTable>(m_inputPath + "s2x_8psk_8_to_9_short_nopilots.txt");
527  CreateObject<SatLookUpTable>(m_inputPath + "s2x_8psk_2_to_3_short_nopilots.txt");
529  CreateObject<SatLookUpTable>(m_inputPath + "s2x_8psk_3_to_4_short_nopilots.txt");
531  CreateObject<SatLookUpTable>(m_inputPath + "s2x_8psk_3_to_4_normal_nopilots.txt");
533  CreateObject<SatLookUpTable>(m_inputPath + "s2x_8psk_13_to_18_normal_pilots.txt");
535  CreateObject<SatLookUpTable>(m_inputPath + "s2x_8psk_13_to_18_normal_nopilots.txt");
537  CreateObject<SatLookUpTable>(m_inputPath + "s2x_8psk_7_to_15_short_pilots.txt");
539  CreateObject<SatLookUpTable>(m_inputPath + "s2x_8psk_2_to_3_short_pilots.txt");
541  CreateObject<SatLookUpTable>(m_inputPath + "s2x_8psk_8_to_15_short_pilots.txt");
543  CreateObject<SatLookUpTable>(m_inputPath + "s2x_8psk_8_to_15_short_nopilots.txt");
545  CreateObject<SatLookUpTable>(m_inputPath + "s2x_8psk_2_to_3_normal_nopilots.txt");
547  CreateObject<SatLookUpTable>(m_inputPath + "s2x_8psk_32_to_45_short_nopilots.txt");
549  CreateObject<SatLookUpTable>(m_inputPath + "s2x_8psk_3_to_5_short_pilots.txt");
551  CreateObject<SatLookUpTable>(m_inputPath + "s2x_8psk_9_to_10_normal_nopilots.txt");
553  CreateObject<SatLookUpTable>(m_inputPath + "s2x_8psk_5_to_6_short_nopilots.txt");
555  CreateObject<SatLookUpTable>(m_inputPath + "s2x_8psk_25_to_36_normal_nopilots.txt");
557  CreateObject<SatLookUpTable>(m_inputPath + "s2x_8psk_3_to_4_short_pilots.txt");
559  CreateObject<SatLookUpTable>(m_inputPath + "s2x_8psk_26_to_45_short_pilots.txt");
561  CreateObject<SatLookUpTable>(m_inputPath + "s2x_8psk_23_to_36_normal_nopilots.txt");
563  CreateObject<SatLookUpTable>(m_inputPath + "s2x_8psk_23_to_36_normal_pilots.txt");
565  CreateObject<SatLookUpTable>(m_inputPath + "s2x_8psk_25_to_36_normal_pilots.txt");
567  CreateObject<SatLookUpTable>(m_inputPath + "s2x_8psk_3_to_5_normal_nopilots.txt");
569  CreateObject<SatLookUpTable>(m_inputPath + "s2x_8psk_2_to_3_normal_pilots.txt");
571  CreateObject<SatLookUpTable>(m_inputPath + "s2x_8psk_5_to_6_short_pilots.txt");
573  CreateObject<SatLookUpTable>(m_inputPath + "s2x_8psk_7_to_15_short_nopilots.txt");
575  CreateObject<SatLookUpTable>(m_inputPath + "s2x_8psk_26_to_45_short_nopilots.txt");
577  CreateObject<SatLookUpTable>(m_inputPath + "s2x_8psk_8_to_9_normal_pilots.txt");
579  CreateObject<SatLookUpTable>(m_inputPath + "s2x_8psk_3_to_5_short_nopilots.txt");
581  CreateObject<SatLookUpTable>(m_inputPath + "s2x_8psk_8_to_9_normal_nopilots.txt");
583  CreateObject<SatLookUpTable>(m_inputPath + "s2x_8psk_5_to_6_normal_nopilots.txt");
585  CreateObject<SatLookUpTable>(m_inputPath + "s2x_8psk_5_to_6_normal_pilots.txt");
587  CreateObject<SatLookUpTable>(m_inputPath + "s2x_8psk_32_to_45_short_pilots.txt");
589  CreateObject<SatLookUpTable>(m_inputPath + "s2x_8psk_9_to_10_normal_pilots.txt");
591  CreateObject<SatLookUpTable>(m_inputPath + "s2x_8psk_8_to_9_short_pilots.txt");
593  CreateObject<SatLookUpTable>(m_inputPath + "s2x_8psk_3_to_4_normal_pilots.txt");
595  CreateObject<SatLookUpTable>(m_inputPath + "s2x_8psk_3_to_5_normal_pilots.txt");
596 
597  // 8APSK
599  CreateObject<SatLookUpTable>(m_inputPath + "s2x_8apsk_26_to_45_l_normal_nopilots.txt");
601  CreateObject<SatLookUpTable>(m_inputPath + "s2x_8apsk_26_to_45_l_normal_pilots.txt");
603  CreateObject<SatLookUpTable>(m_inputPath + "s2x_8apsk_5_to_9_l_normal_pilots.txt");
605  CreateObject<SatLookUpTable>(m_inputPath + "s2x_8apsk_5_to_9_l_normal_nopilots.txt");
606 
607  // 16APSK
609  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_7_to_9_normal_pilots.txt");
611  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_5_to_6_normal_pilots.txt");
613  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_3_to_5_normal_nopilots.txt");
615  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_3_to_5_l_normal_pilots.txt");
617  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_8_to_9_short_nopilots.txt");
619  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_25_to_36_normal_nopilots.txt");
621  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_1_to_2_l_normal_pilots.txt");
623  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_3_to_5_normal_pilots.txt");
625  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_2_to_3_short_nopilots.txt");
627  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_13_to_18_normal_pilots.txt");
629  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_4_to_5_short_pilots.txt");
631  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_8_to_9_short_pilots.txt");
633  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_28_to_45_normal_nopilots.txt");
635  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_5_to_6_short_pilots.txt");
637  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_2_to_3_l_normal_pilots.txt");
639  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_4_to_5_normal_pilots.txt");
641  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_23_to_36_normal_pilots.txt");
643  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_5_to_9_l_normal_nopilots.txt");
645  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_3_to_4_short_nopilots.txt");
647  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_8_to_9_normal_pilots.txt");
649  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_8_to_15_short_pilots.txt");
651  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_26_to_45_normal_pilots.txt");
653  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_8_to_15_l_normal_nopilots.txt");
655  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_5_to_6_normal_nopilots.txt");
657  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_3_to_5_l_normal_nopilots.txt");
659  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_23_to_36_normal_nopilots.txt");
661  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_5_to_6_short_nopilots.txt");
663  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_28_to_45_normal_pilots.txt");
665  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_7_to_9_normal_nopilots.txt");
667  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_7_to_15_short_pilots.txt");
669  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_25_to_36_normal_pilots.txt");
671  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_5_to_9_l_normal_pilots.txt");
673  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_32_to_45_short_pilots.txt");
675  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_26_to_45_short_nopilots.txt");
677  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_1_to_2_l_normal_nopilots.txt");
679  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_13_to_18_normal_nopilots.txt");
681  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_2_to_3_normal_pilots.txt");
683  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_9_to_10_normal_nopilots.txt");
685  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_32_to_45_short_nopilots.txt");
687  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_2_to_3_short_pilots.txt");
689  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_26_to_45_short_pilots.txt");
691  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_3_to_4_normal_nopilots.txt");
693  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_8_to_15_short_nopilots.txt");
695  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_4_to_5_short_nopilots.txt");
697  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_2_to_3_l_normal_nopilots.txt");
699  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_8_to_15_l_normal_pilots.txt");
701  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_3_to_4_normal_pilots.txt");
703  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_77_to_90_normal_pilots.txt");
705  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_26_to_45_normal_nopilots.txt");
707  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_3_to_5_short_nopilots.txt");
709  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_77_to_90_normal_nopilots.txt");
711  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_7_to_15_short_nopilots.txt");
713  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_8_to_9_normal_nopilots.txt");
715  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_2_to_3_normal_nopilots.txt");
717  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_4_to_5_normal_nopilots.txt");
719  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_3_to_5_short_pilots.txt");
721  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_3_to_4_short_pilots.txt");
723  CreateObject<SatLookUpTable>(m_inputPath + "s2x_16apsk_9_to_10_normal_pilots.txt");
724 
725  // 32APSK
727  CreateObject<SatLookUpTable>(m_inputPath + "s2x_32apsk_7_to_9_normal_pilots.txt");
729  CreateObject<SatLookUpTable>(m_inputPath + "s2x_32apsk_5_to_6_short_pilots.txt");
731  CreateObject<SatLookUpTable>(m_inputPath + "s2x_32apsk_8_to_9_normal_pilots.txt");
733  CreateObject<SatLookUpTable>(m_inputPath + "s2x_32apsk_11_to_15_normal_nopilots.txt");
735  CreateObject<SatLookUpTable>(m_inputPath + "s2x_32apsk_32_to_45_normal_nopilots.txt");
737  CreateObject<SatLookUpTable>(m_inputPath + "s2x_32apsk_2_to_3_l_normal_nopilots.txt");
739  CreateObject<SatLookUpTable>(m_inputPath + "s2x_32apsk_2_to_3_short_nopilots.txt");
741  CreateObject<SatLookUpTable>(m_inputPath + "s2x_32apsk_8_to_9_short_nopilots.txt");
743  CreateObject<SatLookUpTable>(m_inputPath + "s2x_32apsk_2_to_3_l_normal_pilots.txt");
745  CreateObject<SatLookUpTable>(m_inputPath + "s2x_32apsk_5_to_6_short_nopilots.txt");
747  CreateObject<SatLookUpTable>(m_inputPath + "s2x_32apsk_32_to_45_short_nopilots.txt");
749  CreateObject<SatLookUpTable>(m_inputPath + "s2x_32apsk_3_to_4_normal_pilots.txt");
751  CreateObject<SatLookUpTable>(m_inputPath + "s2x_32apsk_32_to_45_short_pilots.txt");
753  CreateObject<SatLookUpTable>(m_inputPath + "s2x_32apsk_4_to_5_normal_pilots.txt");
755  CreateObject<SatLookUpTable>(m_inputPath + "s2x_32apsk_5_to_6_normal_nopilots.txt");
757  CreateObject<SatLookUpTable>(m_inputPath + "s2x_32apsk_8_to_9_short_pilots.txt");
759  CreateObject<SatLookUpTable>(m_inputPath + "s2x_32apsk_11_to_15_normal_pilots.txt");
761  CreateObject<SatLookUpTable>(m_inputPath + "s2x_32apsk_4_to_5_normal_nopilots.txt");
763  CreateObject<SatLookUpTable>(m_inputPath + "s2x_32apsk_3_to_4_short_nopilots.txt");
765  CreateObject<SatLookUpTable>(m_inputPath + "s2x_32apsk_7_to_9_normal_nopilots.txt");
767  CreateObject<SatLookUpTable>(m_inputPath + "s2x_32apsk_5_to_6_normal_pilots.txt");
769  CreateObject<SatLookUpTable>(m_inputPath + "s2x_32apsk_2_to_3_short_pilots.txt");
771  CreateObject<SatLookUpTable>(m_inputPath + "s2x_32apsk_3_to_4_normal_nopilots.txt");
773  CreateObject<SatLookUpTable>(m_inputPath + "s2x_32apsk_9_to_10_normal_pilots.txt");
775  CreateObject<SatLookUpTable>(m_inputPath + "s2x_32apsk_3_to_4_short_pilots.txt");
777  CreateObject<SatLookUpTable>(m_inputPath + "s2x_32apsk_32_to_45_normal_pilots.txt");
779  CreateObject<SatLookUpTable>(m_inputPath + "s2x_32apsk_9_to_10_normal_nopilots.txt");
781  CreateObject<SatLookUpTable>(m_inputPath + "s2x_32apsk_8_to_9_normal_nopilots.txt");
783  CreateObject<SatLookUpTable>(m_inputPath + "s2x_32apsk_4_to_5_short_nopilots.txt");
785  CreateObject<SatLookUpTable>(m_inputPath + "s2x_32apsk_4_to_5_short_pilots.txt");
786 
787  // 64APSK
789  CreateObject<SatLookUpTable>(m_inputPath + "s2x_64apsk_4_to_5_normal_nopilots.txt");
791  CreateObject<SatLookUpTable>(m_inputPath + "s2x_64apsk_32_to_45_l_normal_pilots.txt");
793  CreateObject<SatLookUpTable>(m_inputPath + "s2x_64apsk_5_to_6_normal_nopilots.txt");
795  CreateObject<SatLookUpTable>(m_inputPath + "s2x_64apsk_4_to_5_normal_pilots.txt");
797  CreateObject<SatLookUpTable>(m_inputPath + "s2x_64apsk_7_to_9_normal_pilots.txt");
799  CreateObject<SatLookUpTable>(m_inputPath + "s2x_64apsk_5_to_6_normal_pilots.txt");
801  CreateObject<SatLookUpTable>(m_inputPath + "s2x_64apsk_11_to_15_normal_nopilots.txt");
803  CreateObject<SatLookUpTable>(m_inputPath + "s2x_64apsk_7_to_9_normal_nopilots.txt");
805  CreateObject<SatLookUpTable>(m_inputPath + "s2x_64apsk_11_to_15_normal_pilots.txt");
807  CreateObject<SatLookUpTable>(m_inputPath + "s2x_64apsk_32_to_45_l_normal_nopilots.txt");
808 
809  // 128APSK
811  CreateObject<SatLookUpTable>(m_inputPath + "s2x_128apsk_7_to_9_normal_pilots.txt");
813  CreateObject<SatLookUpTable>(m_inputPath + "s2x_128apsk_7_to_9_normal_nopilots.txt");
815  CreateObject<SatLookUpTable>(m_inputPath + "s2x_128apsk_3_to_4_normal_pilots.txt");
817  CreateObject<SatLookUpTable>(m_inputPath + "s2x_128apsk_3_to_4_normal_nopilots.txt");
818 
819  // 256APSK
821  CreateObject<SatLookUpTable>(m_inputPath + "s2x_256apsk_29_to_45_l_normal_nopilots.txt");
823  CreateObject<SatLookUpTable>(m_inputPath + "s2x_256apsk_31_to_45_l_normal_nopilots.txt");
825  CreateObject<SatLookUpTable>(m_inputPath + "s2x_256apsk_3_to_4_normal_pilots.txt");
827  CreateObject<SatLookUpTable>(m_inputPath + "s2x_256apsk_11_to_15_l_normal_pilots.txt");
829  CreateObject<SatLookUpTable>(m_inputPath + "s2x_256apsk_29_to_45_l_normal_pilots.txt");
831  CreateObject<SatLookUpTable>(m_inputPath + "s2x_256apsk_31_to_45_l_normal_pilots.txt");
833  CreateObject<SatLookUpTable>(m_inputPath + "s2x_256apsk_2_to_3_l_normal_pilots.txt");
835  CreateObject<SatLookUpTable>(m_inputPath + "s2x_256apsk_11_to_15_l_normal_nopilots.txt");
837  CreateObject<SatLookUpTable>(m_inputPath + "s2x_256apsk_32_to_45_normal_nopilots.txt");
839  CreateObject<SatLookUpTable>(m_inputPath + "s2x_256apsk_32_to_45_normal_pilots.txt");
841  CreateObject<SatLookUpTable>(m_inputPath + "s2x_256apsk_2_to_3_l_normal_nopilots.txt");
843  CreateObject<SatLookUpTable>(m_inputPath + "s2x_256apsk_3_to_4_normal_nopilots.txt");
844 
845 } // end of void SatLinkResultsDvbS2X::DoInitialize
846 
847 } // end of namespace ns3
SatBbFrameType_t
BB frame type used in DVB-S2 FWD link.
SatModcod_t
Modulation scheme and coding rate for DVB-S2.
@ SAT_MODCOD_S2X_16APSK_2_TO_3_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_9_TO_10_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_2_TO_3_NORMAL_PILOTS
@ SAT_MODCOD_S2X_256APSK_32_TO_45_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_32APSK_5_TO_6_SHORT_PILOTS
@ SAT_MODCOD_S2X_8PSK_3_TO_5_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_128APSK_7_TO_9_NORMAL_PILOTS
@ SAT_MODCOD_S2X_16APSK_8_TO_15_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_8_TO_15_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_256APSK_11_TO_15_L_NORMAL_PILOTS
@ SAT_MODCOD_S2X_QPSK_4_TO_5_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_1_TO_3_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_256APSK_3_TO_4_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_1_TO_3_NORMAL_PILOTS
@ SAT_MODCOD_S2X_16APSK_4_TO_5_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_32APSK_32_TO_45_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_13_TO_45_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_7_TO_15_SHORT_PILOTS
@ SAT_MODCOD_S2X_16APSK_1_TO_2_L_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_2_TO_5_SHORT_PILOTS
@ SAT_MODCOD_S2X_16APSK_32_TO_45_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_32APSK_5_TO_6_NORMAL_PILOTS
@ SAT_MODCOD_S2X_16APSK_7_TO_9_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_8_TO_9_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_3_TO_4_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_23_TO_36_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_1_TO_2_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_3_TO_5_NORMAL_PILOTS
@ SAT_MODCOD_S2X_256APSK_11_TO_15_L_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_64APSK_32_TO_45_L_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_1_TO_2_L_NORMAL_PILOTS
@ SAT_MODCOD_S2X_QPSK_2_TO_5_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_5_TO_6_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_9_TO_10_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_8_TO_15_SHORT_PILOTS
@ SAT_MODCOD_S2X_16APSK_25_TO_36_NORMAL_PILOTS
@ SAT_MODCOD_S2X_QPSK_32_TO_45_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_1_TO_3_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_5_TO_9_L_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_64APSK_32_TO_45_L_NORMAL_PILOTS
@ SAT_MODCOD_S2X_128APSK_3_TO_4_NORMAL_PILOTS
@ SAT_MODCOD_S2X_32APSK_8_TO_9_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_13_TO_18_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_8APSK_5_TO_9_L_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_1_TO_4_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_32_TO_45_SHORT_PILOTS
@ SAT_MODCOD_S2X_32APSK_32_TO_45_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_8APSK_26_TO_45_L_NORMAL_PILOTS
@ SAT_MODCOD_S2X_32APSK_2_TO_3_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_128APSK_3_TO_4_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_32APSK_4_TO_5_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_8_TO_15_L_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_5_TO_6_NORMAL_PILOTS
@ SAT_MODCOD_S2X_16APSK_4_TO_5_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_3_TO_5_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_26_TO_45_SHORT_PILOTS
@ SAT_MODCOD_S2X_32APSK_9_TO_10_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_64APSK_11_TO_15_NORMAL_PILOTS
@ SAT_MODCOD_S2X_8PSK_5_TO_6_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_8_TO_9_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_23_TO_36_NORMAL_PILOTS
@ SAT_MODCOD_S2X_QPSK_4_TO_5_NORMAL_PILOTS
@ SAT_MODCOD_S2X_16APSK_3_TO_5_NORMAL_PILOTS
@ SAT_MODCOD_S2X_8PSK_3_TO_4_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_64APSK_7_TO_9_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_8_TO_9_NORMAL_PILOTS
@ SAT_MODCOD_S2X_32APSK_2_TO_3_L_NORMAL_PILOTS
@ SAT_MODCOD_S2X_32APSK_4_TO_5_NORMAL_PILOTS
@ SAT_MODCOD_S2X_16APSK_2_TO_3_SHORT_PILOTS
@ SAT_MODCOD_S2X_16APSK_5_TO_6_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_3_TO_5_L_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_2_TO_3_SHORT_PILOTS
@ SAT_MODCOD_S2X_QPSK_8_TO_9_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_28_TO_45_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_23_TO_36_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_3_TO_4_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_25_TO_36_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_3_TO_5_NORMAL_PILOTS
@ SAT_MODCOD_S2X_QPSK_2_TO_3_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_14_TO_45_SHORT_PILOTS
@ SAT_MODCOD_S2X_QPSK_5_TO_6_SHORT_PILOTS
@ SAT_MODCOD_S2X_16APSK_3_TO_5_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_5_TO_6_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_32_TO_45_SHORT_PILOTS
@ SAT_MODCOD_S2X_16APSK_5_TO_6_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_32APSK_3_TO_4_NORMAL_PILOTS
@ SAT_MODCOD_S2X_QPSK_4_TO_15_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_5_TO_6_NORMAL_PILOTS
@ SAT_MODCOD_S2X_QPSK_11_TO_20_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_3_TO_4_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_32APSK_32_TO_45_SHORT_PILOTS
@ SAT_MODCOD_S2X_QPSK_7_TO_15_SHORT_PILOTS
@ SAT_MODCOD_S2X_QPSK_11_TO_20_NORMAL_PILOTS
@ SAT_MODCOD_S2X_16APSK_4_TO_5_NORMAL_PILOTS
@ SAT_MODCOD_S2X_256APSK_29_TO_45_L_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_64APSK_11_TO_15_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_8_TO_9_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_2_TO_3_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_5_TO_6_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_8_TO_9_NORMAL_PILOTS
@ SAT_MODCOD_S2X_QPSK_2_TO_3_NORMAL_PILOTS
@ SAT_MODCOD_S2X_QPSK_3_TO_5_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_7_TO_15_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_256APSK_31_TO_45_L_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_8_TO_9_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_7_TO_15_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_4_TO_5_SHORT_PILOTS
@ SAT_MODCOD_S2X_16APSK_28_TO_45_NORMAL_PILOTS
@ SAT_MODCOD_S2X_32APSK_3_TO_4_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_13_TO_45_NORMAL_PILOTS
@ SAT_MODCOD_S2X_8PSK_3_TO_5_SHORT_PILOTS
@ SAT_MODCOD_S2X_64APSK_5_TO_6_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_32APSK_5_TO_6_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_32APSK_2_TO_3_L_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_25_TO_36_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_5_TO_6_SHORT_PILOTS
@ SAT_MODCOD_S2X_32APSK_11_TO_15_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_32APSK_4_TO_5_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_5_TO_6_SHORT_PILOTS
@ SAT_MODCOD_S2X_32APSK_32_TO_45_NORMAL_PILOTS
@ SAT_MODCOD_S2X_QPSK_4_TO_5_SHORT_PILOTS
@ SAT_MODCOD_S2X_16APSK_3_TO_4_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_8APSK_5_TO_9_L_NORMAL_PILOTS
@ SAT_MODCOD_S2X_16APSK_13_TO_18_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_8_TO_15_SHORT_PILOTS
@ SAT_MODCOD_S2X_16APSK_3_TO_5_L_NORMAL_PILOTS
@ SAT_MODCOD_S2X_32APSK_5_TO_6_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_4_TO_5_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_3_TO_5_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_256APSK_31_TO_45_L_NORMAL_PILOTS
@ SAT_MODCOD_S2X_16APSK_8_TO_9_SHORT_PILOTS
@ SAT_MODCOD_S2X_256APSK_32_TO_45_NORMAL_PILOTS
@ SAT_MODCOD_S2X_QPSK_3_TO_5_SHORT_PILOTS
@ SAT_MODCOD_S2X_QPSK_5_TO_6_NORMAL_PILOTS
@ SAT_MODCOD_S2X_32APSK_7_TO_9_NORMAL_PILOTS
@ SAT_MODCOD_S2X_8PSK_7_TO_15_SHORT_PILOTS
@ SAT_MODCOD_S2X_64APSK_5_TO_6_NORMAL_PILOTS
@ SAT_MODCOD_S2X_16APSK_9_TO_10_NORMAL_PILOTS
@ SAT_MODCOD_S2X_16APSK_13_TO_18_NORMAL_PILOTS
@ SAT_MODCOD_S2X_QPSK_9_TO_20_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_8APSK_26_TO_45_L_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_64APSK_7_TO_9_NORMAL_PILOTS
@ SAT_MODCOD_S2X_QPSK_3_TO_4_NORMAL_PILOTS
@ SAT_MODCOD_S2X_QPSK_9_TO_20_NORMAL_PILOTS
@ SAT_MODCOD_S2X_16APSK_3_TO_4_SHORT_PILOTS
@ SAT_MODCOD_S2X_256APSK_2_TO_3_L_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_26_TO_45_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_32APSK_2_TO_3_SHORT_PILOTS
@ SAT_MODCOD_S2X_256APSK_29_TO_45_L_NORMAL_PILOTS
@ SAT_MODCOD_S2X_256APSK_2_TO_3_L_NORMAL_PILOTS
@ SAT_MODCOD_S2X_64APSK_4_TO_5_NORMAL_PILOTS
@ SAT_MODCOD_S2X_8PSK_3_TO_4_NORMAL_PILOTS
@ SAT_MODCOD_S2X_16APSK_8_TO_15_SHORT_PILOTS
@ SAT_MODCOD_S2X_16APSK_5_TO_9_L_NORMAL_PILOTS
@ SAT_MODCOD_S2X_16APSK_3_TO_4_NORMAL_PILOTS
@ SAT_MODCOD_S2X_8PSK_2_TO_3_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_13_TO_18_NORMAL_PILOTS
@ SAT_MODCOD_S2X_16APSK_77_TO_90_NORMAL_PILOTS
@ SAT_MODCOD_S2X_QPSK_1_TO_4_NORMAL_PILOTS
@ SAT_MODCOD_S2X_16APSK_8_TO_9_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_32APSK_9_TO_10_NORMAL_PILOTS
@ SAT_MODCOD_S2X_32APSK_8_TO_9_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_2_TO_3_L_NORMAL_PILOTS
@ SAT_MODCOD_S2X_QPSK_2_TO_5_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_32_TO_45_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_2_TO_3_SHORT_PILOTS
@ SAT_MODCOD_S2X_32APSK_7_TO_9_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_32_TO_45_SHORT_PILOTS
@ SAT_MODCOD_S2X_QPSK_3_TO_4_SHORT_PILOTS
@ SAT_MODCOD_S2X_QPSK_3_TO_4_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_25_TO_36_NORMAL_PILOTS
@ SAT_MODCOD_S2X_QPSK_1_TO_3_SHORT_PILOTS
@ SAT_MODCOD_S2X_QPSK_3_TO_5_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_3_TO_4_SHORT_PILOTS
@ SAT_MODCOD_S2X_16APSK_7_TO_9_NORMAL_PILOTS
@ SAT_MODCOD_S2X_8PSK_8_TO_9_SHORT_PILOTS
@ SAT_MODCOD_S2X_QPSK_1_TO_2_NORMAL_PILOTS
@ SAT_MODCOD_S2X_64APSK_4_TO_5_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_2_TO_5_NORMAL_PILOTS
@ SAT_MODCOD_S2X_32APSK_8_TO_9_NORMAL_PILOTS
@ SAT_MODCOD_S2X_QPSK_8_TO_9_NORMAL_PILOTS
@ SAT_MODCOD_S2X_8PSK_2_TO_3_NORMAL_PILOTS
@ SAT_MODCOD_S2X_8PSK_2_TO_3_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_2_TO_3_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_4_TO_15_SHORT_PILOTS
@ SAT_MODCOD_S2X_16APSK_2_TO_3_L_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_23_TO_36_NORMAL_PILOTS
@ SAT_MODCOD_S2X_16APSK_26_TO_45_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_26_TO_45_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_3_TO_5_SHORT_PILOTS
@ SAT_MODCOD_S2X_QPSK_8_TO_9_SHORT_PILOTS
@ SAT_MODCOD_S2X_QPSK_14_TO_45_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_1_TO_4_SHORT_PILOTS
@ SAT_MODCOD_S2X_16APSK_26_TO_45_NORMAL_PILOTS
@ SAT_MODCOD_S2X_QPSK_1_TO_2_SHORT_PILOTS
@ SAT_MODCOD_S2X_32APSK_8_TO_9_SHORT_PILOTS
@ SAT_MODCOD_S2X_8PSK_26_TO_45_SHORT_PILOTS
@ SAT_MODCOD_S2X_8PSK_9_TO_10_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_9_TO_10_NORMAL_PILOTS
@ SAT_MODCOD_S2X_QPSK_8_TO_15_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_32APSK_3_TO_4_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_1_TO_2_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_11_TO_45_SHORT_PILOTS
@ SAT_MODCOD_S2X_16APSK_8_TO_15_L_NORMAL_PILOTS
@ SAT_MODCOD_S2X_32APSK_11_TO_15_NORMAL_PILOTS
@ SAT_MODCOD_S2X_32APSK_3_TO_4_SHORT_PILOTS
@ SAT_MODCOD_S2X_8PSK_7_TO_15_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_1_TO_4_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_128APSK_7_TO_9_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_9_TO_10_NORMAL_PILOTS
@ SAT_MODCOD_S2X_QPSK_11_TO_45_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_77_TO_90_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_32APSK_4_TO_5_SHORT_PILOTS
@ SAT_MODCOD_S2X_256APSK_3_TO_4_NORMAL_PILOTS
SatArqSequenceNumber is handling the sequence numbers for the ARQ process.