Applicability of the Julia Programming Language to Forward Error-Correction Coding in Digital Communications Systems

Loading...
Thumbnail Image

Authors

Quinn, Ryan
Andriamanalimanana, Bruno R.; Advisor
Sengupta, Saumendra; Reviewer
Spetka, Scott; Reviewer

Issue Date

2018-05

Type

Thesis

Language

en_US

Keywords

Julia (programming language) , forward error correction (FEC) , digital signal processing (DSP)

Research Projects

Organizational Units

Journal Issue

Alternative Title

Abstract

Traditionally SDR has been implemented in C and C++ for execution speed and processor efficiency. Interpreted and high-level languages were considered too slow to handle the challenges of digital signal processing (DSP). The Julia programming language is a new language developed for scientific and mathematical purposes that is supposed to write like Python or MATLAB and execute like C or FORTRAN. Given the touted strengths of the Julia language, it bore investigating as to whether it was suitable for DSP. This project specifically addresses the applicability of Julia to forward error correction (FEC), a highly mathematical topic to which Julia should be well suited. It has been found that Julia offers many advantages to faithful implementations of FEC specifications over C/C++, but the optimizations necessary to use FEC in real systems are likely to blunt this advantage during normal use. The Julia implementations generally effected a 33% or higher reduction in source lines of code (SLOC) required to implement. Julia implementations of FEC algorithms were generally not more than 1/3 the speed of mature C/C++ implementations.While Julia has the potential to achieve the required performance for FEC, the optimizations required to do so will generally obscure the closeness of the implementation and specification. At the current time it seems unlikely that Julia will pose a serious challenge to the dominance of C/C++ in the field of DSP.

Description

Master of Science Project in Computer and Information Sciences, Department of Computer Sciences, SUNY Polytechnic Institute. Approved and recommended for acceptance as a project in partial fulfillment of the requirements for the degree of Master of Science in Computer and Information Sciences.

Citation

Publisher

License

Journal

Volume

Issue

PubMed ID

DOI

ISSN

EISSN