заповнення буфера (або його частини). В зв’язку з тим, що заздалегідь невідомій розмір даних, які зчитуються, передбачено циклічне додавання буферів пристрою АЦП за допомогою виклику функції waveInAddBuffer.
3. Ініціюється початок захоплення потоку даних і очікується сповіщення про його завершення.
4. Фіксується буфер (або його частина) для отримання доступу до захопленого потоку даних і звільняються раніше створені об’єкти.
Існує також можливість запису оцифрованого шумового сигналу для зберігання в файл. Зберігання здійснюється у вигляді WAVE-файлу і має формат RIFF — Resource Interchange File Format (табл. 2.1).
Інформація в цьому форматі представляється у вигляді блоків (chunk). Кожен блок має три розділи: ідентифікатор блока — чотири символи, розмір поля даних — чотири байта і безпосередньо самі дані. Всередині поля даних можуть знаходитись вкладені блоки. Таким чином, всередині одного інформаційного файлу може знаходитись кілька потоків даних.
Алгоритм основної процедури цифрової обробки сигналу для енергетичної моделі вимірювальної системи представлений на рис. 2.1 і складається з послідовності наступних операцій:
Таблиця 2.1.
Структура файлу з вимірювальною інформацією
Зміщення від початку файлу | Довжина | Опис
0h | 4h | Ідентифікатор формату (‘RIFF’)
4h | 4h | Довжина блоку даних (довжина файлу – 8h)
8h | 4h | Ідентифікатор блоку даних
0ch | 4h | Ідентифікатор підблоку заголовку (‘fmt ’)
10h | 4h | Довжина підблоку заголовку (000ch/0010h)
14h | 2h | Тип формату представлення даних (01h)
16h | 2h | Число каналів (1 або 2)
18h | 2h/4h | Частота дискретизації, Гц
1ah/1ch | 2h/4h | Швидкість передачі даних, байт/с (добуток числа каналів, частоти дискретизації
і розрядності в байтах)
1ch/20h | 2h | Число байт для представлення одного відліку
1eh/22h | 2h | Розрядність, біт (8, 16)
20h/24h | 4h | Ідентифікатор підблоку даних (‘data’)
24h/28h | 4h | Довжина вимірювальних даних
28h/2ch | Вимірювальні дані
Ініціалізація необхідних змінних і виділення пам’яті під масиви вхідних даних і результатів.
Відкриття потоку даних. Доцільно зазначити, що функція універсальна як для випадку роботи із раніше збереженими експериментальними даними, так і для роботи в режимі реального часу. В першому випадку потоком даних буде інформація, збережена у файлі на постійному носії (HDD, CD-ROM), в другому — дані, які в режимі реального часу поступають з АЦП.
Наступні дії виконуються в циклі, поки не буде досягнуто кінця потоку даних: в режимі роботи з файлом — признак кінця файлу (eof), в режимі реального часу — зовнішнє переривання.
Безпосередня цифрова обробка сигналу включає в себе центрування сигналу, процедуру автокореляції за допомогою алгоритму швидкого перетворення Фур’є, процедуру згладжування кореляційним вікном обраної форми та процедуру безпосереднього отримання енергетичного спектру за допомогою швидкого перетворення Фур’є.
Отримане значення енергії шумових сигналів у відповідності до аналітичного рівняння зберігається у масиві вихідних даних, який при необхідності може бути збережено у файл, та відображається на моніторі комп’ютера в числовому вигляді та у вигляді графіку.
Усереднене по часу значення енергії шумових сигналів перетворюється на значення величини витрати і виводиться на екран по закінчені обробки всіх даних поточного експерименту.
Тексти наведених процедур подані в додатках.
2.2. Розробка програмного забезпечення досліджень властивостей шумових сигналів
В процесі досліджень шумових акустичних сигналів, що утворюються при протіканні газу в трубопроводі було створено програмне забезпечення, за допомогою якого здійснювалась оцінка характеристик шумів, випробовувались різні методи та алгоритми обчислень, здійснювалась оцінка різних параметрів, необхідних в подальшій роботі над системою вимірювання витрат газових потоків на основі статистичних оцінок шумів.
Зручно використати візуальне середовища програмування для створення комплексного програмного продукту, який буде лояльним до користувача та мати гнучкі можливості деталізації результатів обробки вхідної інформації у відповідності з математичним апаратом логіко-статистичних інформаційних моделей.
Для створення програмного рішення поставлених задач, за основу взято візуальне середовище програмування Borland C++ Builder Version .0 Copyright © Borland Software Corporation. Мовою програмування в цьому середовищі є C++.
Borland C++ Builder є досить гнучким та зручним для створення програмних продуктів. Його об’єкти та розширені бібліотеки дозволяють не тільки оформити отримання та динамічну обробку інформації, а й графічно в режимі реального часу відображати зміну вхідних параметрів, математичної моделі та системи в цілому.
Borland C++ Builder — це надзвичайно потужна система розробки прикладних програм для Windows. Вона впевнено займає передові позиції як серед професійних програмістів, так і серед людей, що ніколи професійно не займались програмуванням. Професіонали використовують C++ Builder для побудови складних аплікацій з розподіленими базами даних і для багатьох інших цілей. Спеціалісти самих різних спеціальностей створюють засобами Delphi невеликі прикладні програми для рішення своїх професійних задач [18, 19, 20].
Перевага C++ Builder полягає в мові C++, який лежить в її основі. Це одна з найпотужніших сучасних алгоритмічних мов загального призначення. Наряду із своєю простотою C++ Builder дає широкі можливості по розробці складних і ефективних програм.
Інтегроване середовище розробки (ІСР) C++ Builder — це середовище, в якому є все необхідне для проектування, запуску і тестування програмних продуктів і де все націлено на полегшення процесу створення програм. ІСР інтегрує в себе редактор кодів, відладчик, інструментальні панелі, редактор зображень, інструментарій баз даних та багато іншого [18, 19, 20].
Розроблений комплекс програмних засобів забезпечує ефективну роботу на комп’ютерах класу IBM PC: процесор (CPU) – Pentium, тактова частота процесора 500 МГц та вище, об’єм оперативної пам’яті (RAM) – 128 Мб і більше, незйомний накопичувач даних (HDD) – не менше 20 Гб. З метою організації операцій архівування даних необхідна наявність пристрою читання/запису компакт-дисків CD-RW/DVD-RW.
Для дослідження вихідного випадкового сигналу створено