2024-08-02 00:04:37 +03:00
|
|
|
#[allow(non_snake_case)]
|
2024-04-19 00:30:51 +03:00
|
|
|
pub fn reactive_resistance_of_capacitor(Cm: f64, L: f64, f: f64) -> f64 {
|
2024-08-02 23:01:58 +03:00
|
|
|
if f == 0.0 || Cm == 0.0 || L == 0.0 {
|
|
|
|
0.0
|
|
|
|
} else {
|
|
|
|
1f64 / (2f64 * std::f64::consts::PI * f * Cm * L)
|
|
|
|
}
|
2024-04-19 00:30:51 +03:00
|
|
|
}
|
|
|
|
|
2024-08-02 00:04:37 +03:00
|
|
|
#[allow(non_snake_case)]
|
2024-04-19 00:30:51 +03:00
|
|
|
pub fn full_resistance_of_capacitor(Xc: f64, Rs: f64, Rm: f64, L: f64) -> f64 {
|
|
|
|
(Xc.powf(2f64) + (Rs + Rm * L).powf(2f64)).sqrt()
|
|
|
|
}
|
|
|
|
|
2024-08-02 00:04:37 +03:00
|
|
|
#[allow(non_snake_case)]
|
2024-04-19 00:30:51 +03:00
|
|
|
pub fn voltage_from_signal_source(Vs: f64, Xc: f64, Z: f64) -> f64 {
|
2024-08-02 23:01:58 +03:00
|
|
|
if Z == 0.0 {
|
|
|
|
0.0
|
|
|
|
} else {
|
|
|
|
(Vs * Xc) / Z
|
|
|
|
}
|
2024-04-19 00:30:51 +03:00
|
|
|
}
|
|
|
|
|
2024-08-02 00:04:37 +03:00
|
|
|
#[allow(non_snake_case)]
|
2024-04-19 00:30:51 +03:00
|
|
|
pub fn coef_of_signal_reduce(Vs: f64, V: f64) -> f64 {
|
2024-08-02 23:01:58 +03:00
|
|
|
if V == 0.0 {
|
|
|
|
0.0
|
|
|
|
} else {
|
|
|
|
Vs / V
|
|
|
|
}
|
2024-04-19 00:30:51 +03:00
|
|
|
}
|