3 unstable releases

0.2.1 Jan 29, 2024
0.2.0 Jan 19, 2024
0.1.0 Jan 14, 2024

#673 in Embedded development

Download history 1/week @ 2024-07-28 18/week @ 2024-09-22 43/week @ 2024-09-29 3/week @ 2024-10-06

64 downloads per month

MIT/Apache

135KB
112 lines

SOGI-PLL


docs.rs Crates.io

Crates.io


Demo

Pure Sine Wave

SOGI-PLL With A Pure Sine Wave

Distorted Sine Wave

SOGI-PLL With A Distorted Sine Wave


You can find the code used to generate these images in the examples folder.


lib.rs:

SOGI-PLL implementation

Based on: https://ieeexplore.ieee.org/document/1711988

Usage:

let mut pll = SogiPll::new(config);

// Call .update every sample_time s
let result = pll.update(measured_voltage);

Recommended parameters:

sogi_k: 1.0
pi_proportional_gain: 178.0,
pi_integral_gain: 0.0001
sample_rate > 1000Hz

K, Kp, Ki for 50Hz taken from here

Dependencies

~220KB