对应原文第6-8章。
SFRA库附带了一个软件测试台(STB)示例,该示例围绕一个由比例积分控制器组成的虚拟回路运行SFRA,具有由SFRA采样特性产生的固有的数字更新延迟,如图17所示。
要导入STB项目:
注意:STB示例可以使用单精度浮点库或运行具有TMU的单精度浮点库,导入项目时可以进行选择。
执行以下步骤将SFRA集成到项目中:
//------- SFRA Related Variables --------
float plantMagVect[SFRA_FREQ_LENGTH];
float plantPhaseVect[SFRA_FREQ_LENGTH];
float olMagVect[SFRA_FREQ_LENGTH];
float olPhaseVect[SFRA_FREQ_LENGTH];
float freqVect[SFRA_FREQ_LENGTH];
//SFRA Options
#define SFRA_NONE 0
#define SFRA_CURRENT 1
#define SFRA_VOLTAGE 2
#define SFRA_TYPE SFRA_NONE
......
#if SFRA_TYPE == SFRA_VOLTAGE
gv_out=GV_RUN(&gv, SFRA_F32_inject(vBusRefSlewed), vBus_sensed);
#else
gv_out=GV_RUN(&gv, vBusRefSlewed,vBus_sensed);
#endif
#if SFRA_TYPE == SFRA_VOLTAGE
SFRA_F32_collect(&gv_out,&vBus_sensedFiltered_notch2);
#endif