# Triangle wave

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/Triangle_wave
> Markdown URL: https://mediated.wiki/source/Triangle_wave.md
> Source: https://en.wikipedia.org/wiki/Triangle_wave
> Source revision: 1341482632
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

Non-sinusoidal waveform

Triangle wave A bandlimited triangle wave[1] pictured in the time domain (top) and frequency domain (bottom). The fundamental is at 220 Hz (A3). General information General definition x ( t ) = 4 | t − ⌊ t + 3 / 4 ⌋ + 1 / 4 | − 1 {\displaystyle x(t)=4\left\vert t-\left\lfloor t+3/4\right\rfloor +1/4\right\vert -1} Fields of application Electronics, synthesizers Domain, codomain and image Domain R {\displaystyle \mathbb {R} } Codomain [ − 1 , 1 ] {\displaystyle \left[-1,1\right]} Basic features Parity Odd Period 1 Specific features Root { n 2 } , n ∈ Z {\displaystyle \left\{{\tfrac {n}{2}}\right\},n\in \mathbb {Z} } Derivative Square wave Fourier series x ( t ) = − 8 π 2 ∑ k = 1 ∞ ( − 1 ) k ( 2 k − 1 ) 2 sin ⁡ ( 2 π ( 2 k − 1 ) t ) {\displaystyle x(t)=-{\frac {8}{{\pi }^{2}}}\sum _{k=1}^{\infty }{\frac {{\left(-1\right)}^{k}}{\left(2k-1\right)^{2}}}\sin \left(2\pi \left(2k-1\right)t\right)}

