XI Konferencja Sieci i Systemy Informatyczne Łódź, październik 2003 APLIKACJA DO TESTOWANIA ALGORYTMÓW PRZETWARZANIA SYGNAŁÓW

Podobne dokumenty
Transformaty. Kodowanie transformujace

Kodowanie transformacyjne. Plan 1. Zasada 2. Rodzaje transformacji 3. Standard JPEG

Według raportu ISO z 1988 roku algorytm JPEG składa się z następujących kroków: 0.5, = V i, j. /Q i, j

Przetwarzanie i transmisja danych multimedialnych. Wykład 7 Transformaty i kodowanie. Przemysław Sękalski.

Kompresja Danych. Streszczenie Studia Dzienne Wykład 13, f(t) = c n e inω0t, T f(t)e inω 0t dt.

LABORATORIUM AKUSTYKI MUZYCZNEJ. Ćw. nr 12. Analiza falkowa dźwięków instrumentów muzycznych. 1. PODSTAWY TEORETYCZNE ANALIZY FALKOWEJ.

Cyfrowe przetwarzanie i kompresja danych

2. Próbkowanie Sygnały okresowe (16). Trygonometryczny szereg Fouriera (17). Częstotliwość Nyquista (20).

Fundamentals of Data Compression

EKSTRAKCJA CECH TWARZY ZA POMOCĄ TRANSFORMATY FALKOWEJ

Przetwarzanie i transmisja danych multimedialnych. Wykład 8 Transformaty i kodowanie cz. 2. Przemysław Sękalski.

Kodowanie transformujace. Kompresja danych. Tomasz Jurdziński. Wykład 11: Transformaty i JPEG

10. Redukcja wymiaru - metoda PCA

NIEOPTYMALNA TECHNIKA DEKORELACJI W CYFROWYM PRZETWARZANIU OBRAZU

Analiza głównych składowych- redukcja wymiaru, wykł. 12

Obraz jako funkcja Przekształcenia geometryczne

POSZUKIWANIE FALKOWYCH MIAR POTENCJAŁU INFORMACYJNEGO OBRAZÓW CYFROWYCH JAKO WSKAŹNIKÓW JAKOŚCI WIZUALNEJ

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11,

Przekształcenie Fouriera obrazów FFT

Założenia i obszar zastosowań. JPEG - algorytm kodowania obrazu. Geneza algorytmu KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG

ANALIZA SEMANTYCZNA OBRAZU I DŹWIĘKU

Python: JPEG. Zadanie. 1. Wczytanie obrazka

BIBLIOTEKA PROGRAMU R - BIOPS. Narzędzia Informatyczne w Badaniach Naukowych Katarzyna Bernat

Teoria przetwarzania A/C i C/A.

Wprowadzenie do metod numerycznych Wykład 3 Metody algebry liniowej I Wektory i macierze

Adaptive wavelet synthesis for improving digital image processing

Laboratorium Przetwarzania Sygnałów Biomedycznych

Adaptacyjne Przetwarzanie Sygnałów. Filtracja adaptacyjna w dziedzinie częstotliwości

Analiza składowych głównych

Metody numeryczne Wykład 4

Ćwiczenie 6. Transformacje skali szarości obrazów

przetworzonego sygnału

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łanc Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn

5. Rozwiązywanie układów równań liniowych

Modelowanie zależności. Matematyczne podstawy teorii ryzyka i ich zastosowanie R. Łochowski

Transformata Fouriera

PRZEWODNIK PO PRZEDMIOCIE

Luty 2001 Algorytmy (7) 2000/2001

SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

IMPLEMENTATION OF THE SPECTRUM ANALYZER ON MICROCONTROLLER WITH ARM7 CORE IMPLEMENTACJA ANALIZATORA WIDMA NA MIKROKONTROLERZE Z RDZENIEM ARM7

4 Zasoby językowe Korpusy obcojęzyczne Korpusy języka polskiego Słowniki Sposoby gromadzenia danych...

FFT i dyskretny splot. Aplikacje w DSP

Modele i narzędzia optymalizacji w systemach informatycznych zarządzania

