Identification of Photovoltaic Inverter Current Loop Control Parameters Using Fault and Recovery Characteristics

The increasing integration of grid-following photovoltaic (PV) power sources into modern power systems necessitates a precise understanding of their dynamic behavior, particularly during grid disturbances. The fault current characteristics of a grid-connected solar inverter are predominantly governed by the parameters of its inner current control loop. Accurate knowledge of these parameters—namely the proportional gain \(k_p\) and the integral gain \(k_i\)—is therefore fundamental for performing reliable short-circuit analysis, setting protective relays, and ensuring system stability. However, manufacturers often withhold these precise control parameters due to technical confidentiality, creating a significant gap between simulation models and actual field performance. This necessitates the development of effective methods to identify these critical solar inverter control parameters from measurable system responses.

Existing parameter identification methods can be broadly categorized into two groups: rank-augmentation methods and order-reduction methods. The former, such as injecting specific time-domain or frequency-domain perturbation signals, increase the number of independent equations to solve for the unknown parameters. While effective, these methods often require additional hardware or specific operating conditions not readily available in standard field measurements. Order-reduction methods, on the other hand, simplify the problem by reducing the number of parameters to be identified simultaneously. Common approaches include using black-box models or exploiting the differing identifiability of parameters under various control stages. A persistent challenge with simultaneous identification of multiple parameters is the disparity in their sensitivity. The integral coefficient \(k_i\) typically exhibits lower sensitivity compared to the proportional coefficient \(k_p\) in fault response models. When identified together using optimization algorithms, the estimated value of \(k_i\) can be severely skewed by errors or the dominant influence of \(k_p\), leading to poor accuracy for the low-sensitivity parameter. Advanced techniques that attempt to separate parameters based on sensitivity still often leave the current loop coefficients coupled within the same identification step.

This paper proposes a novel,机理-based identification method that fully decouples the identification of the proportional and integral gains by leveraging the distinct dynamic characteristics of a solar inverter during a fault and its subsequent recovery period. The core idea is to analyze the system’s response in two sequential control stages: the fault transient stage and the active power restoration stage. Theoretical analysis reveals that while the fault current response is a function of both \(k_p\) and \(k_i\), the steady-state tracking error during a controlled, ramp-based power recovery is solely dependent on \(k_i\) (and known system parameters) after transient components decay. This intrinsic property allows for the complete separation of the two parameters. The proposed method first identifies the active power recovery ramp slope, then uses the post-transient recovery data to identify \(k_i\) independently. Finally, with \(k_i\) fixed, the fault transient data is used to identify \(k_p\). This stepwise approach fundamentally isolates the low-sensitivity \(k_i\) from the influence of \(k_p\), thereby enhancing the identification accuracy for both parameters. The method is validated using data from a Hardware-in-the-Loop (HIL) test system built on a Real-Time Digital Simulator (RTDS) platform, demonstrating robust performance under various fault conditions and noise levels.

System Modeling and Control of Grid-Connected Solar Inverters

The analysis is based on a standard three-phase, two-level voltage source converter (VSC) interfacing a PV array to the grid via an LCL filter. For fundamental frequency analysis during faults, the filter capacitor branch is often neglected, resulting in an equivalent RL impedance between the solar inverter output and the Point of Common Coupling (PCC). The standard control structure employs a cascaded control scheme with an outer DC-link voltage or power control loop and an inner current control loop. During fault ride-through (FRT) conditions where the PCC voltage dips below a threshold (e.g., 0.9 pu), the outer loop is typically disabled to prioritize fast current control. The inner current control loop in the synchronous rotating (dq) reference frame, synchronized by a Phase-Locked Loop (PLL), is responsible for regulating the active (d-axis) and reactive (q-axis) current components.

The electrical dynamics in the dq-frame are given by:

