Satellietcommunicatie op topsnelheid: tot 12,5x snellere signaalverwerking in software-gebaseerde modems

Tijn
De Wever

Heb jij ‘s nachts al eens naar de sterrenhemel gekeken? Als je goed kijkt, kan je met het blote oog witte stipjes in een rechte lijn zien bewegen. Dit zijn satellieten. Ze nemen steeds toe in aantal en worden technologisch geavanceerder. Als gevolg moeten de bijhorende systemen op aarde, zoals satellietmodems, mee evolueren en steeds hogere datasnelheden ondersteunen. Hierover heb ik onderzoek gedaan met mijn masterproef, meer specifiek of een grafische processor (GPU) gebruikt kan worden om een software-gebaseerde modem te versnellen.

Wat doet een satellietmodem? 

Schotelantenne voor satellietcommunicatie

Satellieten bevinden zich in een baan rond de aarde op afstanden tot wel enkele tienduizenden kilometers ver. Betrouwbare communicatie is daarom een belangrijke vereiste, maar helemaal niet evident. Door onze atmosfeer en de grote afstand tot de aarde zijn ontvangen signalen van satellieten erg verzwakt en onzuiver. 

Daarom zijn geavanceerde technieken en uitgebreide signaalverwerking op aarde nodig om satellietsignalen betrouwbaar te verwerken. Een cruciaal onderdeel hierbij is een satellietmodem. Dit toestel staat in voor het omzetten van radiofrequentie (RF) signalen naar digitale signalen en omgekeerd. 

Signalen worden in conventionele satellietmodems verwerkt door complexe hardware. Bij een software-gebaseerde modem gebeurt de signaalverwerking echter in software. Je kunt zo’n modem vergelijken met een computer waarop je een programma uitvoert. Net zoals op een computer kunnen programma’s makkelijk aangepast worden en laat de software-gebaseerde aanpak toe om eenvoudig de functionaliteit van de satellietmodem te wijzigen. Dit biedt een flexibeler alternatief voor de conventionele modems. Het nadeel is echter dat ze doorgaans minder hoge datasnelheden ondersteunen.

Hoe kan het sneller?

Parallellisme is een populaire techniek die gebruikt wordt om processen of systemen te versnellen. In plaats van elke operatie individueel te verwerken, worden er bij parallellisme meerdere operaties op hetzelfde moment uitgevoerd. Een grafische processor (GPU) heeft een immense parallelle rekenkracht en wordt daarom vaak ingezet voor parallelle taken zoals het verwerken van grafische data tegen hoge snelheden of het trainen van AI-modellen. 

Dit roept de vraag op: kan een GPU ook ingezet worden om snellere dataverwerking toe te laten in een software-gebaseerde satellietmodem?

Het idee op de proef gesteld

Om deze vraag te onderzoeken heb ik een proof of concept ontwikkeld, vertrekkende van een bestaande satellietmodem van het bedrijf Celestia Antwerp. Ik heb de focus gelegd op een suppressed carrier demodulator, een veelgebruikte maar rekenintensieve stap in software-gebaseerde satellietmodems. 

Het introduceren van GPU-parallellisatie in een bestaand systeem brengt wel heel wat vragen met zich mee. Wat is de impact op de bestaande softwarearchitectuur? Welke GPU en programmeermodel zijn het meest geschikt voor de modem? 

Om al deze vragen grondig te onderzoeken, heb ik een uitgebreide studie uitgevoerd. Door de demodulator te analyseren en zijn werking te bestuderen, heb ik eerst de meest kritische componenten geïdentificeerd en daarna geparallelliseerd. Hierbij was het evalueren van de nauwkeurigheid een belangrijk aandachtspunt. De componenten van de demodulator moeten bijvoorbeeld mogelijke communicatiefouten corrigeren. De nauwkeurigheid mag dus bijgevolg niet ten koste gaan van een prestatiewinst.

Binnenkant van de satellietmodem met de GPU geïnstalleerd

In mijn studie heb ik naast de technische kant, ook rekening gehouden met het commercieel aspect. Het programmeermodel heb ik zodanig geselecteerd dat flexibiliteit van de software-gebaseerde satellietmodem volledig behouden blijft. Er kan eenvoudig hardware van verschillende fabrikanten worden gebruikt en zelfs zonder GPU blijft de satellietmodem operationeel. In de figuur hierboven zie je rechts de geselecteerde GPU in de satellietmodem geïnstalleerd.

