Abstract

We present a new functional programming language for digital signal processing (DSP) named Arrp, in which signals are regarded as multi-dimensional arrays with an infinite dimension representing time, and defined using quasi-affine recurrence equations. An immediate benefit is an intuitive syntax that is very close to common mathematical notation used in DSP. Code reuse, especially in multi-dimensional and multi-rate signal processing, is supported through polymorphic and higher-order functions. We describe the differences between our approach and other paradigms in the domain, demonstrate the benefits of the language, and outline a method for compilation of the language into efficient C++ code using the polyhedral model. Preliminary experimental evaluation of our compiler shows that Arrp executes as fast or faster than hand-written C++ code, without explicit parallelization.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call