Вход на сайт Навигация по сайту Любить и уважать Бонус-счастливчики
|
Содержимое файла " 4 .doc" (без форматирования) 4. Розробка програми для проведення розрахунків АЧХ та ФЧХ у випадку, коли та 4.1 Побудова блок-схеми розрахунків АЧХ та ФЧХ для заданого зв’язаного контуру Побудуємо блок-схему для проведення розрахунків АЧХ та ФЧХ у випадку, коли та (рис. 4.1) Рисунок 4.1- Блок-схема програми 4.2 Описання роботи блок-схеми -Спочатку введемо дані для розрахунку ation.DSMT4 HYPER14HYPER15 (блок 2, рис . 4.1). -Дані виводяться для перевірки (блок 3, рис.4.1). -Задаємо початкове значення кроку (n=0) (блок 4, рис.4.1). -За допомогою оператора циклу задаємо параметри циклу: ксі початкове, ксі кінцеве. (блок 5, рис.4.1). - Розраховується крок (блок 6, рис .4.1). -Розраховується значення АЧХ та ФЧХ при за формулами (2.13 , 2.14) (блок 7, рис.4.1). Зобразимо блок-схему, за якою знайдемо ці змінні (рис. 4.2). Рисунок 4.2- Блок-схема розрахунку значень АЧХ та ФЧХ при -Розраховується значення АЧХ та ФЧХ при за формулами (2.18, 2.19) (блок 8, рис.3.1). Зобразимо блок-схему, за якою знайдемо ці змінні (рис. 4.3). Рисунок 4.3- Блок-схема розрахунку значень АЧХ та ФЧХ при -Розраховується значення за формулою (1.8) (блок 9, рис.4.1). Зобразимо блок-схему, за якою розраховується (рис. 4.4). Рисунок 4.4- Блок-схема розрахунку -Виведення результатів ксі (параметр циклу), омега, АЧХ та ФЧХ при та при, (блок 10, рис.4.1). Задаємо кінцеве значення кроку n, після чого цикл завершиться (блок 11, рис.4.1). 4.3 Розробка програми для проведення розрахунків АЧХ та ФЧХ заданого зв’язаного контуру Відповідно до блок-схеми (рис. 4.1) розробимо програму, яка повинна розраху- вати омега, АЧХ та ФЧХ при та при, а також вивести таблицю з цими результатами (рис. 4.5). #include #include #include float Omega (float, float, float); /*Объявление переменной омега для хранения*/ float ACHXkr (float, float); /* Объявление переменной АЧХ при x критичном для хранения */ float FCHXkr (float, float); /* Объявление переменной ФЧХ при x критичном для хранения */ float ACHXgr (float, float); /* Объявление переменной АЧХ при x граничном для хранения */ float FCHXgr (float, float); /* Объявление переменной ФЧХ при x граничном */ для хранения */ void PrintData (float, float, float, float, float, float); /* Вывод результатов на экран */ void main (void) /* Определение главной функции */ { int R, ksir, ksit, xkr; float L, C1, Czv, C, Q, K, xgr, Akr, Agr, Fkr, Fgr, j, w, wp; clrscr (); /* Очистка єкрана */ printf("Введите значение C1 =\n"); /* Вывод сообщения на экран */ scanf("%f", &C1); /* Ввод значения C1 с клавиатуры */ printf("Введите значение R =\n"); /* Вывод сообщения на экран */ scanf("%d", &R); /* Ввод значения R с клавиатуры */ printf("Введите значение L =\n"); /* Вывод сообщения на экран */ scanf("%f", &L); /* Ввод значения L с клавиатуры */ printf("Введите значение Czv =\n"); /* Вывод сообщения на экран */ scanf("%f", &Czv); /* Ввод значения Czv с клавиатуры */ printf("Введите значение ksir =\n"); /* Вывод сообщения на экран */ scanf("%d", &ksir); /* Ввод значения ksi min с клавиатуры */ printf("Введите значение ksit =\n"); /* Вывод сообщения на экран */ scanf("%d", &ksit); /* Ввод значения ksi max с клавиатуры */ printf("Введите значение xkr =\n"); /* Вывод сообщения на экран */ scanf("%d", &xkr); /* Ввод значения x критическое с клавиатуры */ printf("Введите значение xgr =\n"); /* Вывод сообщения на экран */ scanf("%f", &xgr); /* Ввод значения x граничное с клавиатуры */ clrscr (); /* Очистка экрана */ printf(" Проверка правильности введенных даных\n"); printf("\n"); printf("L1, L2 (Гн)R1, R2 (Ом) C1, C2 (Ф) Czv (Ф) ksi xkr xgr \n"); printf("\n"); printf(" %1.4f %d %1.8f %1.8f %d %d %d %0.2f \n", L, R, C1, Czv, ksir, ksit, xkr, xgr); printf(" \n"); getch (); C=(C1*Czv)/(C1+Czv); /* Вызов функции для вычисления ёмкости */ wp=1/sqrt(L*C); /* Вызов функции для вычисления омега резонансное */ Q=sqrt(L/(C*pow(R,2))); /* Вызов функции для вычисления добротности */ printf("\t\t\n"); printf("\t\t Ksi Omega ACHX KR FCHX KR ACHX GR FCHX GR \n"); printf("\t\t\n"); for (j=ksir;j<=ksit;j+=0.4) /* Оператор цикла */ { w=Omega(Q, j, wp); Akr=ACHXkr (xkr, j); Fkr=FCHXkr (xkr, j); Agr=ACHXgr (xgr, j); Fgr=FCHXgr (xgr, j); PrintData (j, w, Akr, Fkr, Agr, Fgr); } printf("\t\t\n"); getch (); } float Omega (float Q, float j, float wp) /* Переменная для хранения значения омега */ { return (1/(2*Q))*(j+2*Q)*wp; /* Вычисление омега и возврат результата в вызывающую функцию */ } float ACHXkr (float xkr, float j) /* Переменная для хранения значения АЧХ при x критичном */ { return (2*xkr)/(sqrt((1+(xkr*xkr)-j*j)*(1+(xkr*xkr)-j*j)+4*j*j)); /* Вычисление АЧХ при x критичном и возврат результата в вызывающую функцию */ } float FCHXkr (float xkr, float j) /* Переменная для хранения значения ФЧХ при x критичном */ { return 3.1415/2-atan((2*j)/(1+(xkr*xkr)-(j*j))); /* Вычисление ФЧХ при x критичном и возврат результата в вызывающую функцию */ } float ACHXgr (float xgr, float j) /* Переменная для хранения значения АЧХ при x граничном */ { return (2*xgr)/(sqrt((1+(xgr*xgr)-j*j)*(1+(xgr*xgr)-j*j)+4*j*j)); /* Вычисление АЧХ при x граничном и возврат результата в вызывающую функцию */ } float FCHXgr (float xgr, float j) /* Переменная для хранения значения ФЧХ при x граничном */ { return 3.1415/2-atan((2*j)/(1+(xgr*xgr)-(j*j))); Вычисление ФЧХ при x граничном и возврат результата в вызывающую функцию */ } void PrintData (float j, float w, float Akr, float Fkr, float Agr, float Fgr) /* Вывод результатов на экран */ { printf("\t\t %4.1f %.f %.3f %3.3f %.3f %.3f \n", j, w, Akr,Fkr, Agr, Fgr); } Рисунок 4.5 - Програма розрахунків , АЧХ та ФЧХ при та при 4.4 Перевірка програми на працездатність При запуску, програма запропонує по черзі ввести значення номіналів елементів (), а також уагальнене розладнання ( та ). Введемо ці значення та натиснземо клавішу ENTER (рис. 4.6). |----------------------------------------------------------------------| | Вихiднi данi для розрахункiв | |----------------------------------------------------------------------| | L контура | L зв'язку | C контура | R контура | |----------------------------------------------------------------------| | 50 мкГн | 240мкГн | 5 нФ | 17 Ом | |----------------------------------------------------------------------| Рисунок .4.6 – Введеня даних Побачивши таблицю з нашими даними, натискаємо ENTER і отримуємо таблицю значень , , АЧХ та ФЧХ при а також АЧХ та ФЧХ при (рис. 4.8). Рисунок 4.8 - Таблиця значень, , АЧХ та ФЧХ 4.5 Побудова графіків АЧХ та ФЧХ при та при Побудуємо графіки АЧХ та ФЧХ відповідно відгуку програми. Для цього використаємо засіб побудови графіків Zgraphik. На рисунку 4.9 представлено графік АЧХ при критичному факторові зв’язку, на рисунку 4.10 зображен графік ФЧХ при критичному факторові зв’язку. На рисунку 4.11 зображено графік АЧХ при граничному факторові зв’язку, на рисунку 4.12 представлено графік ФЧХ при граничному факторові зв’язку. Рисунок 4.9 - графік АЧХ при Рисунок 4.10 - Графік ФЧХ при Рисунок 4.11 - графік АЧХ при Рисунок 4.12 - Графік ФЧХ при 4.6 Перевірка знайдених характеристик за допомогою пакету MathCad Перевіремо знайдені характеристики за допомогою пакету MathCad (рис.4.13). |
Посетителей: 0, из них зарегестрированных: 0, гостей: 0 Зарегистрированные пользователи: Подробно | Страница сгенерирована за 1.9268 сек. |