De GPU-parallellisatie leidde tot spectaculaire snelheidsverbeteringen in de componenten van wel 12,5 keer onder de typische werkomstandigheden van de demodulator. Dit betekent dat een taak die voorheen een hele dag in beslag nam, nu in minder dan twee uur kan worden uitgevoerd. Door de meest kritische componenten te parallelliseren, steeg de snelheid van de volledige demodulator met 37,5%.

Conclusie

Dit proof of concept laat zien hoe een grafische processor software-gebaseerde satellietmodems kan versnellen. Hoewel ik hier gefocust heb op één onderdeel van de satellietmodem, zijn de in mijn masterproef bewezen methodes toepasbaar over heel de modem. Zo vormt deze studie een stapje vooruit in het verbeteren van satellietcommunicatie.

Bibliografie

[1] Q. Liu, B. Tang, and Y. Wang, “Analysis and elimination of common interference in satellite communications”, in Journal of Physics: Conference Series, IOP Publishing, vol. 1575, 2020, p. 012 010.

[2] M. Zubair, Z. Haider, S. A. Khan, and J. Nasir, “Atmospheric influences on satellite communications”, Przeglad Elektrotechniczny, vol. 87, no. 5, pp. 261–264, 2011.

[3] CCSDS, “Flexible advanced coding and modulation scheme for high rate telemetry applications”, Blue Book, February, 2023.

[4] K. Varnavas, W. H. Sims, and J. Casas, “The use of field programmable gate arrays (fpga) in small satellite communication systems”, in International Conference on Advances in Satellite and Space Communications (SPACOMM 2015), 2015.

[5] C. Antwerp, Omnisat lt/lt+ technical specifications, 2022.

[6] C. Antwerp, V-ibb technical specifications, Virtual integrated baseband equipment, 2021.

[7] A. Modenini and B. Ripani, “A tutorial on the tracking, telemetry, and command (tt&c) for space missions”, IEEE Communications Surveys & Tutorials, vol. 25, no. 3, pp. 1510–1542, 2023.

[8] A. N. Guest, “Telemetry, tracking, and command (tt&c)”, in Handbook of Satellite Applications. Springer New York, 2013, pp. 1067–1078, isbn: 978-1-4419-7671-0. doi: 10.1007/978- 1- 4419-7671-0˙69. [Online]. Available: https://doi.org/10.1007/978-1-4419-7671-0˙69.

[9] T. D. Wever, “Parallelized viterbi decoding software implementation for satellite tt&c sdr modem application”, Professional Bachelor’s Thesis, Thomas More, 2022.

[10] I. Deman, Development, realisation and validation of a baseband equipment dual-channel, Demodulator design, IBBP3-AS-DD-0025, version 01.00, Internal document (restricted), Celestia Antwerp, Aug. 22, 2016.

[11] T. Roelandts, Development, realisation and validation of a baseband equipment dual-channel, Suppressed carrier modes design, IBBP3-AS-TNO-0018, version 01.00, Internal document (restricted), Celestia Antwerp, Oct. 5, 2016.

[12] P. T. Thompson, “Satellite communications modulation and multiplexing”, pp. 325–358, 2013.

[13] W. L. Martin and T. M. Nguyen, “Ccsds-sfcg efficient modulation methods study: A comparison of modulation schemes, phase 1: Bandwidth utilization”, 1993.

[14] P. Prandoni and M. Vetterli, “Signal processing for communications”, in Communication and information sciences, EPFL, 2008.

[15] M. Berner, “Timing and carrier recovery”, 2005. Accessed: Nov. 3, 2024. [Online]. Available: http://www.comlab.hut.fi/opetus/333/2004˙2005˙slides/CarrierTimingRecovery.pdf.

[16] J. G. Proakis and M. Salehi, Digital communications. McGraw-hill, 2008.

[17] F. Gardner, Phaselock techniques. John Wiley & Sons, 2005.

[18] E. Casas, Wireless system design, Lecture 7: Complex baseband representation, power spectra, ELEX 7860, The University of British Columbia, 2013. Accessed: Oct. 31, 2024. [Online]. Available: https: //people.ece.ubc.ca/˜edc/7860/lectures/lec7.pdf.

[19] C. Langton, Intuitive guide to principles of communications, Inter symbol interference (isi) and rootraised cosine (rrc) filtering, 2002. Accessed: Sep. 5, 2024. [Online]. Available: https://complextoreal.com/wp-content/uploads/2013/01/isi.pdf.

