Faculty of Electronics, Telecommunications and Informatics
11/12 Gabriela Narutowicza Street, 80-233 Gdańsk-Wrzeszcz, Poland
Tel.: +48 58 347 2277, +48 58 347 1784    Fax: +48 58 348 6373    E-mail:
WETI
 
Process Identification
Subject name:Process Identification
Subject type:for study line
Department:Department of Automatic Control
lecture
No. of hours:2
Teachers:PhD MEng, Professor with habilitation Maciej Jan Niedźwiecki
Taught in:
Study level: 1 (BSc)- Automatyka i Robotyka- sem. 6
project
No. of hours:1
Teachers:PhD MEng Piotr Andrzej Kaczmarek
Taught in:
Study level: 1 (BSc)- Automatyka i Robotyka- sem. 7
lecture
project

Projekt ma na celu zapoznanie studentów z praktycznymi aspektami identyfikacji procesów. Od uczestników zajęć wymaga się znajomości metod i algorytmów identyfikacji omawianych w ramach wykładu „Identyfikacja procesów” prowadzonego na III roku studiów na kierunku Automatyka i Robotyka. Zadania projektowe dotyczące predykcyjnego kodowania sygnałów, usuwania zakłóceń impulsowych z nagrań muzycznych, identyfikacji strukturalnej modeli z czasem dyskretnym oraz estymacji parametrów ciągłych modeli obiektów stanowią ilustrację tzw. parametrycznego podejścia do analizy procesów, wykorzystywanego powszechnie w nowoczesnych systemach automatyki i telekomunikacji.

W ramach zadań praktycznych (predykcyjne kodowanie sygnałów, usuwanie zakłóceń impulsowych, ocena widmowej gęstości mocy sygnału) badania przeprowadzane są na rzeczywistych sygnałach (nagraniach monofonicznych), co pozwala ocenić uzyskane wyniki nie tylko obiektywnie (tj. w oparciu o wartości odpowiednich wskaźników jakości), ale i subiektywnie (tzn. odsłuchowo). Realizując z kolei projekty teoretyczne (identyfikacja modeli z czasem dyskretnym i czasem ciągłym) uczestnicy zajęć mają okazję zweryfikować w numerycznym środowisku symulacyjnym (MATLAB) działanie algorytmów omawianych na wykładzie. Wykorzystywane algorytmy, literatura pomocnicza oraz informacje dotyczące warunków zaliczenia przedmiotu zawarte są w instrukcji do przedmiotu (dostępnej w postaci wydruku oraz pliku ‘word’).

Do dyspozycji uczestników zajęć przewidziano stanowiska wyposażone w komputery osobiste z zainstalowanym środowiskiem symulacyjnym MATLAB. Dodatkowo uczestnicy zajęć mogą wykorzystać programy narzędziowe do obsługi plików w formacie ‘wave’ oraz specjalny program-edytor plików dźwiękowych. Przy rozliczaniu projektów dostępny jest również odpowiedni sprzęt nagłaśniający oraz słuchawki.

Warunki zaliczenia

Zadania projektowe realizowane są w grupach dwuosobowych. Na życzenie studentów dopuszcza się też indywidualną realizację zadań (jednoosobowe grupy projektowe). Rozliczanie projektów polega na zademonstrowaniu działania napisanych programów. W przypadku projektów związanych z obróbką plików dźwiękowych dokonuje się również odsłuchowej oraz wzrokowej (program-edytor) weryfikacji wyników. Do każdego rozliczanego zadania grupa projektowa składa odrębne sprawozdanie zawierające:
- opis zadania projektowego wraz ze sposobem rozwiązania,
- charakterystykę otrzymanych wyników,
- krótką instrukcję posługiwania się stworzonym programem,
- wydruk programu źródłowego,
- wnioski końcowe.

Warunkiem zaliczenia przedmiotu jest poprawne wykonanie co najmniej dwóch zadań projektowych z puli zadań podanych na początku semestru, przy czym:
- za poprawne i terminowe rozliczenie trzech projektów grupa otrzymuje ocenę bardzo dobrą,
- za poprawne i terminowe rozliczenie dwóch projektów grupa otrzymuje ocenę dobrą,
- uzyskana ocena może być podwyższona o pół stopnia, jeżeli oprócz rozwiązania opartego na algorytmach podanych w instrukcji grupa przedstawi inne poprawne rozwiązanie danego zadania,
- uzyskana ocena może być obniżona o pół stopnia w przypadku nieterminowego rozliczenia projektów oraz w przypadku dostarczenia niestarannie przygotowanego sprawozdania,
- zrealizowanie mniej niż dwóch projektów jest równoważne z niezaliczeniem przedmiotu.

