Зміст p>
1. Вступ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 5
2. Призначення та область застосування ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 6
3. Технічні характеристики ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 7 p>
1. Постановка задачі ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 7 p>
2 . Опис функціонування програми ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 9 p>
3. Вхідні та вихідні дані ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 10 p>
4. Склад технічних і програмних засобів ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 11
4. Література ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 12
5. Додаток ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 13 p>
1. Вступ p>
Дана курсова робота присвячена розробці програмного модуля
"rg.exe", який повинен виконувати обробку безперервного періодичногосигналу. Найбільше розповсюдження ця задача отримала в області медицини,де необхідно швидко і детально обробляти сигнал енцефалограма. Широкерозповсюдження персональних комп'ютерів типу IBM PС XT/AT дало додатковийімпульс до розвитку апаратних і програмних засобів для рішення данихзавдань. p>
Розробка програмного продукту ведеться на основі завдання виданогокафедрою ВТіП Харківського державного політехнічного університету від
15.02.2000 р. P>
2. Призначення та область застосування p>
Програма вирішує задачу виведення на екран обробленої інформації відчетірьохканального обробник сигналів в реальному масштабі часу. Прийомвищезгаданих сигналів проводиться через буферні масиви даних, якіорганізовані у вигляді файлів на магнітному носії. p>
Програма призначена для адекватного відображення на екрані моніторавхідної, проміжної і вихідної інформації в системі обробки сигналів. p>
Областю застосування даної програми можна назвати будь-яку областьлюдської діяльності, в якій може зажадати визначити періодквазіпереодічного сигналу і вивести результати на екран для їх подальшоїобробки і використання. p>
3. Технічні характеристики p>
3.1. Постановка задачі p>
Для спеціалізованих автоматизованих систем (САС) ана -Ліза багатоканальної сигнальної інформації в реальному масштабі часу
(РМЧ) характерні, поряд з іншими, такі основні функції, як введення іпопередня (первинна) обробка сигналів. p>
Прогрмній модуль повинен працювати як об'єкт обробки САС, що являєсобою квазіпереодічні Низькочастотні аналогові сигнали, які синхроннознімаються по декількох каналах та обробка яких проводиться у тимчасовійобласті. p>
Основними вимогами, що пред'являються до такий САС, євідсутність втрат багатоканальної сигнальної інформації, що вводиться іпоперіодічна оперативна обробка сигналів в кожному каналі. p>
Виходячи з особливостей об'єкта і характеру його обробкипроцес, що реалізовує багатоканальна введення і попередню обробкусигналів, визначення параметрів періодів і сигналів та формування файлапараметрів, повинен виконувати наступні функціональні дії: p>
- рахунок і контроль тривалості сеансу; p>
- завдання інтервалу дискретизації сигналів; p>
- комутація каналів введення; p >
- перемикання каналів для попередньої обробки; p>
- отримання відфільтровувати відліку сигналу; p>
- обчислення першою похідною (різниці) сигналу; p>
- обчислення другою похідною (різниці) сигналу; p>
- перевірка на екстремум сигналу; p>
- перевірка на перегін (екстремум першої різниці) сигналу; p>
- накопичення інформації про екстремум сигналу ; p>
- накопичення інформації про перегіні; p>
- аналіз структури виявленого періоду сигналу; p>
- прийняття рішення про передачу інформації про знайденому періоді сигналу для подальшої обробки;
- гарафічна візаулізація результатів; p>
Для глобального процесу, що розглядається виділені ло -Кальне процеси, з яких до основних віднесені наступні: p>
- рахунок часу сеансу; p>
- квазісінхронний багатоканальна введення відліку сигналів; p>
- цифрова фільтрація сигналів; p>
- цифрове діферінцірованіе (перше і друге) сигналу; p>
- отримання особливих відліків (точок екстремумів і перегінів)сигналу; p>
- виділення періодів сигналу для подальшої обробки.
Програмна реалізація на машинно-орієнтованій мові у виглядіспеціалізованого модуля повинна функціонувати в середовищі ДОС ізабезпечувати роботу з таймером. p>
3.2. Опис функціонування програми p>
Програмний модуль являє собою цикл, вихід з якого проводитьсязакінченням роботи блоку, який модолює роботу АЦП. При старті програми всідані з файлів за допомогою яких модулюється АЦП завантажуються в масивиданих. Вся подальша робота проводиться вже над ними. Далі програма отримуєнаступний відлік сигналу, який прходить
2-х етапне фільтрацію (медіанна та сглажування). Потім програма отримуєвідфільтрова-ний відлік сигналу, бчіслює першу похідну (різницю)сигналу, другу похідну (різницю) сигналу, виконує перевірку на екстремум таперегін, накопичує інформацію про екстремум та перегіні, аналізує структурувиявленого періоду сигналу, та якщо знайду період виконує обчисленняпараметрів сигналу. p>
Графічне відображення на екран проводиться шляхом використаннястандартної бібліотеки для роботи з гпафікою. Графіки виводяться для 4-хканалів одночасно, та для кожного каналу - вхідний та відфільтрованійсигнал. p>
обчислені параметри сигналу зберігаются на диску з вказанням періода. p>
3.3. Вхідні та вихідні дані p>
Вхідні дані являють собою файл в якому в цілочісельному форматізнаходяться немасштабовані графіки вхідних сигналів (файли "kanal.dat "). p>
Вихідні дані є графічні представлення масивів даних на екранімонітора, та файл зпараметрами періоду ( "masp.res "). p>
3.4. Склад технічних і програмних засобів p>
Модуль попередньої обробки РЕГ сигналу розробляється дляавтоматизованої системи медичного контролю і діагностики, яка функціонуєна базі ПЕОМ типу IBM PC/AT. p>
Для нормальної роботи модуля в режимі реального часу необхідна ПЕОМ набазі мікропроцесора i80386 і вище, операційна система MS DOS версії ненижче за 3.30. p>
Програма відкомпілюваті в середовищі Windows'95 (MS DOS 4.00.950) підуправлінням «Borland С + + 3.1». p>
4. Література p>
1. "Швидкі алгоритми цифрової обробки зображень". Під редакціей
Т.С. Хуанга. Москва "Радио и связь" .1984.
2. "Аналіз результатів спостережень". Дж.Тьюкі. Москва "Мир" .1981.
3. "Довідник по пристроїв цифрової обробки інформації". Підредакціей д-ра техн. наук В. Н. Яковлева. Київ "Техніка". 1988. P>
5. Додаток p>
Лістинг програмного модуля p>
# include
# include
# include
# include
# include
# include
# define Size 1600
# define Meanings 500
# define KO 4
# define KMO 7
# define KSO 7 p>
# define INTR 8/* The clock tick interrupt */ p>
# ifdef __cplusplus p>
# define __CPPARGS ...
# else p>
# define __CPPARGS
# endifstatic int kf;int stop = 1;
FILE * outst; p>
/*--------------- вхідні дані (4 канали) ---------------- --* /int azp [4] [Meanings], out [4] [Meanings]; p>
int outmed [28] = (0,0,0,0,0,0,0, p> < p> 0,0,0,0,0,0,0, p>
0,0,0,0,0,0,0, p>
0,0,0, 0,0,0,0 p>
), outsr [28] = (0,0,0,0,0,0,0, p>
0,0,0,0 , 0,0,0, p>
0,0,0,0,0,0,0, p>
0,0,0,0,0,0,0 p>
), mean [4] = (0,0,0,0), kpmo [4] = (0,0,0,0), krs [4] = (0,0,0,0 ), amvoi [4] = (0,0,0,0), ofsmed [4] = (0,0,0,0), sum [4] = (0,0,0,0), tmpmed [7 ] = (0,0,0,0,0,0,0), flags [4] = (0,0,0,0), flags1 [4] = (0,0,0,0), fla [ 4] = (0,0,0,0), iper [4] = (0,0,0,0), iex [4] = (0,0,0,0), io [4] = (0 , 0,0,0), fex [4] = (0,0,0,0), imean [4] = (-1, -1, -1, -1), st [4] = (2, 2,2,2), ipd [4] = (0,0,0,0), ips [4] = (0,0,0,0), per [4] [10], percnt [4] = (-1, -1, -1, -1); p>
/* змінні програми * /int t, f1 = 0, flag, iex1 = 0, j, kk = 0, ps = 0, z, pd = 1, dko = 0, k = 1, i, m, fl = 1, dx = 3, dx1 =- 4; char str [5];
/ * вихідні дані * /static int me [4] [Meanings],/* екстремуми */mp [4] [Meanings],/* перегини */mo [4] [Meanings],/* особливі точки */mr [4] [Meanings],/* перший разности */ms [4] [Meanings],/* секунди */md [4] [Meanings];/* дискретні відліки */ p>
/* Змінні для процедури обробки */int ot1 , ot2, ot3, ot4, ot5, ot6; int tf, tf1, ne, vk, int masp [4] [11]; int kaz; long sq, s; p>
void init_azp (int [] [Meanings], char []);void interrupt (* oldhandler) (__CPPARGS); p>
void interrupt handler (__CPPARGS)
(If (- kf p>