[20] E. Cubukcu, “Root raised cosine (rrc) filters and pulse shaping in communication systems”, in AIAA Conference, 2012.

[21] J. Á. Ávila Rodríguez, “On generalized signal waveforms for satellite navigation”, Ph.D. dissertation, ´ München, Univ. der Bundeswehr, Diss., 2008, 2008.

[22] N. S. Alagha and P. Kabal, “Generalized raised-cosine filters”, IEEE transactions on Communications, vol. 47, no. 7, pp. 989–997, 1999.

[23] D. R. Stephens, Phase-locked loops for wireless communications: digital and analog implementation. Springer Science & Business Media, 2012.

[24] J. M. Cioffi, “Chapter 6: Fundamentals of synchronization”, in Data transmission Theory. Stanford University, ch. 6. Accessed: Nov. 2, 2024. [Online]. Available: https://cioffi-group.stanford.edu/doc/book/chap6.pdf.

[25] F. Gardner, “A bpsk/qpsk timing-error detector for sampled receivers”, IEEE Transactions on communications, vol. 34, no. 5, pp. 423–429, 1986.

[26] H. Jeon, “Gpu architecture”, in Handbook of Computer Architecture, A. Chattopadhyay, Ed. Singapore: Springer Nature Singapore, 2022, pp. 1–29, isbn: 978-981-15-6401-7. doi: 10.1007/978-981-15-6401-7˙66-2. [Online]. Available: https://doi.org/10.1007/978-981-15-6401-7˙66-2.

[27] J. Palacios and J. Triska, “A comparison of modern gpu and cpu architectures: And the common convergence of both”, Oregon State University, 2011.

[28] W. J. Dally, S. W. Keckler, and D. B. Kirk, “Evolution of the graphics processing unit (gpu)”, IEEE Micro, vol. 41, no. 6, pp. 42–51, 2021.

[29] C. Lutz, S. Breß, S. Zeuch, T. Rabl, and V. Markl, “Pump up the volume: Processing large data on gpus with fast interconnects”, in Proceedings of the 2020 ACM SIGMOD International Conference on Management of Data, 2020, pp. 1633–1649.

[30] K. Fatahalian, “From shader code to a teraflop: How gpu shader cores work”, in ACM SIGGRAPH, 2010.

[31] M. Fang, J. Fang, W. Zhang, H. Zhou, J. Liao, and Y. Wang, “Benchmarking the gpu memory at the warp level”, Parallel Computing, vol. 71, pp. 23–41, 2018.

[32] P. N. Glaskowsky, “Nvidia’s fermi: The first complete gpu computing architecture”, NVIDIA Corporation, White paper, 2009. Accessed: Aug. 5, 2024. [Online]. Available: https://www.nvidia.com/content/PDF/fermi˙white˙papers/P.Glaskowsky˙Nvidia’s˙Fermi-The˙First˙Complete˙GPU˙Architecture.pdf.

[33] R. Prata, C. Bentes, and R. Farias, “Video processing on gpu: Analysis of data transfer overhead”, in 2014 International Symposium on Computer Architecture and High Performance Computing Workshop, IEEE, 2014, pp. 18–23.

[34] J. Fang, A. L. Varbanescu, and H. Sips, “A comprehensive performance comparison of cuda and opencl”, in 2011 International Conference on Parallel Processing, IEEE, 2011, pp. 216–225.

[35] A. Danalis, G. Marin, C. McCurdy, J. S. Meredith, P. C. Roth, K. Spafford, V. Tipparaju, and J. S. Vetter, “The scalable heterogeneous computing (shoc) benchmark suite”, in Proceedings of the 3rd workshop on general-purpose computation on graphics processing units, 2010, pp. 63–74.

[36] NVIDIA, Cuda c++ programming guide, version 12.6, NVIDIA Corporation, Nov. 14, 2024.

[37] AMD. “Hip documentation”. version 6.2.0, Accessed: Aug. 9, 2024. [Online]. Available: https:// rocm.docs.amd.com/projects/HIP/en/docs-6.2.2/.

[38] N. Kerscher, “Investigating the hip programming model with regards to portability and performance portability”, 2022.

[39] J. Chen, X. Zhou, and H. Kim, “Cupbop-amd: Extending cuda to amd platforms”, in Proceedings of the SC’23 Workshops of The International Conference on High Performance Computing, Network, Storage, and Analysis, 2023, pp. 1093–1104.

