wstecz | dalej

 Archiwum Process Control Club (2001, poz.5)  
 

 
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.

Download: Disper v1.0 (RAR, 712kB)
 


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ę:

  • specjalne metody analizy wymagane w zależności od potrzeb.

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
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
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
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

  • Opcja analizy częstotliwościowej – Widok | Postać częstotliwościowa

    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
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 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.

  • Opcja filtracji – Narzędzia | Filtracja

    Po uruchomieniu tej opcji na ekranie pojawia się okno doboru parametrów filtracji, które przedstawiono na rys.6

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
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.

  • Wyznaczanie funkcji autokorelacji Narzędzia | Funkcja korelacji

    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 Dostosuj obszar wykresu

    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
Rys.8 Okno Dostosuj programu Disper

  • Opcja Połącz z Simulinkiem

    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
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
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.

  • Zmiana częstotliwości próbkowania

    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
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

 

Od autora: 
 
  • Wykorzystywane przeze mnie oprogramowanie zostało mi udostępnione przez AGH.
  • Kod źródłowy wszystkich plików składających się na program Disper v1.0 w całości został napisany wyłącznie przeze mnie.
  • Program Disper v1.0 objęty jest licencją o treści dołączonej do plików programu.

Marcin Maślanka
e-mail: masmar1pl@yahoo.com