Генерация прямоугольной формы в C? - PullRequest
1 голос
/ 12 ноября 2009

Как создать эффективный прямоугольный сигнал с переменным рабочим циклом с использованием языка Си?

Ответы [ 2 ]

1 голос
/ 12 ноября 2009

Позвольте N быть длиной цикла (1 / частота). N - счетчик некоторых небольших квантов, таких как такты часов. Пусть D будет количеством квантов, выход которых высок в течение каждого цикла N. Алгоритм тривиален:

loop indefinitely:
  for D ticks:
    output 1
  for N - D ticks:
    output 0
1 голос
/ 12 ноября 2009

Выберите выходной формат. PCM без заголовка, вероятно, лучше всего начать с. Выберите выходной формат - скажем, 16-битное стерео на 44 кГц. Выберите свой порядок байтов. Напишите немного кода, который отправляет в файл логический 0 для данных за 1 секунду; затем испускает логические 65535 для данных за одну секунду. Повторите.

Этот файл содержит вашу форму волны.

...