http://pspicelib.narod.ru

Расчёт узкополосного режекторного фильтра

        Требуется фильтр, обеспечивающий полное подавление сигнала на частоте 1000 Гц, с шириной полосы на уровне 3 .Б - 50 Гц. В качестве узкополосных РФ используются RC-схемы типа двойного Т-образного мостового фильтра (Рис. 1).  Их основное преимущество заключается в возможности глубокого подавления отдельных частотных компонентов. Схема искомого фильтра представлена на рис.1.

Рис. 1. Схема искомого фильтра

[Maple Bitmap]

>    restart:with(MSpice):Devices:=[Oдинаковые,[OP,DC1,2]]:
ESolve(L,`OP-PSpiceFiles/SCHEMATIC1/SCHEMATIC1.net`);

[Maple Plot]

`DC1 линейная модель ОУ`

`Cистема Кирхгофа`

(V2-V4)/R2-(V4-V1)*s*C2 = 0

(V3-V1)/R3+(V4-V1)*s*C2-(V1-`Vвх`)*s*C1 = 0

(`Vвх`-V2)/R1-(V2-V3)*s*C3-(V2-V4)/R2 = 0

-V5/R5-(V5-VOUT)/R4 = 0

VOUT = A*(V4-VOUT)

V3 = A*(V5-V3)

{V2, V4, V3, V5, V1, VOUT}

MSpice v8.92:   http://pspicelib.narod.ru

Заданы источники: [Vвх]

Заданы узлы: {VINP}

Получены решения:

V_NET:=[V2, V4, V3, V5, V1, VOUT]:

J_NET:=[JR2, JR5, JVвх, JR3, JC2, JC3, JC1, JR4, JR1]:

>    C1:=C: C2:=C: R1:=R: R2:=R: R3:=R/2: C3:=2*C:

Для упрощения формул примем, что ОУ идеальные и обладают бесконечным усилением.

>    H:=collect(limit(VOUT/Vвх,A=infinity),s);

H := (s^2*C^2*R^2+1)*(R4+R5)/((C^2*R^2*R5+C^2*R^2*R4)*s^2+4*s*C*R*R4+R4+R5)

Перейдем ч частотную область

>    s:= I*2*Pi*f; H:=H;

s := 2*I*Pi*f

H := (-4*Pi^2*f^2*C^2*R^2+1)*(R4+R5)/(-4*(C^2*R^2*R5+C^2*R^2*R4)*Pi^2*f^2+8*I*Pi*f*C*R*R4+R4+R5)

>    print(`Частота режекции`);
Fp:=-I*solve(diff(evalc(abs(H)),f)=0,f)[2];

`Частота режекции`

Fp := 1/(2*Pi*C*R)

>    print(`Выбор резисторов и конденсаторов`);
R:=solve('Fp'=Fp,R); R:='R':

`Выбор резисторов и конденсаторов`

R := 1/(2*Fp*Pi*C)

Найдем частоты уровня режекции 3dB и полосу пропускания

>    F_3dB:=solve(evalc(abs(H))=limit(H,f=0)/sqrt(2),f):

>    print(`Полоса пропускания по уровню 3dB`);
BW:=simplify(F_3dB[1]-F_3dB[3]);

`Полоса пропускания по уровню 3dB`

BW := -2*R4/Pi/(R4+R5)/C/R

>    print(`Добротность`);
Q:=Fp/BW; Q1:=Q: Q:='Q':

`Добротность`

Q := -1/4/R4*(R4+R5)

>    print(`Передаточная функция через характерестические параметры фильтра`);
Hp:=subs(C=1/(2*Pi*Ro*fo),H): Ro:=R: Hp:=simplify(Hp):
Hpq:=subs(R5=4*Q*R4q-R4q,Hp): R4q:=R4: Hpq:=simplify(evalc(abs(Hpq)));

`Передаточная функция через характерестические параметры фильтра`

Hpq := ((f^2-fo^2)^2*Q^2/(f^4*Q^2-2*f^2*Q^2*fo^2+fo^4*Q^2+f^2*fo^2))^(1/2)

>    print(`Полоса пропускания по уровню 3dB через добротность`);
BW:=simplify(subs('R4'=solve('Q'=1/4*(1+1/R4*R5),R4),BW));

`Полоса пропускания по уровню 3dB через добротность`

BW := -1/(2*Pi*Q*C*R)

Пусть требуется режекция частоты Fo=1 кГц в полосе BW=50 Гц.
Расчитаем номиналы компонентов такого фильтра.

Fp := 1/(2*Pi*C*R)


Q := -1/4/R4*(R4+R5)

Q=Fo/BW

Выберем С=10 нФ

>    C := .10e-7

>    Q := 1000/50

Q := 20

>    R := evalf(1/(2*1000*Pi*.10e-7))

R := 15915.49430

Выберем R4+R5=10 кОм, тогда R4=(R4+R5)/4*Q

>    R4 := 10000/Q/4; R5 := 10000-R4

R4 := 125

R5 := 9875

Теперь проверим расчеты и построим  график АЧХ

>    H:=H;

H := 10000*(-.1013211835e-6*Pi^2*f^2+1)/(-.1013211835e-2*Pi^2*f^2+.1591549430*I*Pi*f+10000)

>    print(`Полоса пропускания по уровню 3dB`);Q:=Q1;
BandWitch_Hz:=evalf(abs(BW)); fo:=evalf(Fp);  

`Полоса пропускания по уровню 3dB`

Q := -20

BandWitch_Hz := 50.00000003

fo := 1000.000001

>    ploth(H,f=0.5e3..1.5e3,"2) АЧХ фильтра при идеальном ОУ");

[Maple Plot]

>    ploth(Hpq,f=0.5e3..1.5e3,"3) Hpq АЧХ фильтра при идеальном ОУ");

[Maple Plot]

Hosted by uCoz