Transformata Fouriera. Sylwia Kołoda Magdalena Pacek Krzysztof Kolago

W naukach technicznych większość rozpatrywanych wielkości możemy zapisać w jednej z trzech postaci: skalara, wektora oraz tensora.

Zad. 3: Układ równań liniowych

Analiza i modelowanie przepływów w sieci Internet. Andrzej Andrijew

3. FUNKCJA LINIOWA. gdzie ; ół,.

Wykład z Technologii Informacyjnych. Piotr Mika

Układy równań i nierówności liniowych

Analiza obrazów - sprawozdanie nr 2

Wykład 5. Metoda eliminacji Gaussa

Zadania do wykonania. Rozwiązując poniższe zadania użyj pętlę for.

Stosowana Analiza Regresji

Podstawy Programowania C++

Przekształcenia widmowe Transformata Fouriera. Adam Wojciechowski

Przedmowa Wykaz oznaczeń Wykaz skrótów 1. Sygnały i ich parametry Pojęcia podstawowe Klasyfikacja sygnałów

Analiza składowych głównych. Wprowadzenie

WYKŁAD 9 METODY ZMIENNEJ METRYKI

Laboratorium Przetwarzania Sygnałów

TRANSFORMATA FALKOWA 2D. Oprogramowanie Systemów Obrazowania 2016/2017

Szybka transformacja Fouriera (FFT Fast Fourier Transform)

Podstawy OpenCL część 2

mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 4, strona 1. GOLOMBA I RICE'A

Cyfrowe przetwarzanie i kompresja danych. dr inż.. Wojciech Zając

3. Opracować program kodowania/dekodowania pliku tekstowego. Algorytm kodowania:

KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG

Zadanie 1. Zmiana systemów. Zadanie 2. Szyfr Cezara. Zadanie 3. Czy liczba jest doskonała. Zadanie 4. Rozkład liczby na czynniki pierwsze Zadanie 5.

Cyfrowe Przetwarzanie Obrazów i Sygnałów

Programowanie liniowe

Algorytmy sztucznej inteligencji

Laboratorium Cyfrowego Przetwarzania Obrazów

Informacja w perspektywie obliczeniowej. Informacje, liczby i obliczenia

Dostawa oprogramowania. Nr sprawy: ZP /15

Podstawy Automatyki. Wykład 13 - Układy bramkowe. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Kompresja obrazów w statycznych - algorytm JPEG

WYKORZYSTANIE SIECI NEURONOWEJ DO BADANIA WPŁYWU WYDOBYCIA NA SEJSMICZNOŚĆ W KOPALNIACH WĘGLA KAMIENNEGO. Stanisław Kowalik (Poland, Gliwice)

Akwizycja i przetwarzanie sygnałów cyfrowych

Klasyfikacja metod kompresji

Robert Susmaga. Instytut Informatyki ul. Piotrowo 2 Poznań

Podstawy Automatyki. Wykład 13 - Układy bramkowe. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych

Praca dyplomowa magisterska

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Algebra Liniowa 2 (INF, TIN), MAP1152 Lista zadań

Politechnika Świętokrzyska. Laboratorium. Cyfrowe przetwarzanie sygnałów. Ćwiczenie 6. Transformata cosinusowa. Krótkookresowa transformata Fouriera.

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

9. Dyskretna transformata Fouriera algorytm FFT

Rozwiązywanie układów równań liniowych

Algorytm grupowania danych typu kwantyzacji wektorów

Narzędzia matematyczne zastosowane w systemie biomonitoringu wody

Systemy. Krzysztof Patan

Transformacja Fouriera i biblioteka CUFFT 3.0

Analiza korespondencji

Programowanie celowe #1

Sieci neuronowe - projekt

Metody Przetwarzania Danych Meteorologicznych Ćwiczenia 14

PRZEWODNIK PO PRZEDMIOCIE

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa

Transkrypt:

