|
Analiza procesów przemysłowych
w środowisku Matlab
Marcin
Maślanka
student V roku, spec. Automatyka i Metrologia, IMiR, AGH
Streszczenie
- Opracowanie zawiera opis programu Disper v1.0 (zrealizowanego w
środowisku Matlab) z zaimplementowanymi algorytmami dotyczącymi
m.in. analizy częstotliwościowej, filtracji, projektowania
filtrów IIR oraz FIR, zmiany częstotliwości próbkowania, współpracy
z Simulinkiem, odsłuchu sygnału, eksportu/importu danych,
generowania sygnałów testowych. Dołączona do programu obszerna
pomoc użytkownika, obejmująca także opis teoretyczny wszystkich
dokonywanych w programie operacji, stanowi o wartości
dydaktycznej programu. Wykorzystano pakiet Matlab 5.3 oraz
Signal Processing Toolbox 4.2.
SPIS
TREŚCI
1. Wprowadzenie
2. Podstawowe wymagania stawiane oprogramowaniu do analizy procesów
3. Metodyka tworzenia własnych aplikacji w środowisku Matlab
4. Prezentacja stworzonego programu
4.1 Budowa programu
4.2 Sposób uruchomienia programu
4.3 Opis funkcji menu
4.4 Omówienie wybranych opcji programu
5. Podsumowanie
Literatura
1. Wprowadzenie
Analiza
procesów przemysłowych obejmuje w przyjętym rozumieniu analizę w dziedzinie
czasu oraz częstotliwości szeregów czasowych będących reprezentacją cyfrową
zbioru danych pomiarowych. Niniejsze opracowanie oraz prezentowany program wraz
z dołączonymi plikami pomocy teoretycznej zawężają nieco tytułowe
pojęcie i dotyczą jedynie operacji przeprowadzanych w trybie off
line.
Celem pracy było opracowanie w środowisku Matlab
zestawu procedur narzędziowych, które wraz z interfejsem użytkownika stanowiłyby
kompletne narzędzie do analizy i przetwarzania rozpatrywanych realizacji
procesu.
Pakiet Matlab, obecny na rynku oprogramowania od 1980 i stale
rozbudowywany produkt firmy MathWork Inc., stanowi jedno z najbardziej
popularnych narzędzi wspomagających prace inżynierskie. Od wielu już
lat pakiet ten cieszy się dużą popularnością również w Polsce. Na
organizowanej w 1995 roku przez Akademię Górniczo – Hutniczą w Krakowie I
Krajowej Konferencji Użytkowników MATLAB-a, przedstawiono ponad 50 referatów
dotyczących zastosowań pakietu w różnych dziedzinach wiedzy. Prezentowano
tam wykorzystanie Matlaba w modelowaniu systemów dynamicznych, elektronice,
automatyce i robotyce, biologii i medycynie, metrologii i przetwarzaniu sygnałów
i innych dziedzinach techniki [1].
Ze względu na pewne jego cechy charakterystyczne, pakiet ten szczególnie
przydatny jest w zastosowaniu do przetwarzania i analizy sygnałów oraz
prototypowania układów sterowania.
Na środowisko to składa się napisane w języku C
i skąpilowane jądro programu oraz zestaw napisanych w języku wewnętrznym
Matlaba specjalistycznych procedur zestawionych w grupy tematyczne zwane
przybornikami. Licznie powstające nowe specjalistyczne przyborniki to efekt
niesłabnącej popularności tego środowiska w kręgach naukowych. Pakiet
zawdzięcza to wbudowanym w jądro programu szybkim, efektywnym i niezawodnym
algorytmom realizującym operacje matematyczne, sposobie funkcjonowania
zmiennych w przestrzeni roboczej programu oraz językowi programowania o dużej
przejrzystości i spójności logicznej.
Dla mniej
zaawansowanych użytkowników ogromne możliwości pakietu są jednak
praktycznie niedostępne. Celem pracy było zatem stworzenie w tym środowisku
samodzielnej aplikacji służącej do analizy procesów przemysłowych, której
użycie nie wymagałoby znajomości Matlaba, a która charakteryzowała by się
łatwością rozbudowy i modyfikacji jej działania przez użytkowników
bardziej zaawansowanych.
Niniejsze opracowanie zawiera
opis stworzonego przez autora programu spełniającego oba powyższe wymagania.
Utworzony interfejs użytkownika o intuicyjnej obsłudze pozwala na posługiwanie
się programem bez wymaganej znajomości środowiska Matlab, a kontekstowa pomoc
użytkownika oraz rozbudowana pomoc teoretyczna podwyższają dodatkowo wartość
dydaktyczną programu. Prezentowane podejście algorytmiczne do realizacji
programu umożliwia natomiast łatwą jego modyfikację lub rozbudowę.
Program w obecnie prezentowanej wersji obejmuje
jednowymiarową analizę procesów ze strukturalnym uwzględnieniem przyszłej
rozbudowy o analizę zależności pomiędzy sygnałami. Wszystkie operacje
2. Podstawowe wymagania stawiane oprogramowaniu do analizy procesów
Do wymagań stawianych tego typu
oprogramowaniu pracującemu w trybie off line należą niewątpliwie
(pomijając oczywiście pewność działania !) wymagania stawiane co do dostępnych
formatów danych akceptowanych przez program. Im większa zatem ilość formatów tym
oczywiście lepiej. Kolejnymi wymaganiami są założenia dotyczące dostępnych
metod analizy. Poniżej wymienia się rodzaje analiz, których implementacja w
programie jest niezbędna.
-
analiza gęstości widmowej mocy;
-
analiza funkcji autokorelacji;
-
analiza sygnałów okresowych i prawie okresowych;
-
analiza sygnałów niestacjonarnych;
dodatkowo wymienia się:
Analiza gęstości widmowej mocy
(PSD)
Celem analizy widmowej jest wyznaczenie częstotliwościowej
zawartości procesu, bazując na skończonych zbiorach danych. Estymacja
widmowej gęstości mocy jest użyteczna w różnych zastosowaniach, włączając
detekcję sygnałów zakłóconych szumem o szerokim paśmie. Funkcja gęstości
widmowej mocy posiada taką własność, że jej całka w danym paśmie częstotliwości
jest równa mocy sygnału x(n) w tym paśmie. Istnieje wiele różnych metod
estymacji PSD. Można jednak zgrupować je w dwóch kategoriach: estymacji parametrycznej i nieparametrycznej.
Główną techniką stosowaną w analizie procesów (również w stworzonym przez autora programie
Disper) jest
nieparametryczny algorytm, opracowany przez Welcha, który został precyzyjnie
opisany w pomocy teoretycznej programu Disper.
Analiza funkcji autokorelacji
Dla sygnału stacjonarnego funkcja
autokorelacji stanowi odwrotną transformatę Fouriera gęstości widmowej mocy
i charakteryzuje ogólną zależność wartości sygnału w pewnej określonej
chwili od wartości sygnału w innej chwili. Wyznaczanie tej funkcji nie wnosi
zatem do analizy żadnej nowej informacji, której nie byłoby zawartej w gęstości
widmowej mocy. W pewnych przypadkach jednak funkcja ta jest czytelniejsza niż gęstości
widmowej mocy i może służyć jako narzędzie do wykrywania składowych
okresowych w sygnale losowym. Dla dowolnej realizacji x(t) rozpatrywanego
procesu estymator wartości funkcji autokorelacji, wiążącej wartości x(t) w
chwilach t oraz t+dt (gdzie dt oznacza przesunięcie), można uzyskać obliczając
iloczyn tych wartości i uśredniając go następnie w przedziale czasu
obserwacji T. Wyznaczanie funkcji autokorelacji zaimplementowano w utworzonym
programie wraz z możliwością doboru odpowiedniego schematu normalizacji (co
opisano teoretycznie w pomocy programu) w celu wyznaczenia najbardziej
wiarygodnej estymaty szukanej funkcji.
Analiza sygnałów okresowych i prawie okresowych
Jeżeli na etapie kwalifikacji sygnałów wykryte
zostaną w sygnale zależności okresowe to zawsze poświęca się temu większą
uwagę. Postępuje się wg dwóch metod: wydziela się składowe sinusoidalne
poprzez operacje filtracji po czym poddaje się je oddzielnej analizie lub
poddaje się je analizie wraz z losowym ‘tłem’ sygnału uwzględniając to
we wnioskach końcowych. Potrzeby filtracji różnego rodzaju zachodzą jednak
prawie zawsze. W utworzonym programie została z tego powodu zaimplementowana
zaawansowana opcja filtracji oraz projektowania dowolnie kształtowanych w
dziedzinie częstotliwości filtrów cyfrowych.
Specjalne metody analizy
Stosowane bardzo często specjalne metody analizy są
odpowiedzią na specyficzne wymagania co do ekstrakcji pewnych najbardziej
informatywnych cech z rozpatrywanej realizacji procesu. Przykładem może być
przywoływana w literaturze potrzeba wyznaczania ekstremum gęstości
prawdopodobieństwa sygnału reprezentującego w pewnym układzie naprężenia
mechaniczne [5]. W opracowanym programie dzięki połączeniu programu ze środowiskiem
Simulinka istnieje nieograniczona możliwość implementowania specjalnych
funkcji analizy. W odpowiednio tworzonym i symulowanym następnie modelu
dynamicznym można zamieścić elementy w dowolny sposób wiążące wejście
modelu z wyjściem. Przykładem może być wykorzystanie w tworzonym modelu
sieci neuronowych realizujących dowolne nieliniowe przekształcenie lub zależności
transmitancyjnej określonego systemu dynamicznego.
3. Metodyka tworzenia własnych aplikacji w środowisku Matlab
Środowisko Matlab ze wszystkimi dostępnymi narzędziami stanowi w pełni wartościową
platformę programistyczną do szybkiego tworzenia dowolnie zaawansowanych
numerycznie aplikacji komputerowych o strukturze otwartej. W środowisku tym
wbudowano własny język programowania, który dla osób mających jakiekolwiek
doświadczenie z programowaniem komputerów, z pewnością okazuje się bardzo
atrakcyjny. Przejrzysta i logicznie spójna gramatyka tego języka z dostępnymi
optymalizowanymi algorytmami arytmetyki macierzowej (macierz jest w tym środowisku
podstawową zmienną) szczególnie ułatwia realizację programów mocno
zaawansowanych numerycznie. Wśród dostępnych typów zmiennych uwagę zwracają
macierze wielowymiarowe, macierze struktur oraz struktury zagnieżdżane (pole
struktury może zawierać inną strukturę lub nawet macierz struktur), dostępność
zmiennych tego typu umożliwia wydajne podejście do rozważanych problemów. Zainteresowanych odsyła się do dostępnych
na stronach internetowego magazynu Process
Control Club innych programów autora. W jednym z tych programów dokonywane są liczne operacje na dużych macierzach wielowymiarowych
(obliczenia Metodą Elementów Skończonych ... ), w
kolejnym jako
podstawową zmienną programu zastosowano wektor struktur umożliwiając bardzo przejrzystą i pewną od
strony algorytmicznej realizację operacji na rozpatrywanych tam obrazach
cyfrowych ...
W środowisku Matlab dostępne są także obiektowe elementy graficzne
umożliwiające wygodne budowanie graficznego interfejsu użytkownika. Wśród
podstawowych obiektów należy wyróżnić: figure – obiekt okna
graficznego, axes – obiekt wykresu, na którym umieszczane są podporządkowane
obiekty typu line, patch, image itp. Dostępny zestaw
kontrolek (wszystkie tworzone są jednym poleceniem uicontrol) umożliwia
budowę właściwych elementów interfejsu takich jak przyciski, rozwijane
listy, suwaki czy pola edit. Wszystkie te elementy są obiektami o właściwościach,
których wartości w prosty sposób można odczytywać i modyfikować przy użyciu
poleceń get i set. Jedną z właściwości o zasadniczym
znaczeniu jest właściwość callback, za pomocą której definiuje się
reakcje na określone zdarzenie np. wciśnięcie przycisku [3],
[4].
Na rys.1 przedstawiono jedno z okien prezentowanego
programu Disper wraz z opisem podpiętych pod elementy graficzne tego okna
funkcji realizowanych po zajściu określonego zdarzenia. Przykładowo funkcja DispSim
wywołana z wartością parametru równą 2 odpowiada za reakcję na próbę
zamknięcia okna.