Organizacja zajęć

Zajęcia projektowe w ramach przedmiotu „Identyfikacja procesów” odbywają się w wymiarze 15 godzin w semestrze (1 godzina tygodniowo) i są realizowane dla sem. 7 na kierunku Automatyka i Robotyka. Studenci mają do dyspozycji salę laboratoryjną wyposażoną w komputery osobiste, na których dostępne są odpowiednie narzędzia programowe (MATLAB). Przez pierwsze tygodnie semestru prowadzący przeprowadza zajęcia wprowadzające i pokazowe, a przez kolejne tygodnie studenci w obecności prowadzącego uruchamiają i testują swoje programy. Kolejne spotkania zorganizowane są następująco:
- (1 godz.): wprowadzenie do przedmiotu i podanie warunków zaliczenia, krótkie omówienie tematów projektowych, udostępnienie instrukcji do przedmiotu oraz wydanie poszczególnym grupom projektowym plików zawierających dane (nagrania dźwiękowe, pliki binarne),
- (1 godz.): omówienie technik predykcyjnego kodowania sygnału mowy i algorytmu identyfikacji Levinsona-Durbina; uruchomienie w środowisku MATLAB przygotowanego przez prowadzącego krótkiego programu (m-plik) demonstrującego sposób kodowania i rozkodowywania fragmentu sygnału mowy,
- (1 godz.): przypomnienie klasycznego algorytmu najmniejszych kwadratów oraz omówienie algorytmów usuwających obciążenie ocen (metoda zmiennej instrumentalnej); uruchomienie w środowisku MATLAB przygotowanego przez prowadzącego krótkiego programu (m-plik) demonstrującego identyfikację parametrów dyskretnoczasowego modelu ARX,
- (1 godz.): przypomnienie metody najmniejszych kwadratów z mechanizmem ważenia błędów predykcji (okno wykładnicze i prostokątne); uruchomienie w środowisku MATLAB przygotowanego przez prowadzącego krótkiego programu (m-plik) demonstrującego śledzenia trajektorii parametrów dyskretnoczasowego modelu procesu niestacjonarnego,
- (1 godz.): omówienie sposobów wykrywania i usuwania zakłóceń impulsowych z nagrań muzycznych; uruchomienie w środowisku MATLAB przygotowanego przez prowadzącego krótkiego programu (m-plik) demonstrującego wykrywanie pojedynczego zakłócenia impulsowego we fragmencie nagrania muzycznego,
- (1 godz.): przypomnienie metod identyfikacji strukturalnej modeli autoregresyjnych oraz kryteriów wspomagających weryfikację takich modeli; uruchomienie w środowisku MATLAB przygotowanego przez prowadzącego krótkiego programu (m-plik) demonstrującego sposób wyznaczania rzędu identyfikowanego procesu AR,
- (1 godz.): omówienie technik dyskretnoczasowego modelowania dynamiki obiektów ciągłych (metoda filtru całkującego ze skończonym horyzontem obserwacji) oraz metod identyfikacji współczynników liniowych równań różniczkowych; uruchomienie w środowisku MATLAB przygotowanego przez prowadzącego krótkiego programu (m-plik) demonstrującego identyfikację parametrów symulowanego obiektu z czasem ciągłym,
- (8 godz.): uruchamianie i testowanie programów (w obecności prowadzącego) przez grupy projektowe oraz rozliczanie zadań.

Przykładowe tematy projektów

Projekt 1 – predykcyjne kodowanie sygnałów

W pliku proj1.wav dany jest (inny dla każdej grupy) dziesięciosekundowy fragment zapisu sygnału mowy (każda próbka reprezentowana przez 16-bitowe słowo, częstotliwość próbkowania 11025 Hz). Napisać program (nadajnika) kodujący zarejestrowany sygnał przy użyciu odpowiedniego filtru 10 rzędu oraz program (odbiornika) rekonstruujący sygnał na podstawie przesłanych z nadajnika parametrów filtru i ciągu skwantowanych błędów resztowych (kwantyzacja dwubitowa, trzybitowa i czterobitowa). Do modelowania sygnału po stronie nadawczej zastosować metodę identyfikacji Levinsona-Durbina.

Projekt 2 – usuwanie zakłóceń impulsowych z nagrań muzycznych