$$
\begin{aligned}
u_d &= L \frac{di_d}{dt} + R i_d – \omega L i_q + e_d \\
u_q &= L \frac{di_q}{dt} + R i_q + \omega L i_d + e_q
\end{aligned}
$$

where \(u_d, u_q\) and \(i_d, i_q\) are the dq-axis components of the converter output voltage and current, respectively; \(e_d, e_q\) are the dq-axis grid voltages at the PCC; \(R\) and \(L\) are the equivalent resistance and inductance; and \(\omega\) is the grid angular frequency.

For a typical PI-based current controller with decoupling and grid voltage feedforward compensation, the control law is:

$$
\begin{aligned}
u_d &= k_p (i_{d,ref} – i_d) + k_i \int (i_{d,ref} – i_d) dt – \omega L i_q + e_d \\
u_q &= k_p (i_{q,ref} – i_q) + k_i \int (i_{q,ref} – i_q) dt + \omega L i_d + e_q
\end{aligned}
$$

where \(k_p\) and \(k_i\) are the proportional and integral gains of the identical d- and q-axis current PI controllers, and \(i_{d,ref}, i_{q,ref}\) are the current references. During an FRT event, these references are set according to grid codes. For instance, the reactive current reference \(i_{q,ref}\) is often set proportional to the voltage dip to provide dynamic reactive support, while the active current reference \(i_{d,ref}\) is limited to prevent overcurrent, typically as \(i_{d,ref} = \min(\sqrt{I_{max}^2 – i_q^2}, I_{d0})\), where \(I_{max}\) is the maximum allowed current and \(I_{d0}\) is the pre-fault active current.

Analytical Characterization of Fault and Recovery Stages

The proposed identification method hinges on a detailed analytical understanding of the solar inverter’s current response across two distinct operational phases triggered by a symmetrical fault.

Fault Transient Stage Analysis

Assuming a fault occurs at time \(t_0\), causing an instantaneous voltage dip at the PCC. The current references change stepwise to their FRT values. Combining the dynamic model and the control law, and differentiating to eliminate integral terms, yields a second-order differential equation for the d-axis current (the q-axis analysis is analogous due to symmetry):

$$
\frac{d^2 i_d}{dt^2} + \left(\frac{R+k_p}{L}\right) \frac{di_d}{dt} + \frac{k_i}{L} i_d = \frac{k_p}{L} \frac{di_{d,ref}}{dt} + \frac{k_i}{L} i_{d,ref} + \frac{R}{L^2} (k_p i_{d,ref} + k_i \int i_{d,ref} dt)
$$

Given the step change in reference at \(t_0\) and the fact that the inductor current cannot change instantaneously \((i_d(t_0^+) = i_d(t_0^-) = i_{d,ref}(t_0^-))\), the solution for \(t > t_0\) takes the form:

$$
i_d(t) = C_1 e^{r_1 (t-t_0)} + C_2 e^{r_2 (t-t_0)} + i_{d,ref}(t_0^+)
$$

The roots \(r_{1,2}\) and constants \(C_1, C_2\) are functions of \(R, L, k_p,\) and \(k_i\):
$$
r_{1,2} = -\frac{R+k_p}{2L} \pm \frac{\sqrt{(R+k_p)^2 – 4L k_i}}{2L}
$$
$$
C_1 = \frac{1}{r_2 – r_1} \left[ r_2 (i_{d,ref}(t_0^-) – i_{d,ref}(t_0^+)) \right], \quad C_2 = \frac{1}{r_1 – r_2} \left[ r_1 (i_{d,ref}(t_0^-) – i_{d,ref}(t_0^+)) \right]
$$

This expression clearly shows that the fault transient response is a coupled function of both \(k_p\) and \(k_i\). Attempting to identify them simultaneously from this stage leads to the aforementioned sensitivity issue, where the estimation of \(k_i\) is highly sensitive to the value of \(k_p\).

Active Power Recovery Stage Analysis

