为什么频率不断降低的波开始增加其频率超过其长度的一半?

信息处理 频率 海浪
2021-12-29 01:19:40

我正在尝试以编程方式生成频率不断降低的波(正弦波或方波)。为此,我只需将起始频率乘以一个递减值,该值从 1 线性变为 0,在给定时间跨度的中间步骤。我很困惑地看到(和听到),恰好在时间跨度的一半,频率再次开始增加。我检查了频率值,但一切正常。我只能使用波浪的前“一半”,但很高兴了解我正在经历的事情。任何帮助表示赞赏!谢谢

1个回答

确保您的频率不会达到低于 0 或高于一半采样率的值。

请发布有关如何生成波形的更多信息/代码!您可能没有正确执行此操作。

例如,如果要生成频率随时间变化的正弦波f(t)(例如实现频率调制),生成类似:

y(t)=sin(2πtf(t))

是错误的,因为你的瞬时频率是:

fi(t)=12πdϕ(t)dt

和:

12πd2πtf(t)dtf(t)

除非在特定情况下f(t)是一个常数。

生成具有时变频率的正弦波的正确方法f(t)因此是:

y(t)=sin(2π0tf(τ)dτ)

在合成器中,寄存器/变量累积瞬时频率以评估0tf(τ)dτ量称为相位累加器。

http://en.wikipedia.org/wiki/Frequency_modulation

http://en.wikipedia.org/wiki/Instantaneous_phase