pulseTrain static method

Float32List pulseTrain({
  1. required int n,
  2. required double freqHz,
  3. required double sampleRate,
  4. double amplitude = 1.0,
  5. double dutyCycle = 0.5,
})

Implementation

static Float32List pulseTrain({
  required int n,
  required double freqHz,
  required double sampleRate,
  double amplitude = 1.0,
  double dutyCycle = 0.5, // 0..1
}) {
  final out = Float32List(n);
  final period = sampleRate / freqHz;

  for (int i = 0; i < n; i++) {
    final phase = (i % period) / period;
    out[i] = phase < dutyCycle ? amplitude : 0.0;
  }
  return out;
}