1. A method for generating a set of data points that form a triangular wave having a desired frequency and a desired gain, the method comprising: determining a phase increment based upon the desired frequency of the triangular wave; adding the phase increment to a current phase data point to generate a next phase data point; determining an increment value based upon the next phase data point, the desired frequency, and the desired gain of the triangular wave; adding the increment value to a current data point to generate a next data point, the current data point and the next data point forming a subset of the set of data points.