Rys.1 Rozkład funkcji zdarzeń dla przykładowego okna programu Disper
Oto w jaki sposób opracowano prezentowany program:
- poleceniami podanymi powyżej utworzono podstawowe okno programu,
którego ostateczny wygląd uzyskany został dzięki odpowiednim wartościom właściwości wszystkich, zawartych
w jego obszarze obiektów graficznych
- każdy z obiektów dostępny jest poprzez indeks utworzonego wektora parametrów. W celu zmiany wartości
wybranej właściwości pewnego obiektu, wywołuje się go poprzez odpowiedni
indeks tego wektora podany jako jeden z parametrów polecenia set. Kolejnymi
z parametrów tego polecenia są nazwa właściwości i jego wartość.
- dla wybranych obiektów podpięto funkcje wywoływane z odpowiednim
parametrem w przypadku wystąpienia określonego zdarzenia (jak na rys.1).
Funkcje te mogą realizować obliczenia lub tworzyć nowe okna graficzne, które
najlepiej projektować dostępnym w tym środowisku generatorem.
Do stworzenia własnej aplikacji w Matlabie wystarcza podstawowa znajomość
gramatyki jego języka, sposobu tworzenia obiektów graficznych oraz
modyfikowania i odczytywania ich właściwości. Szybki kurs programowania w
Matlabie zawiera pozycja [4].
4. Prezentacja stworzonego programu
4.1 Budowa programu
Na program składają się napisane w języku wewnętrznym
Matlaba m-pliki funkcyjne zgromadzone w katalogu BIN. Interfejs użytkownika
zbudowano przy zastosowaniu dostępnych w środowisku Matlab obiektów
graficznych wg schematu przedstawionego w części poświęconej tworzeniu
aplikacji w tym środowisku. Każdy z m-plików programu jest funkcją, która
wywoływana jest z odpowiednimi parametrami w zależności od zaistniałego
zdarzenia. W kodzie źródłowym programu każda wartość parametru wejściowego
do funkcji jest opisana, co umożliwia szybkie rozeznanie się w jego
strukturze. Poniżej określono spis plików programu:
-
Disper.m – plik uruchomieniowy programu oraz realizujący tworzenie części okienek
programu;
-
Method.m – plik z większością reakcji na występujące w programie zdarzenia;
-
Menu.m – plik realizacji menu programu;
-
Okno.m – procedury budowy wnętrza okna głównego programu;
-
DispSim.m – plik realizujący połączenie programu z
Simulinkiem;
-
Disph.m – plik realizujący okno pomocy podręcznej;
-
DispCopy.m – plik realizujący pobranie obszaru wykresu do osobnego okna umożliwiającego
skopiowanie wykresu do pamięci operacyjnej;
-
Dispf.m – plik realizujący wszystkie algorytmy filtracji;
-
Param.m – plik dostosowujący parametry symulacji modelu
Simulinka;
-
Dkorel.m – funkcja realizująca opcję wyznaczania korelacji własnej rozpatrywanego sygnału;
-
Disper.mat – plik zawierający wartości istotnych dla poprawnego działania programu zmiennych.
Wartości większości zmiennych zamieszczono w
wektorze zm o długości ponad dwustu elementów. Próbki sygnału przechowywane
są w wektorze y oraz y1.
4.2 Sposób uruchomienia programu
Do uruchomienia programu wymagane jest posiadanie zainstalowanego pakietu
oprogramowania Matlab wraz z przybornikiem Signal Processing Toolbox. Program w obecnej może być uruchamiany na platformach Matlab 5.3 oraz Matlab 6.0. Po zmianie katalogu roboczego na katalog
zawierający pliki programu uruchamia się go poleceniem disper. Aby
program dział prawidłowo konieczne jest zachowanie układu katalogów: w
katalogu BIN powinny znajdować się pliki programu, których spis umieszczony
jest powyżej, w katalogu HELP powinny znajdować się pliki pomocy
teoretycznej. Po uruchomieniu programu na ekranie monitora pojawia się okno graficzne
z menu oraz paskiem narządzi. Rys.2 przedstawia okno programu, po uruchomieniu i
wczytaniu przykładowych danych.

