Nauka Zezwala się na korzysanie z arykułu na warunkach licencji Creaive Commons Uznanie auorswa 3.0 Równoległy algorym analizy sygnału na podsawie niewielkiej liczby próbek Pior Kardasz Wydział Elekryczny, Poliechnika Białosocka Sreszczenie: W arykule przedsawiono równoległy algorym esymacji paramerów składowych sinusoidalnych złożonego sygnału. Proponowany algorym umożliwia rozpoznanie składowych sygnału również w warunkach, gdy dysponujemy ograniczoną liczbą losowo pobranych próbek ego sygnału. Zbadany zosał czas pracy zaproponowanego algorymu w funkcji liczby równocześnie uruchomionych wąków. Do esowania zosały zasosowane kompuery o różnej liczbie rdzeni procesora, obsługiwanych wąków oraz zmiennoprzecinkowych jednosek wykonawczych. Wyniki eksperymenu pokazują, że proponowany algorym może pracować efekywnie, nawe jeśli liczba wąków obliczeniowych przekracza liczbę jednosek wykonawczych procesora, na kórym pracuje. W arykule zosały również zarysowane kierunki dalszych badań nad udoskonaleniem przedsawionego algorymu. Słowa kluczowe: algorym równoległy, idenyfikacja sygnału DOI: 10.14313/PAR_04/11 1. Wprowadzenie Klasyczne algorymy analizy i przewarzania sygnałów jednowymiarowych przedsawionych w posaci dyskrenej, opare są na wykorzysaniu jednej z popularnych ransforma, akich jak ransformaa Fouriera, kosinusowa lub falkowa [1]. Meody e mogą być sosowane ylko wedy, gdy jes dosępny pełny zesaw próbek analizowanego sygnału, pobranych z częsoliwością próbkowania równą lub wyższą niż wynikająca z wierdzenia Koielnikowa-Shannona. Warunek en nie zawsze może być spełniony. Na skuek uszkodzeń nośnika, na kórym zapisany jes sygnał, zakłóceń zewnęrznych bądź przerw w orze ransmisyjnym możemy dysponować ylko częścią próbek, niezbędnych do analizy badanego sygnału. Isnieją również przypadki, w kórych pobranie pełnej liczby próbek badanego sygnału jes ze względów echnicznych niemożliwe, bądź eż zby koszowne [4]. Można wedy zasosować inensywnie rozwijającą się w osanich laach meodę analizy i ransmisji sygnału, określaną jako Compressed Sensing [, 3]. Polega ona na przygoowaniu niewielkiej liczby próbek sygnału i rekonsrukcji ego sygnału na ich podsawie. Jedna z najprosszych meod ego rodzaju polega na losowym odrzuceniu części próbek [] i rekonsrukcji sygnału na podsawie pozosałych. Rekonsrukcja sygnału na podsawie ego rodzaju danych jes możliwa za pomocą różnego rodzaju algorymów. Sosowane są w ym celu meody ypu basis pursui [3]. Możliwe są również inne podejścia, akie jak algorymy ewolucyjne [5 7, 10] i inne meody poszukiwania składowych rekonsruowanego sygnału [11]. Wszyskie e algorymy charakeryzują się jednak wysoką złożonością obliczeniową, a co za ym idzie, narzucają wysokie wymagania na moc obliczeniową sprzęu, na kórym są wykonywane. Jeśli jes ona zby niska, obliczenia wykonują się zby wolno, w szczególności nie mogą być wykonywane w czasie rzeczywisym. Klasyczne procedury obliczeniowe są wykonywane szeregowo, insrukcja po insrukcji, w jednym wąku. Współczesny sprzę kompuerowy jes jednak wyposażony w wielordzeniowe mikroprocesory. Każdy z ych rdzeni jes ma kilka jednosek arymeyczno-logicznych, mogących wykonywać operacje sałoprzecinkowe lub zmiennoprzecinkowe. Umożliwia o równoległą pracę wielu wąków obliczeniowych na ym samym procesorze. Algorymy, kóre mogą wykorzysać możliwości pracy wielowąkowej, mogą dzięki emu pracować szybciej, w pełni wykorzysując możliwości CPU. Procesory graficzne (GPU) dysponują jeszcze większą (nawe ponad 000) liczbą zmiennoprzecinkowych jednosek obliczeniowych, kóre mogą zosać użye do obliczeń dzięki zasosowaniu biblioek akich jak OpenCL, CUDA lub DirecCompue [8]. Wykorzysanie możliwości równoległego wykonywania obliczeń mogłoby pozwolić na znaczne przyspieszenie pracy algorymów analizy sygnałów. Innym sposobem uzyskania wyników obliczeń w krókim czasie jes zasosowanie programowalnych układów logicznych (FPGA) [9], kóre poza ym, że swarzają możliwość zaimplemenowania równoległych algorymów obliczeniowych, pozwalają akże na dososowanie możliwości projekowanych jednosek obliczeniowych do konkrenych porzeb danego algorymu. W większości przypadków algorymów równoległych nie jes możliwe równoległe wykonanie całej pracy. Część zadań akiego algorymu, na przykład przygoowanie danych i zebranie końcowych wyników obliczeń, musi być wykonana w pojedynczym wąku. Nie jes również na ogół możliwe doskonale równomierne rozdzielenie obli- 11
czeń pomiędzy wąki, wskuek czego o czasie pracy całego algorymu będzie decydował en wąek, kóry najpóźniej zakończy obliczenia. W ej syuacji zwiększanie liczby wąków nie skraca w sposób proporcjonalny czasu obliczeń. Zakładając, że mamy do dyspozycji nieograniczoną liczbę jednosek wykonawczych, wraz ze wzrosem liczby wąków czas en będzie dążył asympoycznie do pewnej niezerowej minimalnej warości, wyznaczonej przez e elemeny algorymu, kóre muszą zosać wykonane w jednym wąku, oraz minimalny czas obliczeń dla pojedynczego wąku. Ponieważ rzeczywise procesory dysponują skończoną liczbą jednosek wykonawczych, zwiększenie liczby wąków powyżej liczby ych jednosek nie pozwoli na dalsze przyspieszenie pracy algorymu, przeciwnie czas zużyy na przełączanie wąków spowoduje wzros całkowiego czasu obliczeń.. Cel i zakres badań Jednowąkowe algorymy [10, 11] rozpoznawania składowych sinusoidalnych sygnału na podsawie niewielkiej liczby jego próbek pracują długo ze względu na ich dużą złożoność obliczeniową. Celem badań było więc opracowanie i przeesowanie, na bazie isniejącego algorymu jednowąkowego [11], równoległego algorymu rozpoznawania składowych sinusoidalnych złożonego sygnału na podsawie jego losowo pobranych próbek i określenie, na podsawie wyników pomiarów, czy jes możliwe przeniesienie ego algorymu do środowisk o dużej liczbie równolegle wykonywanych wąków, akich jak procesory GPU i układy FPGA. Algorym ego rodzaju powinien pozwolić na uruchomienie go przy zadanej przez użykownika liczbie wąków. Algorym aki zosał opracowany i uruchomiony. Zbadany zosał czas wykonania opracowanego algorymu na kompuerach z procesorami o różnej liczbie i srukurze rdzeni w funkcji liczby przewarzanych równolegle wąków. Na podsawie przeprowadzonych pomiarów zosała określona możliwość przeniesienia badanego do środowisk o dużej liczbie jednosek wykonawczych, akich jak procesory GPU i układy FPGA oraz możliwości i kierunki dalszego rozwoju ego algorymu. 3. Badany algorym Oznacza o, że iloczyn akich funkcji zawiera niezerową składową sałą wedy i ylko wedy, gdy częsoliwości obu przebiegów sinusoidalnych są sobie równe; w przeciwnym przypadku składowa a jes zerowa. Jeśli więc scałkujemy aki sygnał, orzymamy dla a ¹ b funkcję okresową: sin( a b) sin( a + b) sin( a ) sin( b ) d = + C (3) ( a b) ( a + b) ale dla a = b funkcja a będzie niemalejąca: sin( a ) sin( a ) sin( a ) d = + C (4) a Jeśli więc sygnał badany ma posać sinusoidalną o ampliudzie A: f() = A sin(a) (5) zaś sygnał esujący ma ę samą częsoliwość, lecz jednoskową ampliudę, możemy na podsawie iloczynu ych sygnałów określić ampliudę sygnału badanego. Ponieważ: A( 1) A sin(a ) A sin(a 1) A sin( a) sin( a) d = + a a 1 więc Asin( a) sin( a) d 1 A = 1 1 ( 1) sin( a) + sin( a1) a a Jeśli 1 >> /a, można określić w przybliżeniu A A sin( a) sin( a ) d 1 ( a dla sygnałów dyskrenych: ) 1 (6) (7) (8) 3.1. Podsawy eoreyczne Podsawą do opracowania proponowanego algorymu [11] sało się sposrzeżenie, że iloczyn dwóch funkcji sinusoidalnych, kóry można przedsawić w posaci A n n= n1 A sin( ant ) sin( ant ) ( n n ) 1 (9) cos( a b) cos( a + b) sin( a ) sin( b ) = (1) redukuje się do 1 cos(a ) sin( a ) sin( a ) = () w przypadku, gdy a = b. Jeśli badany sygnał jes funkcją sinusoidalną przesunięą w fazie w sosunku do funkcji esującej, możemy rozłożyć go na składową sinusoidalną i kosinusoidalną sin( a + ϕ) = sin a cos ϕ + cos a sin ϕ (10) i oszacować ampliudy niezależnie dla obu składowych, po czym korzysając ze wzorów: Pomiary Auomayka Roboyka nr /014 113
Nauka A = + (11) A sin Acos A A sin ϕ = arcg (1) określić ampliudę i fazę badanego sygnału. Jeśli z jakiejś przyczyny mamy do dyspozycji ylko część próbek badanego sygnału, równanie (9) przyjmie posać: A N N cos P sin( ant ) n (13) gdzie N jes liczbą posiadanych próbek, a P n jes warością n-ej posiadanej próbki. Możemy więc nadal oszacować ampliudę badanego sygnału, choć z mniejszą dokładnością. Na podsawie powyższych sposrzeżeń zosał opracowany, uruchomiony i przeesowany jednowąkowy algorym [11], umożliwiający idenyfikację paramerów składowych sinusoidalnych złożonego sygnału. Algorym en był w sanie odnaleźć, z dokładnością rzędu kilku procen, siedem z ośmiu składowych sygnału na podsawie 18 próbek pobranych losowo spośród pełnego zesawu 048 próbek. Wyniki e są porównywalne z wynikami działania algorymu ewolucyjnego [10], przy znacznie większej szybkości obliczeń. 3.. Idea i działanie algorymu Czas pracy algorymu opisanego w [11], mimo że o rząd wielkości krószy, niż w przypadku algorymu ewolucyjnego [10], okazał się jednak zby długi, aby można go było zasosować w prakyce, np. w celu analizy sygnałów akusycznych. Analiza zesawu 048 próbek, co dla częsoliwości próbkowania 44 100 Hz sanowi 46,44 ms sygnału, rwała kilkadziesią sekund, czyli około ysiąckronie dłużej niż czas rwania sygnału. W ej syuacji powsała idea opracowania wielowąkowej wersji ego algorymu. Tak, jak i jednowąkowa jego wersja [11], algorym dokonuje mnożenia badanego sygnału przez sygnały esowe posaci oraz F F sin cos = sin(π f ) (14) = cos(π f ) (15) i na podsawie wyników ych mnożeń, zgodnie ze wzorami (11), (1) i (13), oblicza ampliudę i fazę dla każdej z esowanych częsoliwości. Nasępnie poszukiwane są warości maksymalne ampliudy w funkcji badanej częsoliwości. Odnalezione maksima rakowane są jako esymay składowych badanego sygnału. Częsoliwość sygnałów esowych zmienia się z krokiem 1 Hz. Mnożenie przez każdy z sygnałów esowych może być dokonane niezależnie od pozosałych. Dzięki emu algorym może być przygoowany w posaci wielowąkowej. W szczególności, gdybyśmy dysponowali sprzęem mogącym obsługiwać yle wąków, ile jes sygnałów esowych, wszyskie mnożenia mogłyby być wykonywane równolegle, co mogłoby skrócić obliczenia yle razy, ile jes sygnałów esowych. W przypadku badanego algorymu mamy do czynienia z 048 sygnałów esowych, więc w idealnym przypadku można przyspieszyć obliczenia 10 3 -kronie wysarczająco, aby algorym pracował w czasie rzeczywisym, pod warunkiem, że dysponujemy odpowiednią liczbą jednosek obliczeniowych. Warunek en spełniają nowoczesne kary graficzne oraz układy wykorzysujące logikę programowalną (FPGA). Opracowanie algorymów dla ych środowisk jes jednak czasochłonne i wymaga zasosowania odpowiednich narzędzi (języki HDL, środowiska OpenCL lub CUDA [8, 9]). Celowym więc wydawało się przed przysąpieniem do opracowania programu dla wymienionych środowisk przeesowanie możliwości algorymu równoległego w klasycznym środowisku PC. Współczesne procesory klasy x86 pozwalają na równoległą obsługę od do 1 wąków. W rzeczywisych algorymach równoległych czas obliczeń jes większy niż wynikałoby o z podzielenia czasu pracy algorymu jednowąkowego przez liczbę wąków. Dzieje się ak dlaego, że część zadań realizowanych przez algorym, np. przygoowanie danych i opracowanie wyników musi odbywać się w jednym wąku. Dodakowo, jeśli wąków jes więcej niż jednosek obliczeniowych maszyny, na kórej wykonywany jes algorym, porzebny jes dodakowy czas na przełączanie zadań. W przypadku badanego algorymu, oprócz procesów przygoowujących dane, nie można wykonać równolegle części obliczeń, polegających na odnalezieniu maksimów wśród wyników mnożeń. Poza ym procedura odnajdująca e maksima musi czekać, aż zakończy się praca osaniego z wąków wykonujących mnożenia. Algorym zosał opracowany w środowisku uruchomieniowym Lazarus przy użyciu modułu MTProcs. Moduł en pozwala na ławą implemenację algorymów równoległych przez obsługę równoległego uruchomienia wielu insancji ej samej procedury. Liczba uruchamianych wąków zadawana jes przez użykownika; każda z insancji procedury orzymuje swój niepowarzalny indeks, dzięki czemu może wykonać swoją część pracy niezależnie od innych insancji. W efekcie przeesowano czas pracy programu w funkcji liczby pracujących równolegle wąków. Czas pracy mierzony był za pomocą komponenu EpikTimer, korzysającego ze sprzęowych mechanizmów udosępnianych przez procesory klasy x86 pozwalającego na pomiar czasu z mikrosekundową rozdzielczością. Oprócz czasu przeznaczonego na obliczenia, mierzony był akże (w celach poglądowych i porównawczych) czas pracy całego programu oraz czas przeznaczony na wizualizację wyników. 4. Przebieg i wyniki badań Wsępny eap esów obejmował sprawdzenie, czy wyniki działania badanego algorymu są równoważne z wynikami algorymu jednowąkowego [11] oraz sprawdzenie, czy 114
zesaw danych esowych ma wpływ na czas pracy algorymu. Badany algorym okazał się, zgodnie z założeniami, równoważny algorymowi jednowąkowemu, dając e same wyniki, a posać danych esowych nie miała wpływu na czas pracy algorymu. W ej syuacji do dalszych pomiarów paramery sygnału esowego zosały wylosowane przy użyciu generaora liczb pseudolosowych (ab. 1). Pomiary czasu pracy badanego algorymu zosały wykonane na kompuerach, kórych paramery zosały przedsawione w ab.. Tab. 3. Czasy obliczeń w funkcji liczby wąków. Żółym kolorem oznaczono minimalny czas obliczeń dla każdego z zesawów esowych Tab. 3. Compuaion ime as a funcion of he number of hreads. Yellow indicaes he minimum calculaion ime for each of esed compuers Liczba wąków Czas obliczeń [s] dla poszczególnych kompuerów 1 3 4 5 6 Tab. 1. Paramery sygnału esowego Tab. 1. Parameers of he es signal 1 18,34 0,06 19,99 15,34 1,17 1,47 Składowa Ampliuda A Częsoliwość f [Hz] Faza φ[sopnie] 9,75 10,76 10,05 7,75 10,63 11,08 3 6,77 6,91 6,78 6,11 7, 1,9 1 0,944 199 9 0,471 1006 101 3 0,350 1358 90 4 0,53 1759 16 5 0,19 1866 18 6 0,19 1704 13 7 0,073 503 104 4 5,46 5, 5,7 4,71 5,5 11,04 5 5,86 7,8 8,10 5,90 4,70 1,7 6 4,88 7,19 7,36 5,34 4,03 11,59 7 4,70 5,97 6,9 5,36 4,8 11,51 8 4,6 5,4 5,40 4,77 4,5 11,18 9 5,35 6,51 7,0 5,40 3,76 11,51 8 0,068 411 16 10 5,15 5,93 6,69 5,11 3,73 11,8 Tab.. Paramery kompuerów użyych do esów Tab.. Parameers of he compuers used for esing 11 4,9 5,91 6,1 5, 3,80 11,59 1 4,74 5,81 5,6 4,78 3,58 11,40 Lp. Procesor Liczba wąków Liczba rdzeni Częsoliwość pracy [GHz] 13 4,70 6,39 7,31 5,09 4,15 11,40 14 4,56 5,93 6,48 5,01 4,06 11,14 1 AMD FX-830 8 (4 moduły) 8 4, 15 4,5 5,87 6,06 4.89 3,69 11,44 AMD FX-830 (ryb 4 rdzeni) 4 4 4, 16 4,59 5,81 5,61 4,80 3,78 11,38 3 Inel i5 4 4 3,3 0 4,73 5,80 5,67 4,8 3,35 11, 4 Inel i3 4 3,8 4 4,40 5,80 5,67 4,83 3,1 11,34 5 Inel i7 6 1 3,3 8 4,53 5,8 5,7 4,81 3,34 11,4 6 AMD A64x,4 3 4,39 5,84 5,63 4,8 3,33 11,47 Pomiary Auomayka Roboyka nr /014 115
Nauka Tab. 4. Względna prędkość obliczeń w funkcji liczby wąków Tab. 4. Relaive compuaion speed as a funcion of he number of hreads Liczba wąków Względna prędkość obliczeń (1 wąek = 100 %) dla poszczególnych kompuerów [%] 1 3 4 5 6 1 100,0 100,0 100,0 100,0 100,0 100,0 188,1 186,4 198,9 197,9 199, 193,8 3 70,9 90,3 94,8 51,1 93, 174,7 4 97,7 384,3 379,3 35,7 383,5 194,5 5 319,5 56,5 46,8 60,0 450,4 168,8 6 375,8 79,0 71,6 87,3 55,3 185, 7 390, 336,0 317,8 86, 494,6 186,5 8 397,0 370,1 370, 31,6 498,1 19,0 9 34,8 308,1 77,6 84,1 563,0 186,5 10 356,1 338,3 98,8 300, 567,6 190,3 11 37,8 339,4 31,9 93,9 557,1 185, 1 386,9 345,3 355,7 30,9 591,3 188,3 13 390, 313,9 73,5 301,4 510,1 188,3 Zesaw esowy nr 1 i o kompuer wyposażony w procesor AMD FX-830 akowany częsoliwością 4, GHz. Procesor en składa się z czerech modułów, z kórych każdy zawiera dwie jednoski wykonawcze, widziane przez sysem operacyjny jako niezależne rdzenie. Jeden rdzeń może obsługiwać jeden wąek. Każdy moduł zawiera jedną jednoskę zmiennoprzecinkową, współużykowaną przez oba rdzenie. Procesor en można przełączyć w ryb pracy, w kórym każdy modułów pracuje jako pojedynczy rdzeń, co eoreycznie powinno przyspieszyć obliczenia wykonywane przy niewielkiej liczbie wąków. Zesaw nr 3 zawiera procesor Inel I5-500K pracujący z częsoliwością 3,3 GHz. Ma on czery rdzenie, z kórych każdy obsługuje jeden wąek. Zesaw nr 4 zawiera procesor Inel i3. Procesor en ma dwa rdzenie, z kórych każdy może obsłużyć dwa wąki. Podczas esów kompuer pracował z częsoliwością 3,8 GHz. Kompuer nr 5 o najszybsza z jednosek zasosowanych do esowania badanego algorymu. Jego procesor, Inel i7-970 ma sześć rdzeni, z kórych każdy obsługuje dwa wąki. Osani z kompuerów esowych nr 6, o maszyna z procesorem AMD Ahlon 64x, z dwoma rdzeniami i obsługującym dwa wąki. Zmierzone zosały czasy obliczeń dla różnej liczby wąków: od 1 do 16 oraz dla 0, 4, 8 i 3 wąków. Wyniki zosały przedsawione w ab. 3 i 4 oraz na rys. 1 i. Minimalny czas obliczeń dla każdego z zesawów zosał oznaczony żółym kolorem. Pomiary czasów pracy badanego algorymu były dokonywane w środowisku MS Windows. Jego procedury sysemowe, wykonując się w le, zajmują czas procesora, a co za ym idzie, wydłużają czas obliczeń. Wpływ ego zjawiska na wyniki pomiarów był isony, różnice między dwoma uruchomieniami ego samego programu na ym samym kompuerze sięgały kilku procen. W celu zminimalizowania wynikających sąd błędów pomiaru, procedura była uruchamiana 5 razy dla każdego zesawu i każdej liczby wąków, a zmierzone czasy zosały uśrednione. 14 40, 338,3 308,5 306, 51,4 19,7 15 405,8 341,7 39,9 313,7 573,7 187,7 16 399,6 345,3 356,3 319,6 560,1 188,7 0 387,7 345,9 35,6 318,3 631,9 191,4 4 416,8 345,9 35,6 317,6 659,5 189,3 8 404,9 344,7 349,5 318,9 633,8 188,0 3 417,8 343,5 355,1 318,3 635,7 187, Rys. 1. Czasy obliczeń w funkcji liczby wąków Fig. 1. Compuaion ime as a funcion of he number of hreads 116
Rys.. Względna prędkość obliczeń w funkcji liczby wąków Fig.. Relaive compuaion speed as a funcion of he number of hreads Na rys. 1 i można zauważyć charakerysyczne ząbki. Wynikają one ze spadków prędkości obliczeń, kórych przyczyną jes nierównomierny rozdział pracy na poszczególne wąki. W przypadku wykonywania pięciu wąków na czerordzeniowym procesorze (najbardziej zauważalne spowolnienie) jeden z rdzeni musiał wykonać szeregowo dwa wąki, mając do wykonania dwukronie większą liczbę operacji. 5. Podsumowanie Opracowany wielowąkowy algorym esymacji paramerów składowych sinusoidalnych złożonego sygnału odznacza się dobrą skalowalnością. Czas przeznaczony na wykonanie procedur, kóre nie mogą zosać zrównoleglone, jes niewielki, a czas związany z przełączaniem danych pomijalnie mały. W ej syuacji wydaje się być celowym opracowanie wersji ego algorymu przysosowanej do pracy w środowiskach o większej liczbie jednosek wykonawczych, akich jak procesory GPU, a akże opracowanie jego sprzęowej implemenacji w układzie FPGA. Rozwiązania e, dzięki przyspieszeniu obliczeń, pozwolą być może na zasosowanie ego rodzaju algorymu do rozwiązywania problemów prakycznych, akich jak wykrywanie anomalii i redukcja zakłóceń zawarych w sygnałach akusycznych. Podziękowania Publikację sfinansowano w ramach pracy własnej W/WE/8/013. Bibliografia 1. Zieliński T.P., Cyfrowe przewarzanie sygnałów, Wydawnicwa Komunikacji i Łączności, Warszawa 005.. Romberg J., Wakin M., Compressed Sensing: A Tuorial, IEEE Saisical Signal Processing Workshop, Madison, Wisconsin 007. 3. Donoho D.L., Compressed Sensing, IEEE Transacions On Informaion Theory, Vol. 5, No. 4, April 006, 189 1306. 4. Hong S., Direc Specrum Sensing from Compressed Measuremens, Miliary Communicaions Conference, 010, 1187 119. 5. Arabas J., Wykłady z algorymów ewolucyjnych, Wydawnicwa Naukowo-Techniczne, Warszawa 001. 6. Goldberg D.E., Algorymy geneyczne i ich zasosowania, Wydawnicwa Naukowo-Techniczne, Warszawa 003. 7. Rukowska D., Piliński M., Rukowski L., Sieci neuronowe, algorymy geneyczne i sysemy rozmye, PWN, Warszawa, Łódź 1999. 8. Munshi A., Gaser B., Mason T.G., OpenCL Programming Guide, Addison Wesley Pub Co. Inc., 011. 9. Majewski J., Zbysiński P., Układy FPGA w przykładach, Wydawnicwo BTC, Warszawa 007. 10. Kardasz P., Rekonsrukcja zaszumionego sygnału sinusoidalnego na podsawie niewielkiej liczby próbek za pomocą algorymu ewolucyjnego. Pomiary Auomayka Roboyka, R. 17, nr /013, 407 41. 11. Kardasz P., Algorym idenyfikacji składowych sinusoidalnych złożonego sygnału na podsawie jego losowo pobranych próbek. Poznan Universiy of Technology Academic Journals. Elecrical Engineering, nr 76, 013, 197 03. Parallel signal processing algorihm based on a small number of samples Absrac: The paper presens a parallel algorihm for parameer esimaion of sinusoidal componens of a complex signal. The proposed algorihm can idenify he signal componens when he number of available samples of he signal is limied. The proposed algorihm was esed on es compuers equipped wih differen number of processor cores and floaing poin unis. The experimenal resuls show ha he proposed algorihm can work efficienly even if he number of hreads exceeds he number of processor cores. Direcions for furher research are oulined. Keywords: parallel algorihm, signal idenificaion Arykuł recenzowany, nadesłany 18.11.013 r., przyjęy do druku 0.1.013 r. mgr inż. Pior Kardasz Dokoran Wydziału Elekrycznego Poliechniki Białosockiej. Zajmuje się badaniami związanymi z ineligennymi algorymami kompresji, rekonsrukcji i przewarzania sygnałów. e-mail: pik@we.pb.edu.pl Pomiary Auomayka Roboyka nr /014 117