alcina
1
hello,
the function of advance_loop and update_gain is defined as follow
in gri_control_loop.cc
void gri_control_loop::update_gains()
{
float denom = (1.0 + 2.0d_dampingd_loop_bw + d_loop_bwd_loop_bw);
d_alpha = (4d_dampingd_loop_bw) / denom;
d_beta = (4d_loop_bw*d_loop_bw) / denom;
}
void gri_control_loop::advance_loop(float error)
{
d_freq = d_freq + d_beta * error;
d_phase = d_phase + d_freq + d_alpha * error;
}
Is there any paper explains why the d_freq and d_phase is calculated in
such equation?
Thanks
adream
2
On Thu, Jun 13, 2013 at 8:02 AM, adream [email protected] wrote:
void gri_control_loop::advance_loop(float error)
{
d_freq = d_freq + d_beta * error;
d_phase = d_phase + d_freq + d_alpha * error;
}
Is there any paper explains why the d_freq and d_phase is calculated in such
equation?
Thanks
It’s just the classic second order control loop:
You can probably also get this from Gardner’s book(s).
Tom