circle_limitation.c 329 B

12345678910111213
  1. #include "circle_limitation.h"
  2. void CirCle_Limitation_Process(dq_t *inout_vdq, float in_vbus, float svm_ration){
  3. float svd = SQ(inout_vdq->Vd);
  4. float svq = SQ(inout_vdq->Vq);
  5. float svBus = SQ(in_vbus*svm_ration);
  6. if (svd + svq > svBus) {
  7. float r = sqrtf(svBus/(svd+svq));
  8. inout_vdq->Vd *= r;
  9. inout_vdq->Vq *= r;
  10. }
  11. }