Rys.2 Okno programu Disper, po uruchomieniu i wczytaniu przykładowych danych
4.3 Opis funkcji menu
-
Menu Plik
W menu tym zamieszczono funkcje eksportu/ importu danych do programu
Disper. Na rys.3 przedstawiono listę funkcji dostępnych z menu Plik.
Domyślnym formatem eksportu/importu danych jest
format .wav, który wybierany jest po wybraniu opcji Otwórz lub Zapisz
jako. Na rysunku pokazano rozwinięte podmenu Eksport, w którym
oznaczone są dodatkowe formaty wymiany danych z programem Disper. Opcja Kopiuj
wykres umożliwia przeniesienie obszaru wykresu do osobnego okna
zawierającego opcje m.in. kopiowania obszaru wykresu do pamięci
operacyjnej co pozwala np. na wkopiowanie przebiegu sygnału do edytora
tekstów. Opcja Kopiuj wykres wywoływana jest również po kliknięciu
kursorem myszy na obszarze wyświetlania opisu wykresu.

Rys.3 Menu Plik programu Disper
-
Menu Widok
W tym menu znajdują się dwie pozycje określające
dziedzinę wyświetlania rozpatrywanej realizacji procesu. Po wybraniu
jednej z dziedziny wyświetlania przebiegu wyniki wszystkich operacji wyświetlane
będą właśnie w tej dziedzinie.
-
Menu Narzędzia
Dostępne są tutaj opcje zaimplementowanych w
programie metod analizy i przetwarzania rozpatrywanych realizacji procesów.
Należą do nich opcje filtracji, zmiany częstotliwości próbkowania,
wyznaczania funkcji autokorelacji oraz opcja Połącz z Simulinkiem. W menu
tym zamieszczono także opcję generowania sygnałów testowych oraz odsłuchu
sygnału.
-
Menu Dostosuj
Zawarto tutaj narzędzia umożliwiające dopasowanie cech obszaru
wykresu w celu optymalnej wizualizacji danych.
-
Menu Pomoc
Dostępne jest tutaj okno podręcznej pomocy użytkownika oraz obszerna
pomoc teoretyczna do programu (w formacie html).
4.4 Omówienie wybranych opcji programu
Po wybraniu tej opcji na ekranie monitora pojawia się
okno graficzne jak na rys.4 z elementami umożliwiającymi odpowiednie określenie
parametrów analizy.