Łódź, październik 003 Marcin Cegielski Instytut Informatyki Politechniki Łódzkiej APLIKACJA DO TESTOWANIA ALGORYTMÓW PRZETWARZANIA SYGNAŁÓW Streszczenie Celem pracy jest prezentacja aplikacji służącej do testowania algorytmów przetwarzania jedno i dwuwymiarowych sygnałów. Podano możliwości zobrazowania danych na różnych etapach przetwarzania (kodowanie, kwantyzacja i dekodowanie). Przedstawione zostały metody porównawcze stosowane do określenia jakości i szybkości zastosowanych metod. W ostatniej części zaprezentowano przykłady implementacji kilku metod przetwarzania i wykorzystanie programu jako pomocy w dydaktyce laboratorium Telekomunikacji. 1. Wstęp Rozwój technik przetwarzania informacji zależy od tworzenia coraz lepszych metod przetwarzania sygnałów. Wzrost mocy obliczeniowej komputerów powoduje, że można budować jeszcze bardziej skomplikowane i złożone algorytmy do przetwarzania sygnałów. Sygnał wejściowy można traktować jako ciąg danych liczbowych (wektor), który zostaje poddany przekształceniom na kilku etapach. Projektowanie algorytmów kompresji można podzielić na dwie fazy. Pierwsza faza nazywana jest modelowaniem. Próbuje się w niej wydobyć informacje o wszelkiego typu zależnościach występujących w danych i opisać ją za pomocą modelu. Drugą fazę nazywa się kodowaniem. Koduje się zazwyczaj opis modelu przy użyciu alfabetu binarnego. Można założyć, że danymi wejściowymi dla procesu kodowania jest ciąg liczb z zakresu liczb całkowitych lub rzeczywistych. Inaczej mówiąc wektor u o n elementach, które należą do zbioru liczb rzeczywistych. Po przekształceniu otrzymuje się z reguły zestaw danych tego samego rozmiaru. Następnym procesem jest kwantyzacja, czyli zamiana wartości liczbowych na odpowiadające im słowa binarne. W zależności od zastosowanej metody kwantyzacji otrzymuje się odpowiednio przekształcony sygnał. Dla kompresji danych najczęściej dobiera się taki schemat kwantyzacji, aby sygnał zawierał najwięcej współczynników zerowych. Dzięki temu sygnał może być poddany efektywnemu kodowaniu różnymi metodami na przykład: Huffmana. Taka operacja pozwala na znaczne zredukowanie ilości danych wejściowych. W procesie testowania algorytmów wystarczy porównać przetworzoną informację w stosunku do danych wejściowych. Ostatnim etapem przetwarzania jest dekodowanie, czyli proces odwrotny w stosunku do kodowania. Przechowując oryginalne dane wejściowe można po ostatnim etapie przetwarzania oszacować zmiany, jakim uległ sygnał w procesie kodowania i dekodowania. Każdy proces przetwarzania sygnału można podzielić na kilka bloków procedur wykonywanych kolejno po sobie (rys.1). Wydajność każdego systemu kodującego i dekodującego zależy od szybkości poszczególnych jego etapów. Szybkość procesu można określić jako czas wykonania procedury kodowania lub dekodowania lub przez oszacowanie ilości operacji matematycznych (dodawanie, mnożenie...), 1

