RC并联后原理性介绍,可以参考此原文链接:
1、通过并联的R/C求阻抗、角度:
/********************************************************
* function:RC并联计算阻抗、相位
* parameter:frq -- 测试频点
* Cp -- RC的Cp值(uF)
* Rp -- RC的Rp值(Ω)
* impedence -- 阻抗
* phase -- 角度
* return:void
* date:2022.3.26
* note:
* ******************************************************/
void Calculate_Cp_Rp2(float frq,double Cp,double Rp,float *impedence,float *phase)
{
double w = 0.0,pi = 3.14159265,Real = 0.0,Imag = 0.0;
Cp /= 1000000.0;
w = 2.0 * pi * frq;
Real = Rp / (1.0 + pow((w * Rp * Cp),2));
Imag = (w * pow(Rp,2) * Cp) / (1.0 + pow((w * Rp * Cp),2));
*phase = -atan(Imag / Real) / pi * 180.0;
*impedence = sqrt(pow(Real,2) + pow(Imag,2));
}
2、通过阻抗、角度反算R/C
/********************************************************
* function:RC并联计算Cp、Rp
* parameter:frq -- 测试频点
* impedence -- 测试阻抗
* phase -- 测试角度
* Cp -- 计算RC的Cp值(uF)
* Rp -- 计算RC的Rp值(Ω)
* return:void
* date:2022.3.26
* note:
* ******************************************************/
void Calculate_Cp_Rp(float frq,float impedence,float phase,double *Cp,double *Rp)
{
double w = 0.0,pi = 3.14159265;
w = 2.0 * pi * frq;
*Rp = impedence * sqrt(1.0 + pow(tan(phase / 180.0 * pi),2));
*Cp = -tan(phase / 180.0 * pi) / w / (*Rp) * 1000000.0;
}
实测:
常用电路模型:
RL并联:
/********************************************************
* function:RL并联计算Lp、Rp
* parameter:frq -- 测试频点
* impedence -- 测试阻抗
* phase -- 测试角度
* Lp -- 计算RL的Lp值(uH)
* Rp -- 计算RL的Rp值(Ω)
* return:void
* date:2022.4.7
* note:
* ******************************************************/
void Calculate_Lp_Rp(float frq,float impedence,float phase,double *Lp,double *Rp)
{
double pi = 3.14159265,w = 0.0;
w = 2.0 * pi * frq;
*Rp = impedence * sqrt(1.0 + pow(tan(phase /180.0 * pi),2));
*Lp = *Rp / (w * tan(phase / 180.0 * pi)) * 1000000.0;
}
/********************************************************
* function:RL并联计算阻抗、相位
* parameter:frq -- 测试频点
* Lp -- RL的Lp值(uH)
* Rp -- RL的Rp值(Ω)
* impedence -- 阻抗
* phase -- 角度
* return:void
* date:2022.4.7
* note:
* ******************************************************/
void Calculate_Lp_Rp2(float frq,double Lp,double Rp,float *impedence,float *phase)
{
double pi = 3.14159265,w = 0.0;
Lp /= 1000000.0;
w = 2.0 * pi * frq;
*impedence = Rp * w * Lp / sqrt(pow(Rp,2) + pow(w*Lp,2));
*phase = atan(Rp / (w * Lp)) / pi * 180.0;
}