Mobility

Signal Processing in the Pure Programming Language

Free registration required

Executive Summary

The new functional programming language Pure is useful as a scripting language in signal processing applications. It has a Just In Time (JIT) compiler that makes execution reasonably fast and a built-in matrix makes it possible to handle numeric signals in an efficient way. A Pure plug in provides the necessary infrastructure for real time signal processing. Encoding signal processing in vital programming languages is complex and error prone. Functional Programming (FP) has been identified as a feasible substitute. Pure is based on term rewriting which makes it a powerful tool for developing algebraic models. In addition, Pure covers features like interfacing to interpreted real-time environments; Pure has a built-in Octave-like matrix type, which can be used to represent numeric signal data in an efficient way. Pure is suitable for applications where many interpreted languages fall short, but it also offers an expedient interactive environment just like a real" interpreter. Pure comes out somewhere between MZScheme 4.1.3 (which is about 6 times faster) and Python 2.5 (which is about 6 times slower). This still leaves much room for improvements, but note that MZScheme is a very fast and mature interpreter. The paper gives a brief overview of Pure and its Pd interface, and also discusses two simple examples for actor-style audio and stream-based message processing. Finally, some open problems and directions are pointed out for further research.

  • Format: PDF
  • Size: 146.5 KB