| eDSP
    0.0.1
    A cross-platform DSP library written in C++. | 
The class square_oscillator generates a square signal. More...
#include <square.hpp>
 
  
 | Public Types | |
| using | value_type = T | 
|  Public Types inherited from edsp::oscillators::oscillator< T > | |
| using | value_type = T | 
| Public Member Functions | |
| constexpr | square_oscillator (value_type amplitude, value_type samplerate, value_type frequency, value_type duty) noexcept | 
| Creates a square oscillator that generates a waveform with the configuration.  More... | |
| constexpr value_type | operator() () | 
| Generates one step.  More... | |
| constexpr void | set_duty (value_type duty) noexcept | 
| Set the duty cycle of the oscillator.  More... | |
| constexpr value_type | duty () const noexcept | 
| Returns the current duty cycle.  More... | |
|  Public Member Functions inherited from edsp::oscillators::oscillator< T > | |
| constexpr | oscillator (value_type amplitude, value_type samplerate, value_type frequency, value_type phase) noexcept | 
| Creates an oscillator that generates a waveform with the configuration.  More... | |
| constexpr value_type | frequency () const noexcept | 
| Returns the fundamental frequency in Hz.  More... | |
| constexpr void | set_frequency (value_type frequency) noexcept | 
| Sets the fundamental frequency of the periodic signal.  More... | |
| constexpr value_type | phase () const noexcept | 
| Returns the phase shift in radians.  More... | |
| constexpr void | set_phase (value_type phase) noexcept | 
| Sets the phase shift of the periodic signal.  More... | |
| constexpr value_type | timestamp () const noexcept | 
| Returns the current timestamp of the signal in seconds.  More... | |
| constexpr void | set_timestamp (value_type timestamp) noexcept | 
| Sets the current timestamp of the periodic signal.  More... | |
| constexpr value_type | samplerate () const noexcept | 
| Returns the sampling frequency in Hz.  More... | |
| constexpr void | set_samplerate (value_type samplerate) noexcept | 
| Sets the sampling frequency.  More... | |
| constexpr value_type | sampling_period () const noexcept | 
| Returns the sampling period in secs.  More... | |
| constexpr value_type | amplitude () const noexcept | 
| Returns the amplitude of the periodic signal.  More... | |
| constexpr void | set_amplitude (value_type amplitude) noexcept | 
| Set the amplitude of the periodic signal.  More... | |
| constexpr void | reset () noexcept | 
| Reset the oscillator to the original state.  More... | |
The class square_oscillator generates a square signal.
The square wave can be constructed from straight line segments. The square waves contain a wide range of harmonics. It can be defined as simply the sign function of a sinusoid:
\[ {\displaystyle {\begin{aligned}x(t)&={sgn} \left(\sin {\frac {t}{T}}\right)={sgn}(\sin ft)\\v(t)&={sgn} \left(\cos {\frac {t}{T}}\right)={sgn}(\cos ft),\end{aligned}}} \]
which will be 1 when the sinusoid is positive, −1 when the sinusoid is negative, and 0 at the discontinuities. Here, T is the period of the square wave, or equivalently, f is its frequency, where f = 1/T.
| using edsp::oscillators::square_oscillator< T >::value_type = T | 
| 
 | noexcept | 
Creates a square oscillator that generates a waveform with the configuration.
| amplitude | Amplitude of the waveform. | 
| samplerate | The sampling frequency in Hz. | 
| frequency | The fundamental frequency of the signal (also known as pitch). | 
| duty | Duty factor, numeric value from [0,1] | 
| 
 | noexcept | 
Returns the current duty cycle.
| constexpr square_oscillator< T >::value_type edsp::oscillators::square_oscillator< T >::operator() | ( | ) | 
Generates one step.
| 
 | noexcept | 
Set the duty cycle of the oscillator.
The duty cycle is the fraction of one period in which a signal or system is active. In this case a signal is active when the output is 1.
| duty | Numeric value representing the duty cycle [0, 1] | 
 1.8.13
 1.8.13