Файл: Национальный технический университет украины киевский политехнический институт кафедра систем автоматизированного проектирования.doc

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 06.12.2023

Просмотров: 74

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


10. Моделирование полученной схемы фильтра

с помощью пакета ALLTED
Моделирование схемы фильтра, полученной с помощью разработанной программы, проводилось с помощью пакета схемотехнического проектирования ALLTED. Файл задания на моделирование АЧХ полученной схемы фильтра был сгенерирован разработанной программой, его листинг представлен в приложении П5. График логарифмической АЧХ схемы фильтра, полученный в результате расчета с помощью пакета ALLTED, представлен в приложении П6.

11. Сравнение полученных результатов
В результате расчета схемы фильтра с помощью разработанной программы, реализующей изложенную выше методику расчета, были получены следующие параметры логарифмической АЧХ фильтра (см. приложения П3 и П5), представленные в Таблице 1.


Значение при f = 0 Гц

0 дБ

Максимальное значение в полосе пропускания

0.00 дБ

Минимальное значение в полосе пропускания

-2.00 дБ

Значение при f = Fc = 500 Гц

-2.00 дБ

Неравномерность в полосе пропускания

2 дБ

Значение при f = f1 = 800 Гц

-30.33 дБ

Минимальное затухание в полосе задерживания

30.33 дБ

Таблица 1. Параметры АЧХ фильтра, полученные с помощью разработанной программы.
При последующем моделировании полученной схемы фильтра с помощью пакета ALLTED , по построенному графику были получены следующие параметры логарифмической АЧХ фильтра, приведенне в Таблице 2.


Значение при f = 0 Гц

0.0 дБ

Максимальное значение в полосе пропускания

0.96 дБ

Минимальное значение в полосе пропускания

-0.48 дБ

Значение при f = Fc = 500 Гц

-0.48 дБ

Неравномерность в полосе пропускания

1.44 дБ

Значение при f = f1 = 800 Гц

-29.81 дБ

Минимальное затухание в полосе задерживания

29.81 дБ


Таблица 2. Параметры АЧХ фильтра, полученные с помощью пакета ALLTED.
Если представленные в Таблице 2 АЧХ схемы фильтра пронормировать по значению на частоте f = 0 Гц, т.е принять это значение за 0 дБ, то параметры АЧХ схемы фильтра будут иметь следующий вид (см. Таблица 3) :


Значение при f = 0 Гц

0 дБ

Максимальное значение в полосе пропускания

0.48 дБ

Минимальное значение в полосе пропускания

-0.96 дБ

Значение при f = Fc = 500 Гц

-0.96 дБ

Неравномерность в полосе пропускания

1.44 дБ

Значение при f = f1 = 800 Гц

-30.29 дБ

Минимальное затухание в полосе задерживания

30.29 дБ

Таблица 3. Параметры АЧХ фильтра, полученные с помощью пакета ALLTED, после нормированния относительно значения на частоте f = 0 Гц.
При сравнении Таблицы 1 с Таблицей 3, видим, что рассчитанная схема обеспечивает требуемое минимальное затухание в полосе задерживания (30 дБ), причем значения, полученные с помощью разработанной программы и с помощью пакета ALLTED, совпадают с хорошей точностью. Что же касается неравномерности АЧХ в полосе пропускания, то значение, полученное при моделировании в ALLTED, оказалось меньше максимально допустимого (2 дБ). Однако следует отметить, что график АЧХ, полученный в пакете ALLTED, имеет некоторый подъем вблизи частоты среза ( максимальное значение 0.48 дБ), причиной чего очевидно является небольшая расстройка звеньев фильтра относительно необходимых центральных частот вследствие того, что выходное сопротивление реальных операционных усилителей имеет конечное значение, а также других причин, которые не учитывались при расчете схемы фильтра разработанной программой.

Выводы
В процессе выполнения курсовой работы была спроектирована схема фильтра нижних частот. Для расчета схемы фильтра была разработана программа, реализующая изложенную выше методику расчета схемы фильтра нижних частот с максимально плоской аппроксимацией АЧХ ( по Баттерворту ). В результате выполнения этой программы была получена схема фильтра нижних частот восьмого порядка, состоящая из четырех последовательно включенных звеньев второго порядка, построенных по схеме с многопетлевой обратной связью.



Далее было проведено моделирование АЧХ полученной схемы фильтра с помощью пакета ALLTED. В качестве задания на моделирования использовался файл, автоматически сгенерированный разработанной программой. Полученные результаты несколько отличаются от рассчитанных с помощью разработанной программы, однако, в целом требования к параметрам АЧХ были удовлетворены, что свидетельствует о правильности описанной выше методики. Отклонения предполагаемых результатов от полученных при моделировании вызваны очевидно тем, что методика расчета предполагает, использование идеального операционного усилителя, а при моделировании в пакете ALLTED используется модель, приближенная к реальному операционному усилителю. Учитывая это обстоятельство, а также неизбежный разброс номиналов емкостных и резистивных компонентов в реальном устройстве, можно сделать вывод о том, что полученная схема фильтра нижних частот восьмого порядка имеет недостаточный запас по минимальному затуханию в полосе задерживания (при моделировании запас = 30.29 дБ – 30 дБ = 0.29 дБ ; в теории запас = 30.33 дБ –30 дБ =0.33 дБ ).Таким образом, при построении реального устройства следует взять порядок фильтра равным 9 вместо 8, что обеспечит достаточный запас по минимальному затуханию в полосе задерживания ( порядка 4.4 дБ).