M. Cegielski Aplikacja do testowania algorytmów przetwarzania sygnałów jakie znajdują się w tych procedurach. Jest to najprostszy uniwersalny schemat umożliwiający ocenę algorytmów pod względem skuteczności i szybkości przetwarzania. Kodowanie Kwantyzacja Dekwantyzacja Dekodowanie Rys 1. Etapy przetwarzania sygnału.. Schemat blokowy aplikacji przetwarzania sygnałów. Aplikacja przetwarzania sygnałów składa się z funkcjonalnych bloków, które odpowiadają za poszczególne elementy procesu przetwarzania. Dane początkowe są wczytywane z plików i umieszczane w pamięci komputera jako tablica jedno lub dwuwymiarowa o elementach należących do zbioru liczb rzeczywistych. Dla opcji jednowymiarowej dane mogą być wczytane z pliku dźwiękowego w formacie waw. Dla sygnałów dwuwymiarowych można je importować bezpośrednio z pliku bitmapy o odcieniach szarości. Każdy blok przetwarzania danych otrzymuje jako parametry wejściowe: tablicę z danymi i informację o wielkości tej tablicy. Zwracaną informacją jest tablica z danymi wyjściowymi o tym samym rozmiarze co dane wejściowe. Na każdym etapie przekształcania informacji można obejrzeć efekt w postaci wykresu dla danych jednowymiarowych lub obrazu w postaci bitmapy dla danych dwuwymiarowych. Po procesie kwantyzacji w czarno-białej bitmapie elementy zerowe są wyświetlane w kolorze niebieskim, co pomaga w szybkiej ocenie skuteczności algorytmu. Aplikacja mierzy czasy wykonania poszczególnych etapów przetwarzania i jest wyposażona w standardowe algorytmy przetwarzania sygnałów, które mogą być użyte jako pomoc przy budowaniu własnych algorytmów. Są to Dyskretna Transformata Kosinusowa (DCT), Dyskretna Transformata Karhunena-Loeva (KLT, PCA) i Dyskretna Transformata Falkowa (DWT)..1 Kodowanie za pomocą dyskretnej transformaty kosinusowej. Ze względu na szeroki zakres stosowania i popularność, transformata kosinusowa może być przydatna do porównania jej wydajności i szybkości z innymi przekształceniami. Dyskretne przekształcenie kosinusowe (DCT) zawdzięcza swoją nazwę temu, że wiersze macierzy przekształcenia C rozmiaru N x N są funkcjami kosinusów.

Łódź, październik 003 Ci, j 1 N N ( cos ( cos j 1) i N j 1) i N dla dla i 0, j 0,1,..., N 1 i 1,,..., N 1, j 0,1,..., N 1 (1) Przy założeniu, że wartość każdego elementu macierzy za pomocą, której jest reprezentowany sygnał wejściowy oznacza jego energię. Efektem poddania danych wejściowych przekształceniu DCT jest skupienie energii sygnału w początkowych współczynnikach macierzy. Dla źródeł Markowa o dużych współczynnika korelacji możliwości zagęszczania współczynników przez DCT są bliskie przekształceniu KLT. Program pozwala na zobrazowanie samych współczynników macierzy przekształcenia DCT i wizualną obserwację poszczególnych etapów przetwarzania.. Zastosowanie przekształcanie Karhunena-Loeve w przetwarzaniu sygnałów. Wiersze dyskretnego przekształcenia Karhunena-Loevego zwanego też jako przekształcenie Hotellinga lub PCA (Principal Component Analisis), zawierają wektory własne macierzy autokowariancji, T cov( X ) E[( X E( X ))( X E( X ) )] () uporządkowane tak, by odpowiadające im wartości własne były ułożone od największej wartości do najmniejszej. Można wykazać, że przekształcenie skonstruowane w ten sposób minimalizuje średnią geometryczną wariancji współczynników przekształcenia i dlatego transformata Karhunena-Loevego daje najlepsze rezultaty kodowania spośród metod kodowania transformującego. Z powodu złożoności obliczeniowej transformaty Karhunena-Loevego (KLT) jej praktyczne wykorzystanie jest niewielkie. Proces obliczeniowy został podzielony na dwa etapy: Obliczenie macierzy autokowariancji z sygnału wejściowego, która jest symetryczna i złożona z współczynników rzeczywistych. Jest to proces obliczeniowo kosztowny, gdyż w klasycznym przypadku wymaga N 4 kroków obliczeniowych. Obliczenie wartości i wektorów własnych macierzy i ich uporządkowanie. Model matematyczny transformaty Karhunena-Loeva można przedstawić w postaci następującego algorytmu. 1. Obliczenie wektora m x, który jest wartością średnią macierzy wejściowej X (M x M) M 1 mx x i M i1 (3). Budowa macierzy kowariancji C x dla wektorów x i T C 1 x ( xi mx )( xi m x ) M (4) 3. Dokonuje się dekompozycji przez wektory własne v k zdefiniowane jako kolumny macierzy A. Dzięki właściwością macierzy autokowariancji można zastosować 3

