Pulse wave#

type uz_wavegen_pulse_t#
float uz_wavegen_pulse_sample(uz_wavegen_pulse_t *self, float amplitude, float frequency_Hz, float duty_cycle)#

Returns one sample of a pulse wave (amplitude during duty, zero after).

Parameters:
  • self – Pointer to uz_wavegen_pulse instance

  • amplitude – Amplitude for the pulse wave

  • frequency_Hz – Frequency for the pulse wave in Hz. Only positive values are permitted

  • duty_cycle – Duty Cycle for the pulse wave. Only values 0.0 <= DutyCycle <= 1.0 are permitted

Returns:

Returns one sample for current system time

Example#

Listing 88 Example function call to pulse wave generator#
1#include "uz_wavegen.h"
2int main(void) {
3   float amplitude = 8.0f;
4   float frequency_Hz = 10.0f;
5   float duty_cycle = 0.5f;
6   uz_wavegen_pulse_t* pulse = uz_wavegen_pulse_init();
7   float output = uz_wavegen_pulse_sample(pulse, amplitude, frequency_Hz, duty_cycle);
8}

Description#

This function calculates a pulse wave. The phase is tracked in the wavegen instance and advanced on each sample call.

Figure made with TikZ

Fig. 336 pulse wave