[Triangle wave sound sample](https://en.wikipedia.org/wiki/File:220_Hz_anti-aliased_triangle_wave.ogg)

5 seconds of triangle wave at 220 Hz

*Problems playing this file? See [media help](https://en.wikipedia.org/wiki/Help:Media).*

[Additive Triangle wave sound sample](https://en.wikipedia.org/wiki/File:Additive_220Hz_Triangle_Wave.wav)

After each second, a harmonic is added to a sine wave creating a triangle 220 Hz wave

*Problems playing this file? See [media help](https://en.wikipedia.org/wiki/Help:Media).*

A **triangular wave** or **triangle wave** is a [non-sinusoidal waveform](/source/Non-sinusoidal_waveform) named for its [triangular](/source/Triangle) shape. It is a [periodic](/source/Periodic_function), [piecewise linear](/source/Piecewise_linear_function), [continuous](/source/Continuous_function) [real function](/source/Function_of_a_real_variable).

Like a [square wave](/source/Square_wave_(waveform)), the triangle wave contains only odd [harmonics](/source/Harmonic). However, the higher harmonics [roll off](/source/Roll-off) much faster than in a square wave (proportional to the inverse square of the harmonic number as opposed to just the inverse).

## Definitions

[Sine](/source/Sine_wave), [square](/source/Square_wave_(waveform)), triangle, and [sawtooth](/source/Sawtooth_wave) waveforms

### Definition

A triangle wave of period *p* that spans the range [0, 1] is defined as x ( t ) = 2 | t p − ⌊ t p + 1 2 ⌋ | , {\displaystyle x(t)=2\left|{\frac {t}{p}}-\left\lfloor {\frac {t}{p}}+{\frac {1}{2}}\right\rfloor \right|,} where ⌊ ⌋ {\displaystyle \lfloor \ \rfloor } is the [floor function](/source/Floor_and_ceiling_functions). This can be seen to be the absolute value of a shifted [sawtooth wave](/source/Sawtooth_wave).

For a triangle wave spanning the range [−1, 1] the expression becomes x ( t ) = 2 | 2 ( t p − ⌊ t p + 1 2 ⌋ ) | − 1. {\displaystyle x(t)=2\left|2\left({\frac {t}{p}}-\left\lfloor {\frac {t}{p}}+{\frac {1}{2}}\right\rfloor \right)\right|-1.}

Triangle wave with amplitude = 5, period = 4

A more general equation for a triangle wave with amplitude a {\displaystyle a} and period p {\displaystyle p} using the [modulo operation](/source/Modulo_operation) and [absolute value](/source/Absolute_value) is y ( x ) = 4 a p | ( ( x − p 4 ) mod p ) − p 2 | − a . {\displaystyle y(x)={\frac {4a}{p}}\left|\left(\left(x-{\frac {p}{4}}\right){\bmod {p}}\right)-{\frac {p}{2}}\right|-a.}

For example, for a triangle wave with amplitude 5 and period 4: y ( x ) = 5 | ( ( x − 1 ) mod 4 ) − 2 | − 5. {\displaystyle y(x)=5\left|{\bigl (}(x-1){\bmod {4}}{\bigr )}-2\right|-5.}

A phase shift can be obtained by altering the value of the − p / 4 {\displaystyle -p/4} term, and the vertical offset can be adjusted by altering the value of the − a {\displaystyle -a} term.

As this only uses the modulo operation and absolute value, it can be used to simply implement a triangle wave on hardware electronics.

Note that in many programming languages, the % operator is a remainder operator (with result the same sign as the dividend), not a [modulo operator](/source/Modulo_operation#In_programming_languages); the modulo operation can be obtained by using ((x % p) + p) % p in place of x % p. In e.g. JavaScript, this results in an equation of the form 4*a/p * Math.abs((((x - p/4) % p) + p) % p - p/2) - a.

### Relation to the square wave

The triangle wave can also be expressed as the [integral](/source/Integral) of the [square wave](/source/Square_wave_(waveform)): x ( t ) = ∫ 0 t sgn ⁡ ( sin ⁡ 2 π u p ) d u . {\displaystyle x(t)=\int _{0}^{t}\operatorname {sgn} \left(\sin {\frac {2\pi u}{p}}\right)\,du.}

### Expression in trigonometric functions

A triangle wave with period *p* and amplitude *a* can be expressed in terms of [sine](/source/Sine) and [arcsine](/source/Arcsine) (whose value ranges from −*π*/2 to *π*/2): y ( x ) = 2 a π arcsin ⁡ ( sin ⁡ ( 2 π p x ) ) . {\displaystyle y(x)={\frac {2a}{\pi }}\arcsin \left(\sin \left({\frac {2\pi }{p}}x\right)\right).} The identity cos ⁡ x = sin ⁡ ( p 4 − x ) {\textstyle \cos {x}=\sin \left({\frac {p}{4}}-x\right)} can be used to convert from a triangle "sine" wave to a triangular "cosine" wave. This phase-shifted triangle wave can also be expressed with [cosine](/source/Cosine) and [arccosine](/source/Arccosine): y ( x ) = a − 2 a π arccos ⁡ ( cos ⁡ ( 2 π p x ) ) . {\displaystyle y(x)=a-{\frac {2a}{\pi }}\arccos \left(\cos \left({\frac {2\pi }{p}}x\right)\right).}

### Expressed as alternating linear functions

Another definition of the triangle wave, with range from −1 to 1 and period *p*, is x ( t ) = 4 p ( t − p 2 ⌊ 2 t p + 1 2 ⌋ ) ( − 1 ) ⌊ 2 t p + 1 2 ⌋ . {\displaystyle x(t)={\frac {4}{p}}\left(t-{\frac {p}{2}}\left\lfloor {\frac {2t}{p}}+{\frac {1}{2}}\right\rfloor \right)(-1)^{\left\lfloor {\frac {2t}{p}}+{\frac {1}{2}}\right\rfloor }.}

### Harmonics

Animation of the additive synthesis of a triangle wave with an increasing number of harmonics. See [Fourier Analysis](/source/Fourier_Transform) for a mathematical description.

It is possible to approximate a triangle wave with [additive synthesis](/source/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](/source/Fundamental_frequency)).

The above can be summarised mathematically as follows: x triangle ( t ) = 8 π 2 ∑ i = 0 N − 1 ( − 1 ) i n 2 sin ⁡ ( 2 π f 0 n t ) , {\displaystyle x_{\text{triangle}}(t)={\frac {8}{\pi ^{2}}}\sum _{i=0}^{N-1}{\frac {(-1)^{i}}{n^{2}}}\sin(2\pi f_{0}nt),} where N is the number of harmonics to include in the approximation, t is the independent variable (e.g. time for sound waves), f 0 {\displaystyle f_{0}} is the fundamental frequency, and i is the harmonic label which is related to its mode number by n = 2 i + 1 {\displaystyle n=2i+1} .

This infinite [Fourier series](/source/Fourier_series) converges quickly to the triangle wave as N tends to infinity, as shown in the animation.

## Arc length

The [arc length](/source/Arc_length) per period for a triangle wave, denoted by *s*, is given in terms of the amplitude *a* and period length *p* by s = ( 4 a ) 2 + p 2 . {\displaystyle s={\sqrt {(4a)^{2}+p^{2}}}.}

## See also

- [List of periodic functions](/source/List_of_periodic_functions)

- [Sine wave](/source/Sine_wave)

- [Square wave](/source/Square_wave_(waveform))

- [Sawtooth wave](/source/Sawtooth_wave)

- [Pulse wave](/source/Pulse_wave)

- [Sound](/source/Sound)

- [Triangle function](/source/Triangle_function)

- [Wave](/source/Wave)

- [Zigzag](/source/Zigzag)

## References

1. **[^](#cite_ref-bandlimited-synthesis_1-0)** Kraft, Sebastian; Zölzer, Udo (5 September 2017). "LP-BLIT: Bandlimited Impulse Train Synthesis of Lowpass-filtered Waveforms". *Proceedings of the 20th International Conference on Digital Audio Effects (DAFx-17)*. [20th International Conference on Digital Audio Effects (DAFx-17)](http://www.dafx17.eca.ed.ac.uk/). Edinburgh. pp. 255–259.

- [Weisstein, Eric W.](/source/Eric_W._Weisstein) ["Fourier Series - Triangle Wave"](https://mathworld.wolfram.com/FourierSeriesTriangleWave.html). *[MathWorld](/source/MathWorld)*.

v t e Waveforms Sine wave Non-sinusoidal Rectangular wave Sawtooth wave Square wave Triangle wave

---
Adapted from the Wikipedia article [Triangle wave](https://en.wikipedia.org/wiki/Triangle_wave) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/Triangle_wave?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
