Triangle wave

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
A bandlimited triangle wave pictured in the time domain (top) and frequency domain (bottom). The fundamental is at 220 Hz (A3).

A triangle wave is a non-sinusoidal waveform named for its triangular shape. It is a periodic, piecewise linear, continuous real function.

Like a square wave, the triangle wave contains only odd harmonics, demonstrating odd symmetry. 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).

Harmonics

File:Synthesis triangle.gif
Animation of the additive synthesis of a triangle wave with an increasing number of harmonics. See Fourier Analysis for a mathematical description.

It is possible to approximate a triangle wave with additive synthesis by adding odd harmonics of the fundamental, multiplying every (4n−1)th harmonic by −1 (or changing its phase by π), and rolling off the harmonics by the inverse square of their relative frequency to the fundamental.

This infinite Fourier series converges to the triangle wave with cycle frequency f over time t:

\begin{align}
x_\mathrm{triangle}(t) & {} = \frac {8}{\pi^2} \sum_{k=0}^\infty (-1)^k \, \frac{ \sin \left( 2\pi(2k+1) ft \right)}{(2k+1)^2} \\
                       & {} = \frac{8}{\pi^2} \left( \sin (2\pi ft)-{1 \over 9} \sin (6\pi ft)+{1 \over 25} \sin (10\pi ft) - \cdots \right)
\end{align}


Definitions

Sine, square, triangle, and sawtooth waveforms

Another definition of the triangle wave, with range from -1 to 1 and period 2a is:

 x(t)=\frac{2}{a} \left (t-a \left \lfloor\frac{t}{a}+\frac{1}{2} \right \rfloor \right )(-1)^\left \lfloor\frac{t}{a}+\frac{1}{2} \right \rfloor
where the symbol \scriptstyle \lfloor n \rfloor represent the floor function of n.

Also, the triangle wave can be the absolute value of the sawtooth wave:

 x(t)= \left | 2 \left ( {t \over a} - \left \lfloor {t \over a} + {1 \over 2} \right \rfloor \right) \right |

or, for a range from -1 to +1:

 x(t)= 2 \left | 2 \left ( {t \over a} - \left \lfloor {t \over a} + {1 \over 2} \right \rfloor \right) \right | - 1

The triangle wave can also be expressed as the integral of the square wave:

\int\sgn(\sin(x))\,dx\,

A simple equation with a period of 4, with y(0) = 1. 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:

y(x) = |x\,\bmod\,4 - 2|-1  ::(1)

or, a more complex and complete version of the above equation with a period of "p", amplitude "a", and starting with y(0) = 0:

y(x) = \frac{4a}{p} \Biggl( \biggl | \left( x \bmod p \right) - \frac{p}{2}\biggr | - \frac{p}{4} \Biggr)  ::(2)

The function (1) is a specialization of (2), with a=1 and p=4:

y(x) = \frac{4 \times 1}{4} \Biggl( \biggl | \left( x \bmod 4 \right) - \frac{4}{2}\biggr | - \frac{4}{4} \Biggr)\Leftrightarrow

y(x) = \Biggl( \biggl | \left( x \bmod 4 \right) - 2 \biggr | - 1 \Biggr)


We can make an odd version of the function (1), just shifting by one the input value, which will change the phase of the original function:

y(x) = |(x-1)\,\bmod\,4 - 2|-1  ::(3)

Generalizing the formula (3) to make the function odd for any period and amplitude, we get:

y(x) = \frac{4a}{p} \Biggl( \biggl | \left( (x - \frac{p}{4}) \bmod p \right) - \frac{p}{2}\biggr | - \frac{p}{4} \Biggr)

In terms of sine and arcsine with period p and amplitude a:

y(x) = \frac{2a}{\pi}\arcsin\left(\sin\left(\frac{2\pi}{p}x\right)\right)

Arc Length

The arc length per period "s" for a triangle wave, given the amplitude "a" and period length "p":

s = \sqrt{(4a)^2 + p^2}

See also

References