After fault clearance at time \(t_1\), grid codes require the solar inverter to restore its active power output with a specified minimum ramp rate (e.g., 30% of rated power per second). A common implementation uses a linear ramp for the d-axis current reference:
$$
i_{d,ref}^{rec}(t) = K_d (t – t_1) + i_{d,ref}^0, \quad \text{for } t \ge t_1
$$

where \(K_d\) is the ramp slope and \(i_{d,ref}^0\) is the d-axis current reference just before fault clearance. The q-axis reference is typically set back to zero. At \(t_1\), both the actual current and its reference are continuous: \(i_d(t_1^+) = i_d(t_1^-) = i_{d,ref}^{rec}(t_1)\).

Solving the system dynamics for this ramp input yields a response containing two exponentially decaying terms (with the same roots \(r_1, r_2\)) and a forced response tracking the ramp. The key insight emerges when examining the steady-state tracking error after the exponentials decay (\(t \gg t_1\)):

$$
\lim_{t \to \infty} \left[ i_{d,ref}^{rec}(t) – i_d(t) \right] = \frac{K_d R}{k_i}
$$

This remarkable result shows that the final, constant offset between the ramp reference and the actual current is independent of the proportional gain \(k_p\). It depends only on the ramp slope \(K_d\), the circuit resistance \(R\), and the integral gain \(k_i\). Since \(R\) can be obtained from network data and \(K_d\) can be accurately identified from the recovery data trend, this stage provides a direct, decoupled pathway to identify \(k_i\).

The complete current response during recovery is:
$$
i_d(t) = D_1 e^{r_1 (t-t_1)} + D_2 e^{r_2 (t-t_1)} + K_d (t-t_1) + i_{d,ref}^0 – \frac{K_d R}{k_i}
$$

where \(D_1\) and \(D_2\) are constants determined by initial conditions.

Proposed Stepwise Parameter Identification Methodology

The analytical foundation leads directly to a practical, three-step identification algorithm for the solar inverter current loop parameters.

Step 1: Data Acquisition and Processing. Record three-phase voltage and current measurements at the solar inverter’s PCC during a fault event that triggers Low Voltage Ride-Through (LVRT) and subsequent recovery. Using a standard PLL algorithm (whose parameters can be identified separately), transform the currents into the dq-frame to obtain \(i_d(t)\) and \(i_q(t)\).

Step 2: Identification of the Recovery Ramp Slope (\(K_d\)). Isolate the active power recovery data segment starting from the fault clearance instant \(t_1\). To mitigate noise, apply a low-pass filter. Then, using a moving data window and linear least-squares fitting, estimate the slope of \(i_d(t)\). The identification of \(K_d\) is declared complete when successive estimations converge, i.e., \(|K_d^{(m)} – K_d^{(m-1)}| < \epsilon\), where \(\epsilon\) is a small tolerance (e.g., 0.0001). This process is inherently independent of \(k_i\) and \(k_p\).

Step 3: Identification of the Integral Gain (\(k_i\)). Using the recovery data from a period after the transient exponentials have sufficiently decayed, the relationship between the measured current and the reconstructed reference is dominated by the steady-state error:
$$
i_{d,ref}^{rec}(t) – i_d(t) \approx \frac{K_d R}{k_i}
$$

However, the low-pass filter applied in Step 2 introduces a fixed delay offset. The filtered response to a ramp \(K_d t\) is \(K_d t – K_d T + K_d T e^{-t/T}\), where \(T\) is the filter time constant. After the filter’s transient dies, a constant offset \(-K_d T\) remains. Therefore, the compensated error used for identification is:
$$
\Delta I = \left[ i_{d,ref}^{rec}(t) – i_d^{filtered}(t) \right] + K_d T \approx \frac{K_d R}{k_i}
$$

With \(K_d\), \(R\), and \(T\) known, \(k_i\) is the only unknown. An optimization algorithm like Genetic Particle Swarm Optimization (GPSO) can be used to find the \(k_i\) that minimizes the difference between the left-hand side (computed from data) and the right-hand side (model) over the selected data window. Since this is a single-parameter optimization, it is robust and accurate.

