我会将其发布到堆栈溢出,但在我看来,它更像是一个信号和系统问题,EE 正在蓬勃发展。
我需要一个用软件实现的实时系统,它可以生成与输入信号频率匹配但相位滞后为 90 度的正弦曲线。输入信号将是纯音,但会随着时间的推移在频率(0.4 至 0.8hz)上有所漂移。最终,我希望输出幅度也与输入幅度成比例,但那是另一天的事了。我的目标是能够响应输入信号的变化,使我在大约 10-15 秒(几个输入信号周期)内的相位误差低于 5%。
我的第一次尝试是使用希尔伯特变压器 FIR 滤波器为我提供输入信号(100hz 采样率)和输出之间的“瞬时”相对相位,然后使用设定点 =-90 的 PI 控制器来驱动频率f_out
为output_signal = math.sin(2*math.pi*f_out*t)
. 我的希尔伯特变压器 FIR 有 2.5 秒的延迟,而死区时间似乎阻止了我在没有不稳定的情况下获得任何类型的 P 常数。
我目前正在深入研究锁相环(我是新手),但我还不清楚这是否是正确的树。
我将不胜感激任何方式的指导/建议。