Like a square wave, the triangle wave contains only odd harmonics. However, the higher harmonics roll off much faster than in a square wave (proportional to the inverse square of the harmonic number as opposed to just the inverse).
It is possible to approximate a triangle wave with additive synthesis by summing odd harmonics of the fundamental while multiplying every other odd harmonic by −1 (or, equivalently, changing its phase by π) and multiplying the amplitude of the harmonics by one over the square of their mode number, n, (which is equivalent to one over the square of their relative frequency to the fundamental).
The above can be summarised mathematically as follows:
where N is the number of harmonics to include in the approximation, t is the independent variable (e.g. time for sound waves), and i is the harmonic label which is related to its mode number by .
This infinite Fourier series converges to the triangle wave as N tends to infinity, as shown in the animation.
Another definition of the triangle wave, with range from -1 to 1 and period is:
where the symbol is the floor function of n.
Also, the triangle wave can be the absolute value of the sawtooth wave:
or, for a range from -1 to +1:
The triangle wave can also be expressed as the integral of the square wave:
Here is a simple equation with a period of 4 and initial value :
As this only uses the modulo operation and absolute value, this can be used to simply implement a triangle wave on hardware electronics with less CPU power. The previous equation can be generalized for a period of amplitude and initial value :
The former function is a specialization of the latter for a=2 and p=4:
An odd version of the first function can be made, just shifting by one the input value, which will change the phase of the original function:
Generalizing this to make the function odd for any period and amplitude gives:
In terms of sine and arcsine with period p and amplitude a:
The arc length per period "s" for a triangle wave, given the amplitude "a" and period length "p":