-
Notifications
You must be signed in to change notification settings - Fork 2
Considerations for DSP system design
Colin Clark edited this page Dec 28, 2023
·
5 revisions
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.