Skip to content

Considerations for DSP system design

Colin Clark edited this page Dec 28, 2023 · 5 revisions

Considerations for DSP system design

Over the years, I've recognized several capabilities that strongly influence a DSP system's design, and which may be difficult or impossible to implement depending on the nature of the system's architecture. The implementation of these capabilities in a consistent form represent some of the most challenging problems of DSP system architecture. In each case, including these capabilities in a system imposes significant issues related to performance optimization as well as complexity in the system's graph evaluation algorithms. These capabilities include:

  • Mixed evaluation rates, allowing for some sections of a signal graph to run per-sample while others run at block rate for efficiency (e.g. for implementing filters and delay-based effects such as reverb)
  • Mixed sample rates, so that some sections can be oversampled to reduce aliasing yet still be connected to those running at slower rates (e.g. for non-linear processes such as distortion or FM synthesis)
  • Live changes to an signal graph, supporting a) the prototyping process of quick evaluation and refinement; b) the use of signals for macro-scale controls; and c) algorithmic evolution of an instrument
  • First-class composition of signals, where end-users of the system have the ability to--within the system's primary representation--compose new signals using the building blocks provided by the system, and where those composed signals can be used equally to and interchangeably with those provided by the system. See A class analysis of DSP system design.