## 1. Circuit definition

This filter contains 3 resistors and 3 capacitors, in the ratios shown in the figure. The diagram also has an rc load resistor.

We use the Mathematica module:

Get["../simulin/simulineaire.m"];

The following function defines the circuit, with arguments R, C and the charge conductance.

doubleT[r_,c_,gc_]:=Module[{n,A,B}, n=5; A=Table[0,{n},{n}]; B=Table[0,{n}]; A=ajouterResistance[A,1,2,r]; A=ajouterResistance[A,2,4,r]; A=ajouterResistance[A,3,5,r/2]; A=ajouterCapacite[A,1,3,c]; A=ajouterCapacite[A,3,4,c]; A=ajouterCapacite[A,2,5,2*c]; A=ajouterDipole[A,4,5,gc]; {A,B}=ajouterMasse[A,B,5]; {A,B}=definirEntree[A,B,1]; Return[{A,B}]; ]

## 2. Transfer function

The transfer function is obtained with zero charge conductance (open circuit at output):

{A,B}=doubleT[R,C,0]; H=transfert[A,B,4]/.{s->I*omega}

1-C2 ω2 R2-C2 ω2 R2+4 i C ω R+1

We recognize a rejector filter, presenting an infinite attenuation for the pulsation: ωc = 1RC

Let’s define values to obtain a 50 Hz rejection:

fc=50; r=10^2; c=1/(2*N[Pi]*r*fc)

0.00003183098861837907

Plot of Bode’s diagram:

{A,B}=doubleT[r,c,0]; h=transfert[A,B,4];

bodeGain[h,0,4,-60,0]

bodePhase[h,0,4]

The output impedance can be obtained by calculating the current in a very low load resistance (very large conductance):

{A,B}=doubleT[r,c,10^9]; v=LinearSolve[A,-B]; icc=1/r*(v[[2]]-v[[4]])+c*s*(v[[3]]-v[[4]]); icc=Abs[icc/.s->I*2*N[Pi]*100]

0.006708203932412162