Step 4: Identification of the Proportional Gain (\(k_p\)). With \(k_i\) now fixed at its identified value from Step 3, the model for the fault transient stage (Eq. 3) contains only \(k_p\) as an unknown. Using the fault transient data (from \(t_0\) to \(t_1\)), another single-parameter optimization is performed to find the \(k_p\) that minimizes the error between the measured \(i_d(t)\) and the model output from Eq. 3.

The algorithm flow is summarized in the following pseudo-code structure:

Step Action Data Used Output
1 Acquire 3-phase fault/ recovery data. Perform abc-dq transformation. \(e_a, e_b, e_c, i_a, i_b, i_c\) \(i_d(t), i_q(t)\)
2 Filter recovery data. Fit slope to \(i_d(t)\) for \(t > t_1\). Recovery segment of \(i_d(t)\) Ramp slope \(K_d\)
3 Compensate for filter delay. Optimize to match steady-state error \(\Delta I\). Post-transient recovery data, \(K_d, R, T\) Integral gain \(k_i\)
4 Optimize to match fault transient waveform. Fault transient data \(t_0 < t < t_1\), \(k_i\) Proportional gain \(k_p\)

Validation and Performance Analysis

The proposed method was rigorously tested using a Hardware-in-the-Loop (HIL) setup on an RTDS platform. A detailed model of a PV system with a grid-following solar inverter was implemented in RTDS, while the actual control algorithm was executed on a physical controller connected via high-speed fiber optics. This semi-physical setup provides high-fidelity data closely resembling real-field measurements. The controller parameters were set to known values: \(k_p = 0.285\), \(k_i = 6.0\). Various three-phase symmetrical faults were applied, causing PCC voltage dips to approximately 0.2, 0.3, and 0.4 pu, with different active power recovery slopes \(K_d\) ranging from 0.6 to 1.0 pu/s.

Theoretical Verification

The analysis of the recovery stage was verified by simulation. Figure 6 (conceptual description) shows the d-axis current during the recovery phase. The measured response aligns perfectly with the analytical model from Eq. 7. Crucially, the offset between the ramp reference and the actual current stabilizes to a constant value after the exponential terms decay. Additional tests where \(k_p\) was intentionally varied by ±50% while keeping \(k_i\) constant confirmed that this final offset value remained unchanged, validating the decoupling principle.

Identification Accuracy and Robustness

The method was applied to multiple fault scenarios. The table below shows the average identification results for a deep voltage dip case (0.2 pu) with different recovery slopes.

Table 1: Average Identification Results under 0.2 pu Voltage Dip
Parameter True Value Identified Value (K_d=0.6) Error (%) Identified Value (K_d=1.0) Error (%)
\(K_d\) (pu/s) 0.6 / 1.0 0.598 0.33 1.001 0.10
\(k_i\) 6.0 6.118 1.97 6.154 2.57
\(k_p\) 0.285 0.280 1.75 0.282 1.05

The recovery slope \(K_d\) is identified with excellent accuracy (<0.5% error). The integral gain \(k_i\) is identified with an error consistently below 3%, and the proportional gain \(k_p\) with an error below 2%. The slightly higher error for \(k_i\) with a steeper ramp (\(K_d=1.0\)) is expected, as the recovery time is shorter, leaving less time for the transients to fully decay before the data window ends.

The stability of the algorithm was assessed by performing 20 independent identifications for each of three voltage dip levels. The following table summarizes the statistical results, demonstrating the method’s consistency.

Table 2: Statistical Identification Performance across Voltage Dips
Voltage Dip (pu) Parameter Mean Error (%) Error Variance (%) Max Error (%)
0.2 \(K_d\) 0.33 0.42 0.68
\(k_p\) 1.16 0.53 1.75
\(k_i\) 2.26 0.30 2.57
0.4 \(K_d\) 1.27 0.73 1.42
\(k_p\) 2.04 0.92 2.42
\(k_i\) 3.13 0.34 3.45

