Вход на сайт Навигация по сайту Любить и уважать Бонус-счастливчики
|
Содержимое файла " 3.doc" (без форматирования) 3 ПОБУДОВА БЛОК-СХЕМИ ТА РОЗРОБКА ПРОГРАМИ ПРОВЕДЕННЯ РОЗРАХУНКІВ АЧХ ТА ФЧХ ЗАДАНОГО ЗВ’ЯЗАНОГО КОНТУРУ, ЗНАЙДЕНИХ НА ПЕРШОМУ ЕТАПІ 3.1 Побудова блок-схеми програми знаходження АЧХ та ФЧХ зв’язаного контуру Для заданої схеми зв’язаного контуру побудуємо блок-схему програми розрахунків АЧХ та ФЧХ знайдених на першому етапі. Блок-схема головної функції зображена на рис. 3.1. Рисунок 3.1 Блок-схема головної функції Пояснення до блок-схеми (рис. 3.1) головної функції: ініціалізація та присвоєння відповідних значень константам LC, LN, N, X, W де LN – максимальна кількість видимих рядків таблиці (LN=20), N – кількість стовпчиків в таблиці (N=5), X – координата х положення таблиці (X=13), W – товщина границі між комірками (W=1); ініціалізація масиву XPos який має N елементів (містить координати Х положення бордюрів таблиці починаючи з другого); ініціалізація двовимірного масиву typ який має 4 стовпчики та 4 рядки (містить коди символів з яких складаються бордюри таблиці) ; ініціалізація глобальних змінних L, C1, Csw, R, n, C, p, Ksw, d, x, Q, w0, k, w, f1, f2, Ksi де L – індуктивність контуру , C1 – ємність , Csw – ємність зв’язку , R – опір контуру , n – кількість точок розрахунку, C – індуктивність контуруp , p – характеристичний опір , Ksw – коефіцієнт зв’язку , d – кількість рядків таблиці, x – фактор зв’язку , Q – добротність , w0 – резонансна частота , k – шаг розрахунку, w – частота , f1 – АЧХ зв’язаного контуру , f2 – ФЧХ зв’язаного контуру , ksi – узагальнене розладнання , ch1 – 1-байт коду натиснутої клавіші , ch2 – 2-байт коду натиснутої клавіші; Присвоєння початкових значень змінним: EMBED Equation.3 HYPER14HYPER15, , , , ; виклик функції введення початкових значень змінних n, L, C1, Csw, R; перевірка чи дорівнює кількість точок розрахунку n=1: якщо так, то шаг k=8, якщо ні, то шаг k=8/(n-1); виклик функції розрахунку значень змінних x, Q, w0, виклик функції розрахунку і виведення таблиці з значеннями ksi, w, f1, f2; кінець. Блок-схема функції введення початкових значень змінних n, L, C1, Csw, R зображена на рис. 3.2. Рисунок 3.2 Блок-схем функції введення кількості точок розрахунку Пояснення до блок-схеми (рис. 3.2) функції введення початкових значень змінних n, L, C1, Csw, R: очистка екрану; виведення значень змінних n, L, C1, Csw, R; виведення запрошення; зчитування коду нажатої клавіші та присвоювання його змінній ch; якщо ch1=27 (натиснута клавіша Esc), то вийти з програми; якщо ch18 (не натиснута клавіша Backspace), то перейти до пункту 14; включення курсору; введення значень змінних n, L, C1, Csw, R; переведення одиниць вимірювання L з мкГн в Гн:; переведення одиниць вимірювання C1 з нФ в Ф: ; переведення одиниць вимірювання Csw з нФ в Ф: ; виключення курсору; якщо ch113 (не натиснута клавіша Enter), то перейти до пункту 2; повернення. Блок-схема функції розрахунку значень змінних Q, w0, x зображена на рис. 3.3. Рисунок 3.3 Блок-схем функції розрахунку значень змінних Q, w0, x Пояснення до блок-схеми (рис. 3.3) функції розрахунку значень змінних Q, w0, x: розрахунок значення змінної C (ємність контуру ); розрахунок значення змінної p (характеристичний опір D Equation.3 HYPER14HYPER15); розрахунок значення змінної Q (добротність ); розрахунок значення змінної w0 (резонансна частота ); розрахунок значення змінної Ksw (коефіцієнт зв’язку ); розрахунок значення змінної x (фактор зв’язку ); повернення. Блок-схема функції розрахунку і виведення таблиці з значеннями ksi, w, f1 и f2 зображена на рис. 3.4. MAT HYPER14HYPER15 Рисунок 3.4 Функція розрахунку і виведення таблиці з значеннями ksi, w, f1 и f2 Пояснення до блок-схеми (рис. 3.4) функції розрахунку і виведення таблиці з значеннями ksi, w, f1 и f2: ініціалізація глобальних змінних ch1, ch2, j, l, i, де j – кількість невиведених строк, l – кількість строк зміщення, i – змінна циклу; якщо кількість точок більше максимальної кількості видимих рядків таблиці n> NL, то: d=LN, j=n-1; якщо ні, то: d=n, j=0; присвоєння початкового значення змінній l: l=0; очистка екрану; виклик функції вирисовування шапки таблиці; якщо l<0, то l=0; якщо l>j, то l=j; виклик функції заповнення строки таблиці значеннями змінних ksi, w, f1, f2 з фактичним параметром l; виклик функції вирисовування бордюрів таблиці з фактичними параметрами: 4+d, 3; переміщення курсору в положення (1, d+5); виведення списку доступних команд; зчитування коду нажатої клавіші та присвоєння його змінній ch1; якщо ch10, то перейти до пункту 19; зчитування коду нажатої клавіші та присвоєння його змінній ch2; якщо ch2=72, то l=l-1; якщо ch2=80, то l=l+1; якщо ch2=81, то l=l+LN-1; якщо ch2=73, то l=l-LN-1; якщо ch127 та ch113, то перейти до пункту 4; повернення. Блок-схема функції вирисовування шапки таблиці зображена на рис. 3.5. HYPER15 Рисунок 3.5 Функція вирисовування шапки таблиці Пояснення до блок-схеми (рис. 3.5) функції вирисовування шапки таблиці: ініціалізація змінної i (де i – змінна циклу); виклик функції прорисовування бордюрів таблиці з передачею їй фактичних параметрів: 1, 0; виклик функції прорисовування бордюрів таблиці з передачею їй фактичних параметрів: 2, 2; виклик функції прорисовування бордюрів таблиці з передачею їй фактичних параметрів: 3, 3; переміщення курсору в положення ( X+1, 2); виведення значення змінної Text[0]; присвоєння початкового значення змінній i: i=0; якщо i N, то перейти до пункту 13; переміщення курсору в положення (XPos[i-1]+1, 2); виведення значення змінної Text[i]; збільшення значення змінної i: i=i+1; перейти до пункту 8; повернення. Блок-схема функції вирисовування бордюрів таблиці зображена на рис. 3.6. Рисунок 3.6 Функція вирисовування бордюрів таблиці Пояснення до блок-схеми (рис. 3.6) функції вирисовування бордюрів таблиці: ініціалізація змінної i (де i – змінна циклу); переміщення курсору в положення (X, y); виведення символу з кодом typ[type][0]; якщо type2, то перейти до пункту 11; присвоєння початкового значення змінній i: i=X+1; якщо iXPos[N-1] , то перейти до пункту 11; переміщення курсору в положення (i, y); виведення символу з кодом typ[type][1]; збільшення значення змінної i: i=i+1; перехід до пункту 6; присвоєння початкового значення змінній i: i=0; якщо i N-2, то перейти до пункту 17; переміщення курсору в положення (XPos[i], y); виведення символу з кодом typ[type][2]; збільшення значення змінної i: i=i+1; перехід до пункту 12; переміщення курсору в положення (XPos[N-1], y); виведення символу з кодом typ[type][3]; повернення. Блок-схема функції заповнення комірок таблиці значеннями ksi, w, f1, f2 рис. 3.7. Рисунок 3.7 Блок-схема функції заповнення комірок таблиці значеннями ksi, w, f1 та f2 Пояснення до блок-схеми (рис. 3.7) функції виводу таблиці значень кси, омега, АЧХ и ФЧХ: ініціалізація змінних i, l1 де i – змінна циклу, l1 – 1-й формальний параметр (кількість строк зміщення); присвоєння початкового значення змінній i: i=0; якщо i d, то перейти до пункту 19; виклик функції прорисовування бордюрів таблиці з передачею їй фактичних параметрів: i+1, 2; переміщення курсору в положення (X+1, i+4); виведення номера рядка: i+l1+1; переміщення курсору в положення (XPos[0]+1, i+4); розрахунок значення змінної ksi: ksi=(0-4)+k*(i+l1); виведення значення ксі: ksi; виклик функції розрахунку частоти (w), АЧХ (f1), ФЧХ (f2); переміщення курсору в положення (XPos[1]+1, i+4); виведення значення частоти: w; переміщення курсору в положення (XPos[2]+1, i+4); виведення значення АЧХ: f1; переміщення курсору в положення (XPos[3]+1, i+4); виведення значення ФЧХ: f2; збільшення значення змінної i: i=i+1; перехід до пункту 3; повернення. Блок-схема функції розрахунку частоти (w), АЧХ (f1), ФЧХ (f2) зображена на рис. 3.8. Рисунок 3.8 Функція розрахунку АЧХ Пояснення до блок-схеми (рис. 3.8) розрахунку частоти (w), АЧХ (f1), ФЧХ (f2): розрахунок значення змінної w (омега): w=(w0*(ksi+sqrt(4*Q*Q+ksi*ksi)))/(2*Q); розрахунок АЧХ за формулою (1.7); розрахунок ФЧХ за формулою (1.10); повернення. 3.2 Розробка програми знаходження значень АЧХ та ФЧХ зв’язаного контуру Для знаходження значень АЧХ та ФЧХ зв’язаного контуру я розробив програму, яка написана на м |
Посетителей: 1, из них зарегестрированных: 0, гостей: 1 Зарегистрированные пользователи: Подробно | Страница сгенерирована за 0.165 сек. |