10>10>

Листов



2000




СОДЕРЖАНИЕ


П1. Листинг разработанной программы, реализующей методику расчета




П2. Результаты расчета фильтра с помощью разработанной программы




П3. График АЧХ фильтра, полученный с помощью разработанной программы




П4.Протокол расчета схемы фильтра с помощью разработанной программы




П5. Листинг задания на исследование в пакете ALLTED




П6. График АЧХ фильтра, полученный в пакете ALLTED




П7. Структурная схема ARC- фильтра





П1. Листинг разработанной программы,

реализующей методику расчета
{ Программа расчета активных RC-фильтров нижних частот }

{ с аппроксимацией частотных характеристик по Баттерворту }

{ ФЭЛ НТУУ "КПИ" - Киев 2000 }

Program ARC;

Uses Crt,Graph;

Const

R0 = 1e+5; { нормирующий коэффициент }

MAX_ORDER = 50; { максимальный порядок фильтра }

POINTS = 400; { количество точек для расчета АЧХ }

atd_file = 'filter.atd';

tab_file = 'filter.tab';

txt_file = 'filter.txt';

Type

complex = record { комплексное число }

im : double;

re : double;

end;

ShemType = (invert,MOS,bikvadrat); { тип схемной реализации звена }

section = record { описание звена }

shem : ShemType; { тип схемы }

R1,R2,R3,R4,C1,C2:double; { номиналы компонентов схемы }

Q : double; { добротность }

end;

Var

Fc : double; { частота среза }

F1 : double; { граничная частота полосы задерживания }


Af : double; { макс. неравномерность в полосе пропускания }

Bf : double; { мин. затухание в полосе задерживания }

F0 : double; { нормирующая частота }

N : integer; { порядок фильтра }

H : double; { числитель передаточной функции }

Hi : double; { числитель передаточной функции каждого звена }

sigma0:double; { радиус полуокружности на которой находятся полюса }

Poles : array[1..MAX_ORDER div 2 + 1] of complex; {массив полюсов}

Sections: array[1..MAX_ORDER div 2 + 1] of section; {массив звеньев}

AFC : array[1..POINTS] of double; {массив АЧХ}

sect : integer; {кол-во звеньев}

low_freq :double; { нижняя граница частоты для расчета АЧХ }

high_freq:double; { верхняя граница частоты для расчета АЧХ }

ch : char;

Function Lg(x:double):double; { десятичный логарифм }

var result:double;

begin

result:=Ln(x)/2.30258509299405E+0000; { Lg(x)=Ln(x)/Ln(10)}

Lg:=result;

end;

Function Pow10(x:double):double; { 10 в степени x }

var result:double;

begin

result:=exp(x*2.30258509299405E+0000);

pow10:=result;

end;

Function Pow(a:double;x:double):double; { pow(a,x)=a^x }

var result:double;

begin

if (a<=0) then Halt(1);

result:=exp(x*ln(a));

pow:=result;

end;

Procedure _Add(a:complex; b:complex; var c:complex);{комплексное сложение}

begin

c.re:= a.re + b.re;

c.im:= a.im + b.im;

end;

Procedure _Sub(a:complex; b:complex; var c:complex);{комплексное вычитание}

begin

c.re:= a.re - b.re;

c.im:= a.im - b.im;

end;

Procedure _Mult(a:complex; b:complex; var c:complex);{комплексное умножение}

begin

c.re:= a.re*b.re - a.im*b.im;

c.im:= a.re*b.im + a.im*b.re;

end;

Function _Abs(a:complex):double; { модуль комплексного числа }

var result:double;

begin

result:=sqrt(sqr(a.re)+sqr(a.im));

_Abs:=result;

end;

Procedure _Div(a:complex; b:complex; var c:complex);{комплексное деление}

begin

b.im:=-b.im;

_Mult(a,b,c);

c.re:= c.re/(sqr(b.re)+sqr(b.im));

c.im:= c.im/(sqr(b.re)+sqr(b.im));

end;

Procedure LowPassFilter_Parameters;{ ввод исходных данных для расчета }

var ch : char;

error : boolean;

begin

error:=true;

while error do

begin

ClrScr;

TextColor(LIGHTGREEN);

writeln('Ввод исходных данных для расчета ARC-ФНЧ');

writeln('----------------------------------------');

GoToXY(1,4);

write('Частота среза Fc, Гц : '); read(Fc); writeln;

writeln('Неравномерность коэф. передачи ');

write('в полосе пропускания Aф, дБ : '); read(Af); writeln;

writeln('Граничная частота полосы');

write('задерживания F1, Гц : '); read(F1); writeln;

writeln('Минимальное затухание ');

write('в полосе задерживания Bф, дБ : '); read(Bf); writeln;

TextColor(LIGHTRED);

if (Fc<=0) or (F1<=0) then

writeln ('Ошибка в исходных данных : Fc<=0 или F1<=0')

else

if (Af<=0) or (Bf<=0) then

writeln ('Ошибка в исходных данных : Aф <=0 или Bф <=0')

else

if Af>=Bf then

writeln ('Ошибка в исходных данных : Aф >= Bф !')

else

if Fc>F1 then

writeln ('Ошибка в исходных данных : Fc >= F1 !')

else

error:=false;

writeln('Нажмите Enter');ch:=#255;

while ch<>#13 do ch:=Readkey;

TextColor(LIGHTGREEN);

end;

end;

Procedure LowPassFilter_Norming;{ нормирование частот }