//-------------------------------------------------------// // Project Code : CodeLibrary // File Name : SogiFll1ph.h // Created on : 2023. 7. 13. // Description : // Author : "Kim JeongWoo" // Last modified Date : //-------------------------------------------------------// #ifndef PLL_SOGIFLL1PH_H_ #define PLL_SOGIFLL1PH_H_ #ifdef __cplusplus extern "C" { #endif //*********** Structure Definition ********// struct sOsgCoef { float k; float x; float y; float b0; float b2; float a1; float a2; float qb0; float qb1; float qb2; }; //PI제어기를 필터형태로 구현한 것 struct sOsgLpfCoef { float b1; float b0; float a1; }; struct sSogiFll1ph { float *pVac; float *pIac; float Vs_U[3]; // Ac Input float Vs_Osg_U[3]; float Vs_Osg_Qu[3]; float Vs_u_Q[2]; float Vs_u_D[2]; float Is_U[3]; // Ac Input float Is_Osg_U[3]; float Is_Osg_Qu[3]; float Is_u_Q[2]; float Is_u_D[2]; float Vs_ylf[2]; float Is_ylf[2]; float FreqOut; // output frequency of PLL float FreqRate; //nominal frequency float Theta; float CosTheta; float SinTheta; float Tsamp; float x3[2]; float ef2; float WeHat; float WeRate; float SettlingTime; // ms float DampingRatio; float ErrBand; float Wn; float Ti; float Kp; float Ki; float VacPeakMax; sOsgCoef Osg; sOsgLpfCoef Lpf; void Init(float mFreqRate, float mTsamp, float mVacPeakMax, float *pVac, float *pIac); void Run(void); void CoefUpdate(float mWe); void LpfCoefUpdate(); }; #ifdef __cplusplus } #endif /* extern "C" */ #endif /* COMMON_RESOURCE_CODELIBRARY_PLL_SOGIFLL1PH_H_ */