## Archive for the ‘**DSP**’ Category

## Fast Digital Sine Oscillator

I originally intended this blog to be about math and digital signal processing as well and not just about C++. Since I recently answered a programming forum question regarding efficient generation of sine waves and took the time to code one in — surprize — C++, I thought to myself, why not sharing the code along with explanations about how it works.

If you’re interested in software synthesizers in general or generating digital representations of DTMF tones and don’t want to waste many CPU cycles when generating sine waves, keep on reading.

## Optimal Integer Linear Prediction Coefficients

Most lossless audio codecs make use of linear prediction as a means to decorrelate signals. Since encoder and decoder need to work with the same set of prediction coefficients they either have to be chosen by the encoder and included in the compressed data stream before they are used (*forward adaptive*) or there must be a deterministic algorithm to compute these coefficients based on previous data (*backward adaptive*). FLAC and TAK are two examples of codecs that use *forward adaptive* linear prediction. This is the case I’m dealing with in this article.