[40] J. Sanders, CUDA by Example: An Introduction to General-Purpose GPU Programming. AddisonWesley Professional, 2010.

[41] Y. M. Tsai, T. Cojean, T. Ribizel, and H. Anzt, “Preparing ginkgo for amd gpus–a testimonial on porting cuda code to hip”, in European Conference on Parallel Processing, Springer, 2020, pp. 109–121.

[42] A. Asaduzzaman, A. Trent, S. Osborne, C. Aldershof, and F. N. Sibai, “Impact of cuda and opencl on parallel and distributed computing”, in 2021 8th International Conference on Electrical and Electronics Engineering (ICEEE), IEEE, 2021, pp. 238–242.

[43] M. Khalilov and A. Timoveev, “Performance analysis of cuda, openacc and openmp programming models on tesla v100 gpu”, in Journal of Physics: Conference Series, IOP Publishing, vol. 1740, 2021, p. 012 056.

[44] J. Reinders, B. Ashbaugh, J. Brodman, M. Kinsner, J. Pennycook, and X. Tian, Data Parallel C++: Programming Accelerated Systems Using C++ and SYCL. Springer Nature, 2023.

[45] G. K. R. Kuncham, R. Vaidya, and M. Barve, “Performance study of gpu applications using sycl and cuda on tesla v100 gpu”, in 2021 IEEE High Performance Extreme Computing Conference (HPEC), IEEE, 2021, pp. 1–7.

[46] F. J. Almquist, “Evaluating a unified parallel computing api for radar signal processing”, Master’s thesis, Lund University, 2023. Accessed: Aug. 12, 2024. [Online]. Available: https://lup.lub.lu.se/student-papers/record/9131067/file/9131068.pdf.

[47] R. Reyes Castro. “Sylc performance for nvidia and amd gpus matches native system language”, OneAPI, Accessed: Aug. 12, 2024. [Online]. Available: https : / / www . oneapi . io / blog / sycl -performance-for-nvidia-and-amd-gpus-matches-native-system-language/.

[48] A. Alpay. “Adaptivecpp 24.06.0”, AdaptiveCpp, Accessed: Aug. 12, 2024. [Online]. Available: https://github.com/AdaptiveCpp/AdaptiveCpp/releases/tag/v24.06.0.

[49] OpenACC, The openacc application programming interface, version 3.3, Nov. 2022.

[50] J. Urbanic, Introduction to openacc, Pittsburgh Supercomputing Center, 2021. Accessed: Dec. 1, 2024. [Online]. Available: https://www.psc.edu/wp-content/uploads/2021/06/OpenACC˙Introduction˙ To˙OpenACC.pdf.

[51] J. Urbanic, Using openacc with cuda libraries, Pittsburgh Supercomputing Center, 2021. Accessed: Aug. 16, 2024. [Online]. Available: https://www.psc.edu/wp-content/uploads/2021/06/OpenACC˙Using˙OpenACC˙with˙CUDA-Libraries.pdf.

[52] T. Hoshino, N. Maruyama, S. Matsuoka, and R. Takaki, “Cuda vs openacc: Performance case studies with kernel benchmarks and a memory-bound cfd application”, in 2013 13th IEEE/ACM International Symposium on Cluster, Cloud, and Grid Computing, IEEE, 2013, pp. 136–143.

[53] C. R. Trott, D. Lebrun-Grandie, D. Arndt, J. Ciesko, V. Dang, N. Ellingwood, R. Gayatri, E. Harvey, D. S. Hollman, D. Ibanez, N. Liber, J. Madsen, J. Miles, D. Poliakoff, A. Powell, S. Rajamanickam, M. Simberg, D. Sunderland, B. Turcksin, and J. Wilke, “Kokkos 3: Programming model extensions for the exascale era”, IEEE Transactions on Parallel and Distributed Systems, vol. 33, no. 4, pp. 805–817, 2022. doi: 10.1109/TPDS.2021.3097283.

[54] C. Trott, L. Berger-Vergiat, D. Poliakoff, S. Rajamanickam, D. Lebrun-Grandie, J. Madsen, N. Al Awar, M. Gligoric, G. Shipman, and G. Womeldorff, “The kokkos ecosystem: Comprehensive performance portability for high performance computing”, Computing in Science Engineering, vol. 23, no. 5, pp. 10– 18, 2021. doi: 10.1109/MCSE.2021.3098509.

