http://pspice.comtv.ru

ElectronicSolver    http://.pspicelib.narod.ru
ElectronicsSolver для MicroCAP

Активные фильтры излюбленная тема для курсовых работ. Однако в ручную можно посчитать только простейшие (рис. 1).
И так, теперь, простейший фильтр раз и навсегда посчитан!  Остались только более сложные.
Ощути разницу границ сложности при ручном счете и c применением ESolver.

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

[Maple Bitmap]

>    restart:with(MSpice):Devices:=[E,[OP,DC1,2]]:ESolve(EQ,`OP2.CKT`);

[Maple Plot]

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

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

(VIN-V1)/R1+(-A*V1-V1)/R2-(V1+A*V1)*s*C1 = 0

`Решения`

{V1}

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

Заданы узлы: {V6, V7, V2, VVC, VVE} Источники: [V2, V1, VIN, VN, VP]

Решения V_NET: [V3, V1]

J_NET: [JVIN, JC1, JR1, JR2, JV1, JV2, JVP, JA, JVN]

Коэффициент передачи

>    H[s]:=V3/VIN; K[f]:=AV(H[s],f); K[dc]:=AV(H[s],0);

H[s] := -A/(R2+R1+R1*A+s*C1*R1*R2+s*C1*R1*R2*A)*R2

K[f] := -A/(R2+R1+R1*A+2*I*Pi*f*C1*R1*R2+2*I*Pi*f*C1*R1*R2*A)*R2

K[dc] := -A/(R2+R1+R1*A)*R2

Частота среза

>    PoleZero(H[s],f); Fcp:=solve(I*F=F_Pole[1],F);

`-----------   Полюсы   (нолей нет)  -----------`

F_Pole[1] = 1/2*I*(R2+R1+A*R1)/C1/R1/R2/(1+A)/Pi

Fcp := 1/2*(R2+R1+A*R1)/C1/R1/R2/(1+A)/Pi

Теперь построим карту нулей и полюсов с графиком АЧХ

>    Values(AC,RLCVI,[]):

Ввод номиналов компонентов:   

C1:=1000e-12:  [1000P]

R1:=1e3:  [1K]

R2:=5e3:  [5K]

A:=1e6:  [1e6]

DС источник: V1:=15:  AC: V1:=0:

DС источник: V2:=-15:  AC: V2:=0:

AС источник: VIN:=0:  AC: VIN:=1:   Pfase(degrees):=0:

DС источник: VN:=15:  AC: VN:=0:

DС источник: VP:=15:  AC: VP:=0:

E1_X1:=(A*(V0-V1)):

>    with(plots):with(plottools): #setoptions(thickness=2,color=black,font=[COURIER,12]);

>    H[s]:=H[s];Fcp:=evalf(Fcp);PoleZero(H[s],f);PlotPZ(H[s],f,"3) Фильтр.");
H:=HSF([H[s]],f=1..2e5,"4) АЧХ фильтра H[f]"):
txt:=textplot([[40000,0.4,"Fср=31.831 кГц"],[40000,3.6,"Уровень 3 дБ"]],
align={above,right},color=red,align=RIGHT,font=[COURIER,14]):
Fср:=arrow([Fcp, 3.5],vector([0,-3.5]),1, 3000, 0.075,color=black):
#Fср:=line([Fcp,0],[Fcp,3.5],thickness=1,color=red,legend=[Fср]):
L1:=line([0,3.5],[Fcp,3.5],thickness=1,color=black,legend=[`3 дБ`]):
display([H,Fср,L1,txt]);

H[s] := -.5e10/(5000.005000*s+.1000006e10)

Fcp := 31831.14776

`-----------   Полюсы   (нолей нет)  -----------`

F_Pole[1] = 31831.14776*I

[Maple Plot]

[Maple Plot]

Hosted by uCoz