Rys.4 Okno
doboru parametrów analizy częstotliwościowej programu Disper
Wynikiem
analizy jest estymata gęstości widmowej mocy wyznaczana tutaj metodą Welcha
oraz uśredniony moduł transformaty Fouriera w skali liniowej i logarytmicznej.
Lista wyboru okna czasowego po rozwinięciu przedstawiona została na
rys.5
Rys.5 Dostępne w programie Disper funkcje okien
Dla celów dydaktycznych umożliwiono podgląd kształtu
funkcji okna (ikona podglądu na prawo od listy wyboru okna). Elementy
umieszczone poniżej umożliwiają dobranie odpowiedniej szerokości okna
czasowego oraz nachodzenia okien. Istotnym elementem jest możliwość określenia
rozdzielczości częstotliwościowej dla dokonywanej analizy za pomocą
odpowiednio dobranej ilości punktów analizy.
Po uruchomieniu tej opcji na ekranie pojawia się
okno doboru parametrów filtracji, które przedstawiono na rys.6

Rys.6 Okno filtracji programu Disper
W oknie tym widoczne są listy wyboru typu i algorytmu filtru. Po wybraniu
odpowiedniego filtru z listy i wprowadzeniu wymaganych jego parametrów można
uzyskać podgląd wyników filtracji tak dobranym filtrem przed jej właściwym
dokonaniem. Służy do tego jeden z przycisków poniżej listy wyboru filtru.
Pozostałe przyciski umożliwiają odsłuch sygnału przed i po ewentualnym
zastosowaniu filtru o podanych parametrach oraz dostosowanie obszaru wyświetlania
obu wykresów: oryginalnego i podglądu.
Przycisk Projektowanie filtrów
IIR/FIR przenosi użytkownika w środowisko
projektowania filtrów w dziedzinie częstotliwości. Po zaprojektowaniu
odpowiedniego filtru i załadowaniu jego parametrów do programu Disper możliwy
jest podgląd wyników jego działania oraz wielokrotna edycja jego właściwości.
Na rys.7 pokazano obszar edycyjny kształtowania charakterystyki częstotliwościowej
filtru z okna projektowania filtrów cyfrowych.