[55] A. S. Dufek, R. Gayatri, N. Mehta, D. Doerfler, B. Cook, Y. Ghadar, and C. DeTar, “Case study of using kokkos and sycl as performance-portable frameworks for milc-dslash benchmark on nvidia, amd and intel gpus”, in 2021 International Workshop on Performance, Portability and Productivity in HPC (P3HPC), IEEE, 2021, pp. 57–67.

[56] Julia. “Julia documentation”. version 1.11, Accessed: Aug. 13, 2024. [Online]. Available: https : //docs.julialang.org/en/v1/.

[57] Julia. “Juliagpu, High-performance gpu programming in a high-level language”, Accessed: Aug. 13, 2024. [Online]. Available: https://juliagpu.org/.

[58] J. M. Teichgräber, “Julia: A competitive high-level choice for performance portability in hpc?”, in Seminar (Performance) Portable Programming of HPC Applications, 2022.

[59] “Hipify”, Accessed: Aug. 9, 2024. [Online]. Available: https://github.com/ROCm/HIPIFY.

[60] R. Han, J. Chen, B. Garg, X. Zhou, J. Lu, J. Young, J. Sim, and H. Kim, “Cupbop: Making cuda a portable language”, ACM Transactions on Design Automation of Electronic Systems, vol. 29, no. 4, pp. 1–25, 2024.

[61] P. Roth C., Experiences with the heterogeneouscompute interface for portability (hip) on olcf summit, Oak Ridge National Laboratory, 2019. Accessed: Aug. 9, 2024. [Online]. Available: https://www.olcf.ornl.gov/wp-content/uploads/2019/10/Roth-HIP-on-Summit….

[62] “Hip-cpu”, Accessed: Aug. 9, 2024. [Online]. Available: https://github.com/ROCm/HIP-CPU.

[63] TechPowerUp. “Gpu specs database”, Accessed: Aug. 28, 2024. [Online]. Available: https://www.techpowerup.com/gpu-specs/.

[64] G. Paoloni, “How to benchmark code execution times on intel ia-32 and ia-64 instruction set architectures”, Intel Corporation, White paper, Sep. 2010.

[65] E. C. Young, “Gpu-accelerated demodulation for a satellite ground station”, M.S. thesis, Utah State University, 2019.

[66] B. Sklar, Digital communications: fundamentals and applications, 2nd ed. Prentice Hall PTR, 2016.

[67] R. Li, Y. Dou, Y. Li, and S. Wang, “A fully parallel truncated viterbi decoder for software defined radio on gpus”, in 2013 IEEE wireless communications and networking conference (WCNC), IEEE, 2013, pp. 4305–4310.

[68] H. Peng, R. Liu, Y. Hou, and L. Zhao, “A gb/s parallel block-based viterbi decoder for convolutional codes on gpu”, in 2016 8th International Conference on Wireless Communications & Signal Processing (WCSP), IEEE, 2016, pp. 1–6.

[69] Intel. “Oneapi dpc++ compiler documentation, A brief overview of kernel and program caching mechanism”, Accessed: May 2, 2025. [Online]. Available: https://intel.github.io/llvm/design/ KernelProgramCache.html.

[70] P. P. Vaidyanathan, Multirate Systems and Filter Banks. 1993, isbn: 0-13-605718-7.

[71] K. Group. “Sycl 2020 specification”. Section 4.17, Accessed: May 7, 2025. [Online]. Available: https: //registry.khronos.org/SYCL/specs/sycl-2020/html/sycl-2020.html.

[72] NVIDIA. “Nvidia nsight systems”, Accessed: May 15, 2025. [Online]. Available: https://developer. nvidia.com/nsight-systems.

[73] V. Pérez, L. Sommer, V. Lomüller, K. Narasimhan, and M. Goli, “User-driven online kernel fusion for sycl”, ACM Transactions on Architecture and Code Optimization, vol. 20, no. 2, pp. 1–25, 2023.

[74] B. Tracy. “Sycl graphs”, Codeplay, Accessed: May 15, 2025. [Online]. Available: https://codeplay.com/portal/blogs/2024/01/22/sycl-graphs

Download scriptie (12.88 KB)
Universiteit of Hogeschool
KU Leuven
Thesis jaar
2025
Promotor(en)
Steven Colleman en Kris Van Ostade