Przykłady zastosowań
W niniejszym rozdziale zostaną przedstawione krótkie przykłady zastosowania systemu RetractorDB w rozwiązaniu konkretnych zagadnień spotykanych w konstrukcjach systemów monitorowania.
Każdy przykład jest kompletny - zawiera opis problemu, projekt zapytań RQL, uruchomienie oraz interpretację wyników. Przykłady można uruchomić samodzielnie: wymagane pliki danych i skrypty są opisane krok po kroku.
-
Przykład demonstruje, jak zrealizować cyfrowy filtr FIR bezpośrednio w strumieniu zapytań RQL, bez zewnętrznych bibliotek DSP. Zagadnienie jest reprezentatywne dla szerokiej klasy problemów przetwarzania sygnałów: filtracja szumów, separacja pasm częstotliwości, wygładzanie serii czasowych.
Przykład obejmuje:
- projektowanie współczynników filtru w programie GNU Octave (algorytm Remeza, metoda
remez()), - przeniesienie współczynników do pliku tekstowego i wczytanie ich jako strumień
DECLARE, - implementację splotu dyskretnego jako zestawu zapytań
SELECTz operatorem ruchomego okna@i rozwinięciem symbolu_, - wizualizację przebiegu filtracji w czasie rzeczywistym za pomocą
xqryignuplot.
Wynikiem jest działający system filtrujący sygnał pseudolosowy (50 Hz) do pasma 0–2 Hz, obserwowany na żywo podczas działania xretractor.
- projektowanie współczynników filtru w programie GNU Octave (algorytm Remeza, metoda
-
Analiza sygnałów EKG (MIT-BIH)
Przykład demonstruje zastosowanie RetractorDB do przetwarzania klinicznych sygnałów EKG z publicznej bazy MIT-BIH Arrhythmia Database (PhysioNet). Jest to złożony przypadek użycia łączący kilka mechanizmów systemu: wielokanałowe strumienie wejściowe, wieloetapowy potok filtracji FIR, adaptacyjny próg detekcji oraz wizualizację w czasie rzeczywistym.
Przykład obejmuje:
- przygotowanie danych: konwersja nagrań MIT-BIH (format WFDB) do plików tekstowych kompatybilnych z RetractorDB,
- implementację pięcioetapowego algorytmu Pan-Tompkins w RQL: filtr pasmowoprzepustowy → różniczkowanie → potęgowanie → całkowanie ruchome → detekcja progowa,
- wizualizację sygnału EKG i wyniku detekcji QRS w oknie gnuplot (tryb RTL - najnowsze próbki po prawej),
- interpretację wyników: odczyty interwałów RR, identyfikacja epizodów arytmii na rekordzie 205 MIT-BIH.
Wynikiem jest działający detektor QRS przetwarzający dwukanałowy sygnał EKG (MLII + V1) z częstotliwością 360 Hz, realizowany wyłącznie zapytaniami RQL bez specjalistycznych bibliotek.
-
Przykład demonstruje, jak z regularnego strumienia próbek zbudować świece OHLC (otwarcie, maksimum, minimum, zamknięcie) i narysować je na żywo razem z próbkami, z których powstały. Ta sama konstrukcja pasuje do każdego sygnału, który ogląda się w przedziałach: notowań, pomiarów czujników, obciążenia.
Przykład obejmuje:
- wygładzenie szumu agregatem okna rekordowego
AVG(... : 25), - okno rozłączne z agregacją lustrzaną
@(10,-10), które wyznacza granice świecy i kolejność jej próbek, - reduktory
MAXiMINw klauzuliFROMoraz złożenie świecy i jej próbek w jeden rekord operatorem+, - wizualizację w trybie
xqry --gnuplot-ohlcuruchamianą celemninja candlestick.
Wynikiem jest wykres 25 świec po 10 próbek, odświeżany co 0,2 s, w którym każda świeca stoi dokładnie nad próbkami, z których powstała.
- wygładzenie szumu agregatem okna rekordowego