Rys.7 Obszar edycyjny kształtowania ch-ki filtru z okna projektowania filtrów
cyfrowych
Projektowanie filtrów przy użyciu tego narzędzia sprowadza się
do odpowiedniego określania ograniczeń na kształt ch-ki częstotliwościowej
filtru.
Funkcja autokorelacji ma duże znaczenie w analizie
sygnałów losowych. Głównym zastosowaniem jest badanie na jej podstawie w
jakim stopniu wartości sygnału w danej chwili mają wpływ na wartości sygnału
w przyszłości. Funkcja ta stanowi dobre narzędzie do wykrywania procesów
zdeterminowanych (w przypadku procesu losowego przy dużych wartościach
przesunięcia funkcja autokorelacji dąży do zera podczas gdy w przypadku sygnału
harmonicznego lub innych sygnałów zdeterminowanych funkcja autokorelacji nie
zanika wraz ze wzrostem przesunięcia). W zaimplementowanej opcji możliwe jest
określanie schematu normalizacji ciągu danych wynikowych tak aby otrzymany
estymator był najbliższy wartości oczekiwanej, zapis wartości funkcji do
pliku.
Opcja ta umożliwia zmianę kolorystyki wykresu,
ustawienie rodzaju funkcji zoom, zamianę oznaczeń osi x (czas lub ilość próbek),
precyzyjne określenie zakresu wyświetlania wykresu, automatyczne dopasowanie
zakresu do amplitudy sygnału. W przypadku gdy na wykresie znajduje się również
przebieg podglądu opcja umożliwia przełączanie skalowania wykresu pomiędzy
sygnałem oryginalnym a podglądem. W przypadku gdy wykonywany jest podgląd
wyniku symulacji modelu Simulinka o więcej niż jednym wyjściu opcja ta umożliwia
przełączanie podglądu pomiędzy kolejne odebrane z wyjścia modelu sygnały.
Na rys.8 zamieszczono okno Dostosuj, z listą odebranych z modelu
Simulinka sygnałów do wyboru:

Rys.8 Okno Dostosuj programu Disper
Opcja
ta umożliwia symulację modeli Simulinka z poziomu programu Disper z dostępem
do wszystkich parametrów symulacji. Jako sygnał wejściowy do modelu stosuje
się ciąg danych rozpatrywanych w programie Disper, sygnał odebrany z wyjścia
powraca do programu. Model Simulinka zastosowano tutaj jako dowolnie
modyfikowany układ przetwarzający analizowaną realizację procesu. Na rys.9
przedstawiono okno graficzne ukazujące się na ekranie po uruchomieniu tej
opcji.

Rys.9 Okno opcji Połącz z Simulinkim programu Disper
Prawa część
okna umożliwia uruchomienie symulacji wyznaczonego modelu. Po wybraniu modelu
przyciskiem Wybierz model przeprowadzany jest test poprawności utworzonej
struktury modelu oraz wszystkich parametrów symulacji. Pomyślnie zakończona
operacja kończy się pojawieniem w belce tytułowej okna nazwy wczytanego do
symulacji pliku (w powyższym przykładzie jest to test.mdl). Przed
uruchomieniem symulacji należy ustawić jej parametry. Najważniejszym z nich
jest MaxStep określający maksymalny krok całkowania stosowanej przy symulacji
metody numerycznej (Solver). Do modyfikacji parametrów symulacji służy opcja
wywoływana przyciskiem z lewej strony okna. Po wciśnięciu tego przycisku
otwiera się okno parametrów symulacji, które można modyfikować (rys.10). Opis
wybranych parametrów zawarto w podręcznej pomocy programu Disper.
Do ustawiania zakresu wysyłanego sygnału służą odpowiednie pola
oznaczane w sekundach lub w próbkach. Model Simulinka, który ma zostać
poddany symulacji, musi zostać utworzony wg określonych zasad opisanych w
pomocy do programu. Elementami, które pobierają dane do modelu oraz zwracają
dane wyjściowe są elementy InPort i OutPort Simulinka. Poprawnie
utworzony przykład modelu zapisanego w katalogu programu pod nazwą test.mdl
przedstawiony jest na rys.11

