Context:
I'm investigating using a DPLL to track input from a microphone. The mic will be capturing the output of a flute-like instrument. I'm trying to figure out how to configure the DPLL to track the mic input and I'm turning here for help.
Details:
I've implemented something like this:
... but I'm not having much luck in getting it to track, let alone lock, even when given a pure input sine wave. I'm hoping to configure it to capture and track tones from 261 Hz (C4) to 523 Hz (C5).
Note that I'm passing both the mic and the DCO output through a signum function, which outputs [-1, 0, +1] depending on the sign of the input. This is mostly so I don't have to worry about gain control on the mic output. The DCO takes a frequency input (in Hz) and outputs a sine wave. I've set f0 to 261 Hz (the bottom end of my target range).
I may be asking the wrong questions but:
- How do I determine the right value for the loop gain?
- I'm using a biquad filter in LPF configuration. Is this acceptable?
- If so, how do I determine the right cutoff frequency for the low-pass filter?
- What else should I know or try?