【问题标题】:Generate a square waveform in C?用C生成方波?
【发布时间】:2009-11-12 13:13:55
【问题描述】:

如何使用C语言生成具有不同占空比的高效方波?

【问题讨论】:

  • 期望的输出是什么? (音频?图形?其他文件?)
  • 期望的 o/p 是在你的窗口上显示一个方波 wrt 不同的占空比...它是我期待的 pwm o/p...
  • o/p 是输出,但是什么是 pwm?

标签: c waveform


【解决方案1】:

选择您的输出格式。无头 PCM 可能是最好的开始。选择您的输出格式 - 比如 44 KHz 的 16 位立体声。选择你的字节序。编写一段代码,将 1 秒的数据发送到文件逻辑 0;然后为一秒钟的数据发出逻辑 65535。重复。

该文件包含您的波形。

【讨论】:

  • 或者你的意思是视频波形?
  • 这听起来好像没有解决“变化的占空比”的要求。
  • 嗯,重复的“1 秒数据”就是占空比。好消息是音频可以很好地压缩。
  • 他的意思是说它应该在多任务环境中输出这个Live(直接到声卡)吗?因为这将是一个不那么微不足道的问题
【解决方案2】:

令 N 为周期长度(1 / 频率)。 N 是一些小量子的计数,例如时钟滴答声。令 D 为在 N 的每个周期内输出高的量子量。算法很简单:

loop indefinitely:
  for D ticks:
    output 1
  for N - D ticks:
    output 0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多