W pliku proj2.wav dany jest (inny dla każdej grupy) dziesięciosekundowy fragment utworu muzycznego (sygnał monofoniczny, każda próbka reprezentowana przez 16-bitowe słowo, częstotliwość próbkowania 22050 Hz). Wiedząc, że nagranie zawiera sztucznie spreparowane zakłócenia impulsowe (zakłócenie może mieć postać serii zawierającej nie więcej niż trzy impulsy), napisać program wykrywający błędne próbki i rekonstruujący nagranie. Do modelowania dynamiki sygnału wykorzystać rekursywny algorytm najmniejszych kwadratów z mechanizmem wykładniczego ważenia błędów.

Projekt 3 – porównanie parametrycznych i nieparametrycznych metod estymacji widma sygnałów

W plikach proj3a.wav i proj3b.wav dane są (inne dla każdej grupy) nagrania trzysylabowego słowa wypowiedzianego przez dwie różne osoby (każda próbka reprezentowana przez 16-bitowe słowo, częstotliwość próbkowania 11025 Hz). Napisać program dzielący sygnał na segmenty obejmujące po 256 próbek. Do dalszej analizy wybrać po jednym segmencie odpowiadającym kolejnym głoskom badanego słowa. Zakładając, że sygnał mowy można opisać za pomocą modelu autoregresyjnego rzędu 10, wyznaczyć parametryczne oceny widma mocy poszczególnych segmentów. Do estymacji współczynników równania wykorzystać algorytm Levinsona-Durbina. Dokonać wstępnej filtracji danych przy użyciu okna Hamminga oraz wykorzystać algorytm FFT do wyznaczenia ocen widmowej gęstości mocy na podstawie ocen współczynników równania. Posługując się ponownie algorytmem FFT wyznaczyć z kolei unormowany moduł dyskretnej transformaty Fouriera badanego sygnału (periodogram). Uzyskane wyniki przedstawić na odpowiednich wykresach i porównać.

Projekt 4 – identyfikacja struktury i parametrów modeli z czasem dyskretnym

W pliku proj4.bin dany jest (inny dla każdej grupy) ciąg N (N = 4000) próbek { y(1) , ... , y(N)} uzyskanych z realizacji procesu autoregresyjnego AR(r) o nieznanym rzędzie r (3 Ł r Ł 12)

y(k) + a1 y(k – 1) + ... + ar y(k – r) = e(k) , k = 1 , ... , N

gdzie e(k) jest gaussowskim szumem białym o pewnej wariancji. Każda próbka jest zapisana jako liczba rzeczywista 8-bajtowa. Napisać program odczytujący dane z pliku oraz dokonujący strukturalnej i parametrycznej identyfikacji modelu AR(r). Po uzyskaniu rzędu r oraz parametrów ai model należy zweryfikować. Do identyfikacji parametrów równania wykorzystać klasyczny algorytm najmniejszych kwadratów, a oceny rzędu modelu dokonać w oparciu o kryterium końcowego błędu predykcji i kryterium informacyjne Akaike’go. Weryfikację modelu przeprowadzić wykreślając i analizując unormowaną funkcję autokorelacji oraz periodogram kumulacyjny. Wyznaczyć i ocenić widmową gęstość mocy procesu y(k).

Projekt 5 – identyfikacja parametryczna modeli z czasem ciągłym

W plikach proj5u.bin i proj5y.bin dane są (inne dla każdej grupy) N-elementowe (N = 3600) ciągi próbek u(k) = u(kT) i y(k) = y(kT) sygnału u(t) podawanego na wejście obiektu i sygnału y(t) obserwowanego na wyjściu obiektu (okres próbkowania T = 0.05 s, czas symulacji tmax = 180 s). Zakłada się, że dynamikę obiektu opisuje liniowe równanie różniczkowe zwyczajne rzędu r (r = 3)

y’’’(t) + a2 y’’(t) + a1 y’(t) + a0 y(t) = b2 u’’(t) + b1 u’(t) + b0 u(t)

zaś pomiar y(k) sygnału y(t) jest zakłócony gaussowskim szumem białym v(k) o pewnej wariancji. Korzystając z pośredniej i bezpośredniej metody identyfikacji modeli z czasem ciągłym oraz stosując odpowiednie algorytmy estymacji parametrycznej wyznaczyć oceny parametrów ai i bi modelu. Dyskretnoczasowe modelowanie dynamiki obiektu z czasem ciągłym zrealizować w oparciu o filtry całkujące ze skończonym horyzontem obserwacji. Identyfikację przeprowadzić klasyczną metodą najmniejszych kwadratów, a obciążenie ocen parametrów usunąć przeprowadzając ponowną identyfikację modelu metodą zmiennej instrumentalnej.

printer friendlyRemarks and errors please submit to: Change to small size