diff --git a/.vscode/.server-controller-port.log b/.vscode/.server-controller-port.log index 1b5e341..76dbc1a 100644 --- a/.vscode/.server-controller-port.log +++ b/.vscode/.server-controller-port.log @@ -1,5 +1,5 @@ { "port": 13452, - "time": 1742742025054, + "time": 1742831052343, "version": "0.0.3" } \ No newline at end of file diff --git a/lib/filters.c b/lib/filters.c index 9391c31..3f3ebd6 100644 --- a/lib/filters.c +++ b/lib/filters.c @@ -20,7 +20,6 @@ void init_pll(PLL *pll, float freq, float loop_filter_bandwidth, float damping, pll->loop_filter_state = 0.0f; pll->kp = M_2PI * loop_filter_bandwidth; pll->ki = (4.0f*damping*damping) * pll->kp * pll->kp; - pll->last_output = 0.0f; pll->sample_rate = sample_rate; pll->quadrature_mode = quadrature_mode; } @@ -31,7 +30,7 @@ float apply_pll(PLL *pll, float ref_sample) { float vco_output = sinf(pll->phase); if (pll->quadrature_mode) vco_output = sinf(pll->phase + (M_PI / 2.0f)); - phase_error = ref_sample * pll->last_output; + phase_error = ref_sample * vco_output; pll->loop_filter_state += pll->ki * phase_error / pll->sample_rate; float loop_output = pll->loop_filter_state + pll->kp * phase_error; @@ -48,7 +47,5 @@ float apply_pll(PLL *pll, float ref_sample) { pll->phase += M_2PI; } - pll->last_output = vco_output; - return vco_output; } \ No newline at end of file diff --git a/lib/filters.h b/lib/filters.h index 2c80cae..3d7a128 100644 --- a/lib/filters.h +++ b/lib/filters.h @@ -22,7 +22,6 @@ typedef struct { float loop_filter_state; float kp; float ki; - float last_output; int sample_rate; int quadrature_mode; } PLL;