Comparison with Traditional Simultaneous Identification

The superiority of the proposed decoupled method is evident when compared to traditional approaches that use optimization algorithms to identify \(k_p\) and \(k_i\) simultaneously from the fault transient. The table below contrasts the results using the same GPSO algorithm for both the traditional and the proposed stepwise method.

Table 3: Comparison with Simultaneous Identification Methods
Identification Approach Algorithm \(k_p\) (True=0.285) \(k_i\) (True=6.0) Remarks
Traditional (Simultaneous) Particle Swarm 0.277 (-2.8%) 9.06 (+51.0%) Poor \(k_i\) accuracy
Differential Evolution 0.276 (-3.2%) 8.62 (+43.7%) Poor \(k_i\) accuracy
Genetic PSO 0.289 (+1.4%) 8.34 (+39.0%) Poor \(k_i\) accuracy
Proposed (Stepwise) Particle Swarm 0.279 (-2.1%) 6.13 (+2.2%) Good accuracy for both
Differential Evolution 0.288 (+1.1%) 6.15 (+2.6%) Good accuracy for both
Genetic PSO 0.280 (-1.8%) 6.12 (+2.0%) Good accuracy for both

The traditional simultaneous identification fails to accurately estimate the low-sensitivity integral gain \(k_i\), with errors exceeding 39% in all cases, while the proposed method maintains errors around 2% for both parameters, regardless of the specific optimization algorithm used. This demonstrates that the performance gain stems from the 机理-based parameter decoupling, not from the choice of optimization algorithm.

Noise Immunity Analysis

To evaluate practical applicability, Gaussian white noise was added to the simulated measurement data. The method’s performance under different signal-to-noise ratios (SNR) is shown below.

Table 4: Performance under Different Noise Levels
Parameter Mean Error @ 40 dB SNR Mean Error @ 30 dB SNR Mean Error @ 20 dB SNR
\(K_d\) 0.30% 1.32% 5.78%
\(k_i\) 2.43% 3.67% 12.51%
\(k_p\) 1.19% 1.65% 15.27%

The proposed method demonstrates satisfactory noise immunity, maintaining identification errors below 4% for both current loop parameters at an SNR of 30 dB, which is a reasonable level for practical measurement systems. Performance degrades significantly at 20 dB SNR.

Conclusion

This paper has presented a novel,机理-driven method for identifying the current loop control parameters of grid-following solar inverters. The method ingeniously exploits the distinct physical characteristics of the inverter’s response during a fault transient and the subsequent active power recovery phase. The key contribution is the complete analytical decoupling of the proportional and integral gains. By demonstrating that the steady-state tracking error during a ramp recovery is solely dependent on the integral gain \(k_i\), the method provides a dedicated pathway to identify this low-sensitivity parameter independently and accurately. Subsequently, the proportional gain \(k_p\) is identified using the fault transient data with \(k_i\) fixed.

The proposed stepwise identification method offers several advantages: 1) It fundamentally solves the problem of poor identification accuracy for low-sensitivity parameters caused by coupled estimation. 2) Its core principle is independent of the specific optimization algorithm used in the minimization steps. 3) It requires only standard fault recording data without the need for specialized signal injection equipment. 4) Validation via RTDS-based HIL simulation confirms its high accuracy (average errors <4% for both \(k_p\) and \(k_i\)), robustness across different operating conditions, and practical noise tolerance.

The method provides a valuable tool for system operators and researchers to obtain accurate solar inverter models, enabling more reliable protection coordination, stability analysis, and integration studies for power systems with high penetrations of photovoltaic generation. Future work will extend the analysis to asymmetric fault conditions and other types of grid-forming solar inverter control strategies.

Scroll to Top