This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F28379S: SFRA Open Loop Measurements

Part Number: TMS320F28379S
Other Parts Discussed in Thread: SFRA, POWERSUITE

Dear experts,

currently my customer is working with the example Buck_VCM_F2837xS to analyze the plant with the aid of SFRA. He understands the measurement of the plant frequency response. He determines the Closed Loop System in respect to the measured values.

How to calculate for the open loop system?

In his opinion an open loop system (controller, plant and measuring block) can only be calculated by knowing the transfer function of the measuring device.

What is the transfer function of the measuring device (e.g. concerning transfer delays)?
Or do we apply some approximation of the measuring device (ADC) and only use gain for the calculation (Volt to discrete)?

Some more questions.

How to increase the number of the analyzing frequencies? Background: It seems that there is limit at 300 measurement points, which is caused by memory size. Can you recommend some workaround here? Would it possible to reduce precision (32 floating point vs. 16 bit or similar)?

  • How to calculate for the open loop system?

    In his opinion an open loop system (controller, plant and measuring block) can only be calculated by knowing the transfer function of the measuring device.

    What is the transfer function of the measuring device (e.g. concerning transfer delays)?
    Or do we apply some approximation of the measuring device (ADC) and only use gain for the calculation (Volt to discrete)?

    Because we measure the frequency response around the digital controller, all delays and gains i.e. PWM delay, ADC gains are accounted for in the SFRA measurement. There is no measuring block transfer function. There is no approximation applied, it is the measured data. 

    How to increase the number of the analyzing frequencies? Background: It seems that there is limit at 300 measurement points, which is caused by memory size. Can you recommend some workaround here? Would it possible to reduce precision (32 floating point vs. 16 bit or similar)?

    You will have to play with CMD file and adjust the buffers , the device has EMIF connection that can be used as well. Typically 100 point is good enough. What is the need for 300 points???  Reducing the size if not possible as it is 32 bit floating point. 

  • Hello,

    this is the custumer.

    I'm interested in the procedure of the SFRA.

    When i execute the SFRA during the Closed Loop, the measured data is Vout (or the equivalent digital value) and the modulated reference signal. In my opinion I get from these data the closed loop transfer function and not the open loop transfer function, because the system is working in closed loop.

    Is that right?

    My Question is, how do you calculate the open loop transfer function from the closed loop transfer function.

    Edit:

    I guess you define the open loop different. In my consideration the open loop includes three parts, the compensator, the plant and the measurement block.

    The compensator gets the reference value and the measured value und returns the duty cycle. The plant gets the duty cycle and returns the output voltage. And the measurement block gets the output voltage and returns the measured value (digital).

    It seems you define only two blocks, the compensator and the plant. Your plant combines my plant and my measurement block in series. 

    The plant measurement in open loop reinforces my impression, because the measured transfer function includes the voltage divider and the ADC conversion.

    So I guess we have different control variable. (real Output voltage (0V-9V) vs. digital measured value (0-1) )

    Best regards

    Dominik Moss

  • Hello,

    I guess I understand the behavior.

    Lets assume we have an closed loop system with the transfer function of the compensator G_c , of the plant G_p and of the measurement G_m. Y iis the output voltage , M is the measured value and R is the reference value. Then:
    Y = (R-Y*G_m)*G_c*G_p

    So the SFRA is only measuring R and M:
    M/G_m=(R-M)*G_c*G_p
    - > M/R = G_c*G_p*G_m/(1+ G_c*G_p*G_m)
    This was my first conclusion and I wasnt sure how you calculate the open loop transfer function

    But now I think it is much easier:
    -> M/(R-M) = G_c*G_p*G_m

    Is this the way you calculate the transfer function?


    Best regards

    Dominik Moss
  • Dominik,

    My apologies for the delay in responding. Manish has been out of the office all of Nov and your follow-up was missed. I will check with the other team members and see if someone can help you before Manish returns on December 1st.

    Regards
    Lori
  • Our apologies for the delayed response.

    User starts with a digital controller G_c. The initial coefficients for G_c comes from the Compensation Designer GUI inside PowerSUITE tool. With that initial G_c when we take SFRA measurement we know R and M.

    Then the measured plant transfer function (including the sensing gain ) is, G_p_meas = G_p*G_m = (M/(R-M))/G_c .

    This is saved as measured plant data. User now can use this and retune G_c to optimize the loop performance and get the exact values of BW, PM and GM.

    Shamim
  • Dominik,

    yes we do some rearrangement on measured variables to extract out the OL transfer function, there is no need to break the loop necesarrily for it, we can use mathematical re-arrangement to extract it as you have outlined.

    regards
    Manish