# What is the transfer function of an LCL filter? simulate this circuit – Schematic created using CircuitLab

I read that for grid-tied inverters it is common to use a LCL filter like above, to turn the PWM output from the H-bridge into a sine. But I'm having trouble designing something like this.

If you'd calculate the voltage at the right end without the resistor, L2 doesn't do anything and it's just an LC filter.

If you connect it to the grid by placing another voltage source there, the question what the voltage is is moot, because it's always the voltage over the voltage source.

So I decided to place a resistive load there and find the voltage over that. But this lead to some horrible mess.

$$Z_t=\frac{j\omega L_2 R_1}{1+(j\omega)^2 L_2 C_1 + j\omega R_1 C_1}$$

$$V_{C1}=V_1 \frac{Z_t}{j\omega L_1+Z_t}$$

$$V_{R1}=V_{C1} \frac{R_1}{j\omega L_1+R_l}$$

$$V_{R1}=V_{1} \frac{j\omega L_2 R_1 + R_1^2}{(j\omega L_1)^2+(j\omega)^4 L_1^2 L_2 C_1 +(j\omega)^3 L_1^2 R_1 C_2 + j\omega L_1 R_1 + (j\omega)^3 L_1 L_2 R_1 C_1 + (j\omega)^2 L_1 R_1^2 C_1}$$

I feel like I'm missing something obvious here. Or I made some stupid mistake. Or this stuff is just hard.

 I worked out the transfer function for current, as seen below. The transfer function matches the one given in equation 9 in http://inside.mines.edu/~mSimoes/documents/paper_54.pdf and Figure 5 also matches what I get, for some arbitrary values.

\begin{align} I_2&=\frac{V_s}{j\omega L_1} \cdot \frac{\frac{j\omega L_1}{1+(j\omega)^2 L_1 C_4}}{j\omega L_2 + \frac{j\omega L_1}{1+(j\omega)^2 L_1 C_4}} \\ \frac{I_2}{V_s}&=\frac{1}{j\omega(L_1+L_2) + (j\omega)^3L_1L_2C_4}\\ H(j\omega)&=\frac{1}{\frac{j\omega}{\omega_0}+\left(\frac{j\omega}{\omega_1}\right)^3}\\ \omega_0&=\frac{1}{L_1+L_2}\\ \omega_1&=\frac{1}{\sqrt{L_1L_2C_4}}\\ \left|H(j\omega)\right|&=\frac{|1|}{\left|\frac{j\omega}{\omega_0}+\left(\frac{j\omega}{\omega_1}\right)^3\right|}\\ &=\frac{1}{\frac{\omega}{\omega_0}-\left(\frac{\omega}{\omega_1}\right)^3}\\ arg(H(j\omega))&=arg(1)-arg\left(\frac{j\omega}{\omega_0}+\left(\frac{j\omega}{\omega_1}\right)^3\right) \\ &=0-arctan\left(\frac{\frac{\omega}{\omega_0}-\left(\frac{\omega}{\omega_1}\right)^3}{0}\right)\\ &=\pm \frac{\pi}{2} \end{align}

(The omega stuff is wrong, they never taught us to actually rewrite to standard form, but Matlab does't care. It just means I can't find the resonance frequency or draw a straight line approximation, sadly.) For control purposes you need to linearize the system around a single operating point. Considering the synchronous DQ frame, the grid voltage is DC and therefore can be neglected.

Do not replace the grid voltage with a resistor. You are mixing the power delivery circuit with the filter circuit.

The resistor will cause huge damping where you don't want the damping to be. And your inductances are way too small.

First, you need to select the maximum current ripple. This will set your inductance. Then you need to select the shunt capacitor value based on maximum current harmonic distortion that is allowed into the utility.

For stability purposes you need to add passive (resistor) or active (measurement + controls) damping into the system.

Inductance L2 could be partly physical and partly the inherent grid inductance. So you need to make sure the design and controls are stable for any grid output inductance (which varies based on the grid loading and time of day).

You need to control the current so calculate the inverter voltage to grid current (L2) transfer function. No reason to calculate voltage to voltage transfer function since the grid voltage is established by the utility.

$\frac{I_{L2}}{V_{inverter}} = ...$

Btw. this is a simple sophomore level calculation. But the implications, the control and other dependencies make it a grad-level problem. Good luck!

• +1 I agree - assume L2 is grounded and calculate the current in it. Dec 23, 2015 at 10:29
• This makes a lot of sense, though I don't really understand the bit about current ripple and harmonic distortion. As you said, I can indeed do the calculation, but not oversee the implications. I was hoping that with a Bode plot and fourier transform of a pwm signal, I could tune the filter to be a nice sine wave. This is in fact related to the final project of the second quarter at my university. Dec 23, 2015 at 14:55
• What exactly are your project goals? I might be able to find a paper and point you in the right direction. Dec 23, 2015 at 22:36
• Make a "grid" connected inverter for a 12W solar panel. Sadly, the grid is an artificial one at 50Hz, 12v RMS for safety reasons. I found this paper that contains the transfer function I just worked out on paper. At least it matches... gonna try the damped one too. inside.mines.edu/~mSimoes/documents/paper_54.pdf I'll have to study this a bit more. We're doing single phase with no given constraints on current ripple and distortion. The goal is just maximum power. Dec 24, 2015 at 8:50
• A simple L filter would work for you as well. Very easy to design and control. Dec 25, 2015 at 20:29

For a passive circuit like this one, it is easier to call the fast analytical circuits techniques or FACTs. The principle is to find the time constants of the circuits when the energy-storing elements ($L$ and $C$) and set into dc or high-frequency state. The resolution of such a transfer function is thus obtained by inspection, without writing a single line of algebra. Below are the series of drawings I captured to show how to determine the transfer function linking the voltage across $R_1$, the response, to the stimulus, $V_1$. First, you calculate the transfer function for $s=0$: short inductors and open caps. Then, "look" at the resistance offered by the connecting terminals of the energy-storing element when temporarily removed from the circuit. By summing up all time constants in this mode, you obtain $b_1$. Then, you carry on by alternatively setting some of the selected energy-storing elements in their high-frequency state while you "look" at the resistance offered by the other energy-storing elements. See the below picture: An infinite resistance is replaced by $R_{inf}$ and avoids indeterminacy when associating time constants. Finally, when you capture and assemble all these results into a Mathcad sheet and obtain the below graph. You can see how the raw transfer function favorably compares to the low-entropy form obtained using FACTs. As you can see, you can't beat FACTs for execution speed and ease of approach. You can learn more about them by reading the below introduction to FACTs taught at an APEC 2016 conference: http://cbasso.pagesperso-orange.fr/Downloads/PPTs/Chris%20Basso%20APEC%20seminar%202016.pdf