Jussi Pekonen and Martin Holters

Nonlinear-Phase Basis Functions in Quasi-Bandlimited Oscillator Algorithms

in Proceedings of the 15th International Conference on Digital Audio Effects (DAFx-12), pp. 261–268, York, UK, September 17–21, 2012.

Paper (local copy) (PDF, 293 KiB) | Presentation slides (PDF, 751 KiB)

Abstract

Virtual analog synthesis requires bandlimited source signal algorithms. An efficient methodology for the task expresses the traditionally used source waveforms or their time-derivatives as a sequence of bandlimited impulses or step functions. Approximations of the ideal bandlimited functions used in these quasi-bandlimited oscillator algorithms are typically linear-phase functions. In this paper, a general nonlinear-phase approach to the task is proposed. The discussed technique transforms an analog prototype filter to a digital filter using a modified impulse invariance transformation method that enables the impulse response to be sampled with arbitrary sub-sample shifts. The resulting digital filter is a set of parallel first- and/or second-order filters that are excited with short burst-like signals that depend on the offset of the waveform discontinuities. The discussed approach is exemplified with a number of design cases, illustrating different trade-offs between good alias reduction and low computational cost.

Citation: BibTeX | RIS | EndNote


Code examples

Implementations of the examples presented in the paper are given below. For further instructions on the use of each implementation, please refer to the files found in the respective archives.

If you have an alternative implementation, please contact the authors via email. The email addresses can be found from the paper.

Matlab / Octave

Tested on Matlab 2010b. The code may require some changes to work on Octave.

LV2


Sound examples

In all following sound examples the sampling frequency is 44.1 kHz. The different time-varying examples are referred as high-quality (seventh-order elliptic), middle-quality (fifth-order elliptic), and low-quality (third-order butterworth) implementations as presented in the paper. The polynomial approximations of the excitation signals are used.

Single tones

All files are 86 KiB big.

Impulse trains
Fundamental frequency (Hz)
Method 440 1174 3135
Time-invariant wav wav wav
Low quality wav wav wav
Middle quality wav wav wav
High quality wav wav wav

Rectangular pulse waves, duty cycle 25%
Fundamental frequency (Hz)
Method 440 1174 3135
Trivial wav wav wav
Time-invariant wav wav wav
Low quality wav wav wav
Middle quality wav wav wav
High quality wav wav wav

Song excerpt

Theme song from the TV series MacGyver.

The excerpt contains five tracks, three of which use rectangular pulse wave (two having pulse width 50% and one having pulse width 33%) while the remaining two use impulse trains. The middle-quality implementation with the polynomial approximation of the excitation signals is used.