M. Cegielski Aplikacja do testowania algorytmów przetwarzania sygnałów dekompozycję SVD lub klasycznie przekształcić macierz do postaci trójdiagonalnej metodą Householdera i zastosować algorytm QL z przesunięciami do znalezienia wartości i wektorów własnych. C x A = A D, gdzie D =diag(λ k) i (λ 0 λ 1... λ M-1) (5) 4. Wyznaczenie transformaty y i T A x m ) (6) ( i x 5. Wyznaczenie transformata odwrotnej x A y m (7) i i Istnieją alternatywne sposoby obliczenia macierzy kowariancji za pomocą Dyskretnej Transformaty Fouriera lub przekształcenia falkowego. Można także zastosować neuronowy algorytm Oja-RLS, który został zaproponowany przez Kunga [7] i Cichockiego [8]. Jeśli kompresowane wejście jest zmienne w czasie, to funkcja autokorelacji też się zmienia w czasie. Oznacza to, że macierz autokorelacji ulega zmianie i wymaga ponownego obliczenia przekształcenia KLT, które jest obliczeniowo kosztowne. Innym ograniczeniem zastosowania KLT jest fakt, że macierz przekształcenia KLT zależy od danych wejściowych, co wymusza konieczność przesłania każdej nowo obliczonej macierzy KLT lub autokowariancji. Zwiększenie ilości danych związanych z przesłaniem macierzy KLT może być tak duże, że może anulować sam zysk z użycia optymalnego przekształcenia. Jeżeli zostanie przyjęte założenie, że statystyki sygnału zmieniają się powoli lub oscylują blisko wartości średniej całego sygnału, to zastosowanie KLT może być bardzo atrakcyjne. x.3 Kodowanie za pomocą falek Haara i Daubechies 4 rzędu. Funkcja f(x) może być przeskalowana przez podstawienie za x x/a (parametr a jest wielkością skalowania). Normę f(x) definiuje się jako f ( x) f ( x) dx 6. Podstawiając za argument x wartość x/a do wzoru (8) otrzymuje się zależność (9): f x x ( ) f ( ) dx a f ( x) dx a f ( x a a Oznacza to, że tego typu skalowanie zmienia normę funkcji i aby przeskalowana funkcja musiała mieć tę samą normę to musimy ją pomnożyć przez 1/a 1/. W modelu matematycznym można funkcję f(x) przesunąć w lewo lub w prawo o wartość b przez zamianę x na x-b lub x+b. 4 ) (8) (9)

Łódź, październik 003 Równaniem (10) można zapisać operację przeskalowania i przesunięcia, która została nazwana falką macierzystą. 1 x b a, b ( x) ( ) (10) a a Jeżeli zostanie zdefiniowana funkcja skalująca Φ(x), to dowolną funkcję f(x) można przedstawić jako kombinację liniową funkcji skalującej Φ(x) i jej przesunięć (11). f ( x) ak ( x k) (11) k Z własności funkcji skalujących wynika, że jeżeli można reprezentować funkcję za pomocą funkcji skalujących, to można ją również reprezentować za pomocą rozciągniętych funkcji skalujących. Najczęściej stosowaną wartością skalującą jest potęga liczby co prowadzi do uproszczenia wzoru (10) do postaci (1). j / j ( x) ( x ) j,k=1,,3,... (1) j, k k Funkcja f(x) może być wtedy zapisana w innej rozdzielczości: j / j f ( x) a j, k ( x k) (13) k j / j / Współczynniki a j,k można obliczyć z iloczynu skalarnego ( x); ( x k), gdy znana jest funkcja Φ(x). Z teorii wynika, że można znaleźć nieskończoną liczbę możliwych falek. To, która jest najlepsza zależy od konkretnego zastosowania. Najbardziej popularne to falki Haara, czterorzędowe, 1-rzędowe i 0 rzędowe filtry Daubechies, 6-rzędowe,1-rzędowe i 18 rzędowe filtry Coifleta. Istnieją dwa podejścia do podpasmowego rozkładu dwuwymiarowych sygnałów: pierwsze wykorzystuje filtry dwuwymiarowe oraz drugie używające różnych przekształceń, które mogą być zaimplementowane za pomocą filtrów jednowymiarowych i wykonane najpierw po wierszach a następnie po kolumnach lub odwrotnie. W większości zastosowań jest spotykane drugie podejście, w tym także w standardzie JPEG000. Dla przykładu można pokazać jak rozłożyć obraz N x M. Filtrujemy każdy wiersz, a następnie dziesiątkujemy, aby otrzymać dwa obrazy rozmiaru N x M/. Następnie filtrujemy każdą kolumnę i podpróbkowujemy wyjście filtra, otrzymując cztery obrazy N/ X M/. Podobraz otrzymany w wyniku filtrowania dolnoprzepustowego wierszy nazywamy często obrazem LL. Podobraz otrzymany po dolnoprzepustowym filtrowaniu wierszy i górnoprzepustowym filtrowaniu kolumn nazywamy obrazem LH, i podobnie obraz HL powstaje w wyniku filtrowania dolnoprzepustowego kolumn i górnoprzepustowego wierszy. Podobraz powstały po górnoprzepustowym filtrowaniu wierszy i kolumn to obraz HH. Schemat kodowania falkowego pokazano na rysunku nr. 5

M. Cegielski Aplikacja do testowania algorytmów przetwarzania sygnałów Rys. Schemat kodowania falkowego. 3. Zastosowanie edukacyjne programu w laboratorium przetwarzania sygnałów. Modułowa konstrukcja programu jest idealnym rozwiązaniem do budowania własnych algorytmów lub modyfikowania już istniejących. Każdy uczestnik laboratorium może zbudować swoją wersję przekształcenia kosinusowego i porównać ją z innymi przekształceniami. Dowolny moduł programu może być zastąpiony innym umieszczonym w bibliotece zewnętrznej dołączanej dynamicznie. Pozwala to na wymianę poszczególnych procedur bez wyłączania i ponownego uruchamiania całego programu. Rozwiązanie to pozwala na znaczne przyspieszenie prac przy uruchamianiu poszczególnych algorytmów. Biblioteki mogą być pisane w wielu językach programowania (Delphi, Borland Builder, DevC++, gcc, Visual C++, Visual Basic czy Microsoft.NET. Program został napisany w środowisku Delphi w wersji 6, zajmuje się głównie prezentacją danych i ich przechowywaniu dla funkcji kodowania, kwantyzacji, dekwantyzacji i dekodowania i ich ostatecznego porównywania. Zawiera tylko niewielką część procedur kodowania i kwantyzacji pozostałe są umieszczone w bibliotekach dołączanych dynamicznie. Literatura [1] Władysław Skarbek (red.).: Multimedia - Algorytmy i standardy kompresji. Akademicka Oficyna Wydawnicza PLJ Warszawa 1998. [] Khalid Sayood.: Kompresja danych wprowadzenie. Wydawnictwo RM 00. [3] William H. Press, Saul A. Teukolsky, William T. Vetterling, Brian P. Flannery.: Numerical Recepes in C. Cambridge University Press 6

Łódź, październik 003 [4] Michihiri Uenohara, Takeo Kanade.: Use of Fourier and Karhunen-Loeve Decomposition for Fast Patteren Matching With a Large Set of Templatetes. IEEE Transactions on pattern Analisis and Machine Inteligence, Vol. 19, No 8, August 1997. [5] Franklin G. Horowitz, Don Bone, Paul Veldkamp.: Karhunen-Loeve Based Iteration Function System Encodings. International Picture Coding Symposium. Melbourne, Australia 13-15 March 1996. [6] Lawrencence Sirovivich.: Image Analiysis, A Tutorial. Part 1. Basics. June 1, 001. [7] K.I. Diamantaras, S.Y. Kung.: Principial Component Neural Networks, John Wiley & Sons, New York, 1996. [8] A. Cichocki, W. Kasprzak, W. Skarbek.: Adaptive Learnig Algorithm for Principal Component Analisis with Partial Data, Cybernetics and Systems 96, 13-th European meeting on Cybernetics and Systems Research, Austian Society for Cybernetics Stydies, Vienna, (pp. 1014-1019), 1996. MARCIN CEGIELSKI mceg@ics.p.lodz.pl Instytut Informatyki Politechnika Łódzka 93-005 Łódź, Wólczańska 19/3 7