Rys.11 Przykładowa budowa modelu symulowanego w programie Disper
Przykładowy model posiada trzy wyjścia. Na jednym
z nich odbierany jest sygnał z generatora przebiegów, kolejne wyjścia to suma
przebiegu generowanego oraz sygnału wejściowego do modelu oraz całka z sumy
dwóch generowanych sygnałów. Możliwa jest oczywiście przeprowadzana w ten
sposób symulacja dowolnego modelu o dowolnej licznie wyjść, które odbierane
są przez program Disper. W obecnej wersji programu dalszej obróbce mogą być
poddane dane z jednego, wybranego wyjścia modelu.
Opcja ta umożliwia zmianę częstotliwości próbkowania przy
zachowaniu stałego czasu trwania danej realizacji a zatem przy zmianie ilości
próbek sygnału. W zastosowanym algorytmie wykorzystano procedury interpolacji
sygnału funkcjami sklejanymi. Implementacja tej opcji w programie była
konieczna ze wzglądu na to, iż podczas symulacji modeli Simulinka w przypadku
gdy ilość próbek sygnału wysłanego do modelu jest różna od ilości próbek
sygnału odebranego zachodzi zmiana wartości częstotliwości próbkowania, która
często bywa wtedy określana liczbą niecałkowitą. Taka wartość Fs jest
niewygodna i należy ją zaokrąglić do liczby całkowitej najlepiej przy użyciu
metod interpolacyjnych. W przypadku gdy nowa częstotliwość próbkowania ma być
niższa od bieżącej stosuje się wcześniej odpowiednią filtrację
dolnoprzepustową. W opcji tej automatycznie dobierany jest filtr odcinający a
jego zastosowanie kontrolowane jest przez użytkownika programu. Rys.12
przedstawia okno utworzone po uruchomieniu tej opcji.

Rys.12 Okno zmiany częstotliwości próbkowania programu Disper
5. Podsumowanie
W zakresie analizy procesów jednowymiarowych
rozwinięcie programu o
dodatkowe opcje jest dzięki jego przejrzystej budowie bardzo łatwe do
wykonania. Dzięki temu zastosowań programu w tym zakresie może być bardzo
wiele, zwłaszcza tam, gdzie znacząca liczba poddanych analizie danych sprawia,
że możliwość szybkiego wykonania pewnych powtarzających się operacji
stanowi dużą zaletę programu. Do kierunków rozwoju programu należy
rozszerzenie obszaru zastosowań programu o analizę zależności pomiędzy
sygnałami oraz ewentualne wprowadzenie modułu analizy procesów
niestacjonarnych. Możliwość
wyznaczanie estymat funkcji koherencji, funkcji wzajemnej gęstości widmowej
czy korelacji wzajemnej umożliwi przeprowadzanie cennych analiz pomiędzy sygnałem
wejściowym i wyjściowym systemów dynamicznych.
6. Literatura
1. Katedra Automatyki, Katedra Robotyki i Dynamiki Maszyn AGH, Referaty I
Krajowej Konferencji Użytkowników MATLAB-a, AGH, Kraków 1995
2. Praca zbiorowa pod redakcją Tadeusza Uhla, Wybrane problemy
projektowania mechatronicznego, AGH, Kraków 1995
3. Tadeusz Uhl, Piotr Kurowski, Zastosowanie środowisk MATLAB i Siglab do
analizy sygnałów, CCATIE, Kraków 1998
4. Jerzy Brzózka, Lech Dorobczyński, Programowanie w Matlab, MIKOM,
Warszawa 1998
5. J. S. Bendat, A. G. Piersol, Metody analizy i pomiaru sygnałów
losowych, BNI, Warszawa 1976
|