Wienův článek

[Maple Bitmap]  

Zadání obvodu podle výše uvedeného obrázku.

>    wien:="wienuv clanek

>    V 1 0 1

>    R1 1 2 R*a

>    C1 2 3 C/a

>    C2 3 0 C

>    R2 3 0 R

>    .end":

>    res_w:=syrup(wien, ac);

parsedeck:   Analyzing SPICE deck "wienuv clanek" (ignoring this line)

res_w := {v[1] = 1, v[3] = s*C*R/(2*s*C*R*a+a+s^2*C^2*R^2*a+s*C*R), v[2] = (s*C*R+s*C*R*a+a)/(2*s*C*R*a+a+s^2*C^2*R^2*a+s*C*R)}

Obecný výraz pro přenos.

>    P_w:=subs(res_w,v[3]);

P_w := s*C*R/(2*s*C*R*a+a+s^2*C^2*R^2*a+s*C*R)

Výpočet kmitočtu omega[0] .

>    solve(evalc(Im(subs(s=I*omega,P_w))),omega);

0, -1/(C*R), 1/(C*R)

Přenos pro omega[0] = 1 .

>    P_w1:=collect(algsubs(C*R=1,subs(res_w,v[3])),s);

P_w1 := s/(s^2*a+(2*a+1)*s+a)

Činitel jakosti.

>    Q_w:=1/coeff(denom(P_w1)/a,s,1);

Q_w := 1/(2*a+1)*a

Přenos pro omega = omega[0] .

>    simplify(subs(s=I/C/R,P_w));

1/(2*a+1)

Výpočet modulu a fáze přenosu omega[0] = 1 .

>    abs_P_w:=evalc(abs(subs(s=I*omega,P_w1))):

>    phi_P_w:=evalc(argument(subs(s=I*omega,P_w1))):

Strmost fázové charakteristiky pro omega = omega[0] . Až na konstantu je strmost shodná s činitelem jakosti.

>    SR_phi_w:=simplify(subs(omega=1,diff(phi_P_w,omega)));

SR_phi_w := -2/(2*a+1)*a

Modul přenosu vykazuje pro omega = omega[0]  maximum, z čehož vyplývá, že daný článek je určen pro větev kladné zpětné vazby. Je evidentní, že velikost tohoto přenosu je vždy menší než 1 a je výhodné, aby jeho hodnota nebyla příliš malá, protože zesilovač můstkového oscilátoru by pak pracoval s příliš velkým zesílením. Pro stabilitu kmitočtu je výhodné, aby strmost fázové chrakteristiky byla pro omega = omega[0]  co největší. Zde jdou však tyto požadavky proti sobě. Pro velikost modulu je výhodné, aby koeficient a  byl malý, pro strmost fáze naopak velký, i když dominantnějši vliv má velikost koeficientu a  na modul. Častá volba je proto a = 1 , protože jsou stejné hodnoty R a C.

Následuje vykreslení kmitočtových charakteristik pro tři různé hodnoty koeficienu a . Dále pak vyčíslení velikosti modulu a strmosti fázové charakteristiky (v radiánech i ve stupních) pro omega = omega[0]  (pro všechny tři hodnoty koeficientu a ).

>    plots[semilogplot]([subs(a=0.5,abs_P_w),subs(a=1,abs_P_w),subs(a=2,abs_P_w)],omega=0.1..10,color=[blue,red,green],legend=["a=0.5","a=1","a=2"],thickness=2);

>    plots[semilogplot]([subs(a=0.5,phi_P_w),subs(a=1,phi_P_w),subs(a=2,phi_P_w)],omega=0.1..10,color=[blue,red,green],legend=["a=0.5","a=1","a=2"],thickness=2);

>    simplify([subs(a=1/2,omega=1,abs_P_w),subs(a=1,omega=1,abs_P_w),subs(a=2,omega=1,abs_P_w)]);

>    evalf([subs(a=0.5,SR_phi_w),subs(a=1,SR_phi_w),subs(a=2,SR_phi_w)]);

A teď ve stupních.

>    evalf(180/Pi*[subs(a=0.5,SR_phi_w),subs(a=1,SR_phi_w),subs(a=2,SR_phi_w)]);

[Maple Plot]

[Maple Plot]

[1/2, 1/3, 1/5]

[-.5000000000, -.6666666667, -.8000000000]

[-28.64788974, -38.19718633, -45.83662360]

Strmost (derivace) fáze je vztažena k omega[0] = 1 , resp. poměrnému úhlovému kmitočtu. Pokud budeme chtít znát strmost pro relativní kmitočet, je nutné ji tímto kmitočtem vynásobit Delta*phi*omega[0]/(Delta*omega) . Takovou hodnotu strmosti lze potom jednoduše porovnávat i pro případ, že omega[0] <> 1 . Zde je strmost SR_phi_w = -46 , což znamená, že pro změnu Delta*omega[0]/omega[0] = 1 % bude Delta*SR_phi_w = 46/100  stupně. Vzhledem k tomu, že pro tento případ je omega[0] = 1 , je tato hodnota shodná i pro případ relativního kmitočtu, což je dokázáno následujícím výpočtem.

>    phi_P_w2:=evalc(argument(subs(s=I*omega,P_w))):

>    SR_phi_w2:=simplify(subs(omega=1/R/C,diff(phi_P_w2,omega)));

>    SR_phi_w;

SR_phi_w2 := -2*C*R*a/(2*a+1)

-2/(2*a+1)*a

>    P_w1;

s/(s^2*a+(2*a+1)*s+a)

Přenos má jednu nulu v nule a dále póly, které jsou zde uvedeny, pro různé hodnoty koeficientu a .

>    solve(subs(a=0.5,denom(P_w1)));

>    solve(subs(a=1.,denom(P_w1)));

>    solve(subs(a=2.,denom(P_w1)));

-.2679491924, -3.732050808

-.3819660112, -2.618033989

-.5000000000, -2.