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

      Quinn, Ryan; Andriamanalimanana, Bruno R.; Advisor; Sengupta, Saumendra; Reviewer; Spetka, Scott; Reviewer (2018-05)
      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.
    • A Genetic Algorithm for Locating Acceptable Structure Models of Systems (Reconstructability Analysis)

      Heath, Joshua; Cavallo, Roger; Advisor; Reale, Michael; Reviewer; Sengupta, Saumendra; Reviewer (2018-05)
      The emergence of the field of General Systems Theory (GST) can be best attributed to the belief that all systems, irrespective of context, share simple, organizational principles capable of being mathematically modeled with any of many forms of abstraction. Structure  modeling is a well‐developed aspect of GST specializing in analyzing the structure of a system ‐ that is, the interactions between the attributes of a system. These interactions, while intuitive in smaller systems, become increasingly difficult to comprehend as the number of measurable attributes of a system increases. To combat this, one may approach an overall system by analyzing its various subsystems and, potentially, reconstruct properties of that system using  knowledge gained from considering a collection of these subsystems (a structure model). In situations where the overall system cannot be fully reconstructed based on a given structure model, the benefits and detriments associated with using such a model should both be considered. For example, while a model may be simpler to understand, or require less storage space in memory than the system as a whole, all information regarding that system may not be inferable from that model. As systems grow in size, determining the acceptability of every meaningful structure model of a system in order tofind the most acceptable becomes exceedingly resource-intensive. In this thesis, a measure of the memory requirements associated with storing a system or a set of subsystems (a structure model) is defined and is used in defining an objective measure of the acceptability of a structure as a representation of an overall system. A Genetic Algorithm for Locating Acceptable Structures (GALAS) is then outlined, with this acceptability criterion serving as an optimizable fitness function. The goal of this heuristic is to search the set of all meaningful structure models, without the need for exhaustively generating each, and produce those that are the most acceptable, based on predefined acceptability criteria. 

      Piszcz, Alan; Ishaq, Naseem; Advisor; Novillo, Jorge E; Reviewer; Sengupta, Saumendra; Reviewer (1993)
      Objected oriented languages and artificial neural networks are new areas of research and development. This thesis investigates the application of artificial neural networks using an object oriented C++ backpropagation simulator. The application domain investigated is hand printed text and engineering symbol recognition. An object oriented approach to the simulator allows other simulator paradigms to reuse a large body of the object classes developed for this particular application. The review and implementation of image feature extraction methodologies is another area researched in this paper. Four feature techniques are researched, developed, applied and tested, using digits, upper case alphabet characters and engineering symbol images. Final implementation and testing of the feature extraction methods with a baseline technique is analyzed for applicability in the domain of hand printed text and engineering symbols