DSPElib - BIBLIOTEKA C++ DO SZYBKIEJ IMPLEMENTACJI WIELOSZYBKOŚCIOWYCH ALGORYTMÓW PRZETWARZANIA SYGNAŁÓW
|
|
- Leszek Łukasik
- 8 lat temu
- Przeglądów:
Transkrypt
1 Zeszyty Naukowe Wydziału Elektrotechniki i Automatyki Politechniki Gdańskiej Nr 51 XXVI Seminarium ZASTOSOWANIE KOMPUTERÓW W NAUCE I TECHNICE 2016 Oddział Gdański PTETiS DSPElib - BIBLIOTEKA C++ DO SZYBKIEJ IMPLEMENTACJI WIELOSZYBKOŚCIOWYCH ALGORYTMÓW PRZETWARZANIA SYGNAŁÓW Marek BLOK Politechnika Gdańska, Wydział Elektroniki, Telekomunikacji i Informatyki, Katedra Sieci Teleinformacyjnych, tel.: , mblok@eti.pg.gda.pl Streszczenie: W pracy przedstawiono opracowaną bibliotekę C++, DSPElib Digital Signal Processing Engine library, pozwalającą na prostą i szybką implementację wieloszybkościowych algorytmów przetwarzania sygnałów zawierających sprzężenia zwrotne, a co za tym idzie na szybkie prototypowanie tego typu algorytmów i włączanie ich do autonomicznych aplikacji przeznaczonych na platformę Windows lub Linux. Słowa kluczowe: cyfrowe przetwarzanie sygnałów, wieloszybkościowe przetwarzanie sygnałów, biblioteka C++, szybkie prototypowanie algorytmów. 1. WPROWADZENIE W cyfrowym przetwarzaniu sygnałów (DSP Digital Signal Processing) szczególnym wyzwaniem jest wykorzystywanie algorytmów zawierających sprzężenie zwrotne, które sprawia, że kolejne wartości próbek wyjściowych algorytmu zależą od wartości poprzednich jego próbek wyjściowych. Przykładem takich algorytmów są cyfrowe filtry typu IIR (Infinite Impulse Response) [ 1] albo algorytmy adaptacyjne, których przykładem mogą być algorytmy synchronizacji symbolowej [ 2]. Wyklucza to blokową implementację, w której kolejne etapy przetwarzania można realizować odrębnie, niezależnie przetwarzając większe segmenty sygnału. Skomplikowanie implementacji w efekcie występowania sprzężenia zwrotnego jest szczególnie istotne na etapie prototypowania algorytmu, gdy docelowa struktura i parametry algorytmu przetwarzania sygnałów nie są jeszcze ściśle określone i są zmieniane w rezultacie testowania kolejnych wersji kodu, co skutkuje częstym wprowadzaniem poprawek. Nawet drobna zmiana koncepcji przetwarzania może w takim przypadku skutkować znacznymi zmianami w kodzie. Jeszcze większy problem stanowi implementacja algorytmów wieloszybkościowych (multirate), w których różne fragmenty algorytmu pracują z różnymi szybkościami próbkowania [ 3, 4]. W przypadku projektowania i implementacji algorytmów DSP pierwszym etapem typowo jest przetworzenie koncepcji do postaci schematu blokowego, po czym następuje wstępna implementacja i testowanie, zwykle w środowisku MATLAB [ 5] (bądź OCTAVE [ 6]), a końcowym etapem jest implementacja i testowanie docelowej aplikacji przygotowanej w języku C/C++. Dodatkowo w efekcie testów często trzeba powrócić do wcześniejszych etapów projektowania lub implementacji. Zaletą środowiska typu MATLAB jest prostota implementacji i dostępność znacznego zaplecza algorytmów przetwarzania oraz łatwość wglądu w sygnały z dowolnego punktu algorytmu. Środowisko to interpretuje polecenia zapisane w postaci skryptów, co ogranicza jego efektywność. W przypadku implementacji blokowych nie jest istotnym ograniczeniem ze względu na optymalizację tego środowiska pod kątem przetwarzania macierzowego. Jednak skrypty zawierające pętle sprzężenia zwrotnego, w których przetwarzanie musi być realizowane potokowo, próbka po próbce, są przetwarzanie bardzo wolno. Problemy te były motywacją do opracowania biblioteki C++ umożliwiającej implementację algorytmów DSP w ścisłym powiązaniu ze schematem blokowym, z pominięciem etapu jego realizacji w MATLABie i ograniczenie się do implementacji i testowania wybranych elementów projektowanego algorytmu. Ścisłe powiązanie implementacji w C++ ze schematem blokowym pozwala na łatwe przenoszenie modyfikacji schematu blokowego do kodu źródłowego aplikacji, a co za tym idzie na łatwe i szybkie testowanie różnych wariantów powstających na etapie prototypowania algorytmu. Jednocześnie z uzyskaniem większej wydajności przetwarzania dla realizowanych algorytmów wiąże się możliwość pominięcia czasochłonnej niskopoziomowej ich implementacji w C/C++. Prezentowana biblioteka jest wykorzystywana przez jej autora w pracy badawczej oraz dydaktyce. Z jej użyciem powstały aplikacje realizujące zaawansowane algorytmy przetwarzania sygnałów pracujące w czasie rzeczywistym na komputerach klasy PC, m.in. cyfrowy demodulator FSK [ 7] i edukacyjny model modulatora/demodulatora OFDM [ 8]. Studenci, posługując się biblioteką, w ramach zajęć projektowych oraz laboratorium z przedmiotu Zaawansowane przetwarzanie sygnałów telekomunikacji cyfrowej, już po krótkim przygotowaniu mogą samodzielnie implementować, modyfikować i testować autonomiczne aplikacje DSP korzystając z ogólnie dostępnych narzędzi. W ramach tych zajęć biblioteka wykorzystywana jest w realizacji takich zadań jak: polifazowa implementacja filtrów interpolacyjnych i decymacyjnych, projektowanie i implementacja interpolowanych filtrów FIR (I-FIR) [ 9] czy implementacja i badanie banku filtrów analizujących i syntezujących [ 10]. Przy użyciu biblioteki wytworzono również narzędzia wykorzystywane w ramach zajęć laboratoryjnych: PiAPS_sound pozwalające na badanie właściwości przetworników A/C i C/A kart dźwiękowych [ 11], a także TELEsound oprogramowanie wytworzone na potrzeby laboratorium z przedmiotu Podstawy telekomunikacji [ 12].
2 2. KONCEPCJA I KOMPONENTY BIBLIOTEKI Zalążek koncepcji biblioteki DSPElib stanowiła aplikacja miceps rozwijana w latach , która była pomyślana jako uzupełnienie oprogramowania DSPS [ 13], realizującego przetwarzanie blokowe, o możliwość realizacji przetwarzania potokowego z pętlą sprzężenia zwrotnego. Pozwalała ona na ograniczenie bardzo czasochłonnego, niezbędnego na etapie rozwoju algorytmów, testowania i modyfikowania "czystej" implementacji C++. W związku z ograniczeniami tej aplikacji, takimi jak: implementacja w formie interpretera skryptów, brak możliwości wykorzystania algorytmów wieloszybkościowych oraz ograniczone możliwości diagnostyki oprogramowywanych algorytmów, rozwój tej aplikacji został zarzucony. Doświadczenia nabyte w trakcie rozwoju aplikacji miceps stanowiły punkt wyjścia w opracowaniu prezentowanej w tym artykule biblioteki DSPElib, której pierwsza wersja powstała w 2005 roku. Modyfikacje założeń były jednak na tyle istotne, że biblioteka została opracowana całkowicie od nowa przy następujących założeniach: zapewnienie wsparcia dla implementacji algorytmów zawierających sprzężenia zwrotne oraz rozwiązania wieloszybkościowe, umożliwienie wytworzenia w C++ samodzielnej aplikacji realizującej algorytm pracujący w czasie rzeczywistym, zapewnienie prostej aktualizacji zastosowanych rozwiązań, tak żeby aktualizacja jądra biblioteki nie wymagała modyfikacji kodu właściwej aplikacji, prostota implementacji algorytmów DSP w sposób bezpośrednio powiązany ze schematem blokowym algorytmu, proste definiowanie połączeń oraz relacji czasowych, otwartość biblioteki, prostota diagnozowania algorytmów DSP. Podczas tworzenia biblioteki szczególną uwagę zwrócono na wykorzystanie narzędzi ogólnie dostępnych, udostępnianych na zasadach licencji wolnego oprogramowania. Stąd biblioteka ta jest przystosowana do kompilacji z użyciem kompilatora g++ dostępnego zarówno na platformie Windows, jak i Linux Struktura biblioteki W opracowanej bibliotece można wyróżnić obsługę bloczków przetwarzania oraz obsługę zegarów. Każdy bloczek przetwarzania jest reprezentowany przez odrębną klasę C++, tak aby zapewnić łatwe przenoszenie schematu algorytmu DSP do kodu C++. Wszystkie bloczki przetwarzania obsługiwane przez bibliotekę są implementowane jako klasy pochodne od klas DSP_block lub DSP_source. Klasa bazowa DSP_block implementuje podstawowe mechanizmy obsługi bloków, których próbki wyjściowe są generowane w oparciu próbki wejściowe. Szczególnym przypadkiem tego typu bloczków są ujścia sygnału, które przetwarzają próbki wejściowe bez generowania próbek wyjściowych, np. bloczek zapisu sygnału do pliku (DSPu_FILEoutput). Z kolei klasa DSP_source zapewnia podstawowe mechanizmy obsługi bloków stanowiących źródła sygnałów, czyli takich, które generują próbki wyjściowe, np. generator szumu (DSPu_rand) albo źródło podające na wyjście kolejne próbki pobierane z pliku (DSPu_FILEinput). W przypadku źródeł sterowanych, które generują próbki wyjściowe na podstawie parametrów otrzymywanych na ich wejściach, klasa implementująca je jest tworzona jako klasa pochodna obydwu klas bazowych: DSP_source i DSP_block. Przykładem może być bloczek DSPu_DCO realizujący generator, na którego wejście podaje się sygnały korekty jego częstotliwości i fazy. Ponieważ biblioteki ma służyć do implementacji algorytmów wieloszybkościowych, to bardzo ważna jest obsługa zegarów taktujących pracę poszczególnych segmentów algorytmu. Rdzeniem biblioteki jest klasa DSP_clock implementująca silnik przetwarzania kontrolujący wszystkie zdefiniowane w algorytmie zegary i inicjujący działanie powiązanych z nimi źródeł. Źródła te generując próbki wyjściowe pobudzają zarazem do działania pozostałe bloczki przetwarzania. Silnik biblioteki umożliwia definiowanie zarówno zegarów działających synchronicznie, jak i asynchronicznie. Zegary synchroniczne pracują z szybkością stanowiącą L/Mkrotność szybkości zegara referencyjnego, gdzie L i M są dodatnimi liczbami całkowitymi. Z kolei zegary asynchroniczne są aktywowane sygnałowo, np. bloczek DSPu_GardnerSampling stosowany w demodulatorze cyfrowym aktywuje zegar wyjściowy i generuje próbkę wyjściową, gdy na podstawie próbek wejściowych podjęto decyzję, że bieżąca próbka wejściowa jest interesującą nas próbką reprezentującą symbol nadany przez modulator cyfrowy [ 2] Jądro biblioteki Obsługa zegarów w jądrze biblioteki jest realizowana na zasadach symulacji zdarzeniowej, gdzie zdarzenia powiązane są z początkami kolejnych cykli poszczególnych zegarów. Przykładowe algorytmy wieloszybkościowe pokazuje rys. 1. Po lewej stronie pokazano algorytm generujący sygnał kluczowany zgodnie z kodem Morse a. Sygnał kluczujący jest generowany w bloczku DSPu_MORSEkey z szybkością 1000 Sa/s. Sygnał ten jest zapisywany do pliku (DSPu_FILEoutput) po 5-krotnej decymacji (szybkość 200 Sa/s). Jednocześnie po 8-krotnej interpolacji moduluje on sinusoidalny sygnał nośny generowany w bloczku DSPu_DDScos (8000 Sa/s). Tak zmodulowany sygnał jest przekazywany przez sieć TCP/IP do kolejnej aplikacji z użyciem bloczka DSPu_SOCKEToutput. Występującym w tym algorytmie szybkościom próbkowania odpowiadają następujące długości cykli zegarów: 1, 5 i 40. Jeden cykl zegara odpowiada tu długości cyklu podstawowego określonej jako najmniejszy wspólny podzielnik odstępów próbkowania wszystkich zegarów występujących w algorytmie. Występowanie na osi czasu początków cykli poszczególnych zegarów zaznaczono strzałeczkami na górze rysunku 1. Zauważmy, że w tym przypadku zdarzenia obsługi zegarów można powiązać z obsługą zdarzeń najszybszego zegara, którego cykl odpowiada cyklowi podstawowemu realizowanego algorytmu. Wolniejsze zegary są po prostu obsługiwane w wybranych cyklach tego zegara. Nieco inna sytuacja występuje w przypadku dwuszybkościowego algorytmu pokazanego po prawej stronie rys. 1. Algorytm ten odbiera poprzez sieć IP (DSPu_SOCKETinput) sygnał generowany przez poprzednio omawiany algorytm i odtwarza go z użyciem karty dźwiękowej (DSPu_AudioOutput) z szybkością Sa/s. Ponieważ odbierany sygnał cechuje szybkość próbkowania 8000 Sa/s, to konieczna jest realizacja zmiany szybkości próbkowania (DSPu_SampleRateConversion) z krotnością 441/320. Stąd w tym algorytmie cykle zegarów 18 Zeszyty Naukowe Wydziału Elektrotechniki i Automatyki PG, ISSN , Nr 51/2016
3 Rys. 1. Przykładowe algorytmy wieloszybkościowe wraz ze wskazanymi na osiach czasu początkami cykli poszczególnych zegarów wejściowego i wyjściowego wynoszą odpowiednio 441 i 320 cykli podstawowych. Jak widać na osi czasu przedstawionej w dolnej części rysunku 1 obydwa zegary są obsługiwane w odmiennych chwilach czasu, a ponadto poszczególne zdarzenia (początki cykli zegarów) są od siebie oddzielone o około kilkaset cykli podstawowych, co uzasadnia stosowanie symulacji zdarzeniowej. Jądro biblioteki w pierwszym kroku określa najbliższą chwilę, w której aktywowany jest przynajmniej jeden zegar. Dla tej chwili określane są wszystkie aktywowane zegary, których kolejny cykl zaczyna się w danej chwili. Dla znalezionych zegarów są tworzone dwie listy źródeł sygnałów (bloków pochodnych od klasy DSP_source) powiązanych z aktywowanymi zegarami. Pierwsza, to lista źródeł, do których należy przekazać informację o rozpoczęciu się cyklu zegara, w którym dane źródło będzie aktywowane. Powiadomienia te są istotne przede wszystkim dla asynchronicznych źródeł sterowanych sygnałowo. Informują one źródło o tym, że w danym cyklu pojawi się na jego wejściu próbka sterująca jego pracą. Po przekazaniu powiadomień wywoływane są procedury obsługi wyjść źródeł znajdujących się na drugiej liście zawierającej źródła generujące w danym cyklu próbki wyjściowe. W ramach obsługi źródła sygnału obliczone próbki wyjściowe są przekazywane do podłączonych do niego bloczków, które z kolei przekazują te próbki do kolejnych bloczków. W szczególnych przypadkach obsługa źródła może być odroczona, gdy źródło oczekuje na dane zewnętrzne. Przykładowo źródło DSPu_AudioInput może nadal oczekiwać na próbki pozyskiwane za pomocą karty dźwiękowej a źródło DSPu_SocketInput na próbki przesyłane przez sieć. W takim przypadku po przetworzeniu pozostałych źródeł procedura obsługi zegarów ponownie podejmie próbę wykonania procedur obsługi tych źródeł. Dodatkowo, w ramach obsługi źródeł, mogą być aktywowane zegary asynchroniczne sterowane sygnałowo. Trafiają one do zbioru zegarów aktywowanych w danym cyklu i zostaną obsłużone po zakończeniu obsługi wszystkich bieżących źródeł. Sytuacja, gdy główna procedura obsługi zegarów stwierdzi, że w bieżącym cyklu obsługi nie udało się przetworzyć żadnego źródła i jednocześnie żadne źródło nie oczekuje na dane zewnętrzne oraz lista źródeł aktywowanych sygnałowo jest pusta oznacza, że w działaniu algorytmu wystąpił błąd, najprawdopodobniej związany z nieprawidłowo zdefiniowanymi relacjami pomiędzy zegarami i biblioteka raportuje problem. 3. UŻYTKOWANIE BIBLIOTEKI Korzystając z prezentowanej biblioteki programista może oprogramować algorytm przetwarzania sygnałów bezpośrednio w oparciu o jego schemat blokowy. Typowe bloki przetwarzania deklaruje się jako obiekty, a połączenia pomiędzy blokami definiuje się jednym poleceniem (DSP_connect) wskazując obiekty reprezentujące łączone bloki oraz nazwy odpowiednich wejść i wyjść. Użytkownik biblioteki nie musi wdawać się w szczegóły implementacji bloczków oraz relacji pomiędzy nimi, co jest znacznym ułatwieniem zwłaszcza, gdy w algorytmie występują sprzężenia zwrotne, a bloczki pracują z różnymi szybkościami próbkowania. Zeszyty Naukowe Wydziału Elektrotechniki i Automatyki PG, ISSN , Nr 51/
4 Poniżej przedstawiono kod źródłowy aplikacji implementującej algorytm, którego schemat pokazano po prawej stronie rys. 1. void main(void) { DSP_clock_ptr MasterClock; MasterClock = DSP_clock::CreateMasterClock(); DSP_LoadCoef coef_info; DSP_float h_src[9261]; coef_info.open("lpf_8000_11025.coef", "matlab"); coef_info.load(h_src, 9261); DSPu_SOCKETinput in_socket(masterclock, " ", true, 0x ); DSPu_SamplingRateConversion SRC(MasterClock, 441, 320, 9261, h_src); DSPu_AudioOutput AudioOut(11025); DSPu_FILEoutput WAVEfile("morse.wav", DSP_ST_short, 1, DSP_FT_wav, 11025); DSP_connect(in_socket.Output("out"), SRC.Input("in")); DSP_connect(SRC.Output("out"), AudioOut.Input("in")); DSP_connect(SRC.Output("out"), WAVEfile.Input("in")); DSP_component::CheckInputsOfAllComponents(); DSP_clock::SchemeToDOTfile(MasterClock, "schemat.dot"); do { DSP_clock::Execute(MasterClock, 2000); } while (in_socket.getbytesread()!= 0); DSP_clock::FreeClocks(); } Kolejne segmenty programu realizują następujące zadania: zdefiniowanie głównego zegara, wczytanie współczynników filtru interpolacyjnego zaprojektowanego z użyciem zewnętrznej aplikacji, np. MATLABa, deklaracje definiujące bloczki implementowanego algorytmu, definicje połączeń z użyciem nazw wejść i wyjść poszczególnych bloczków (skompilowana aplikacja na etapie definiowania połączeń weryfikuje ich poprawność, m.in. zgodność zegarów łączonych bloczków), wywołanie procedury sprawdzającej czy wszystkie wejścia bloczków są podłączone oraz procedury generującej schemat blokowy do pliku o rozszerzeniu dot (plik ten można przetworzyć z użyciem narzędzia dot z pakietu Graphviz [ 14] uzyskując z ten sposób rysunki schematów; przykładowe schematy wygenerowane w ten sposób pokazano na rys. 1), uruchomienie algorytmu na zadaną liczbę cykli podanego zegara (nie musi to być zegar główny); kolejne wywołanie polecenia Execute kontynuuje pracę algorytmu; w powyższym przykładzie metoda Execute jest wywoływana dopóki aktywne jest połączenie IP, przez które przekazywany jest przetwarzany sygnał, zwolnienie zasobów powiązanych z zegarami algorytmów, w tym automatycznie tworzonych zegarów pochodnych; w przypadku omawianego kodu jest to zegar wyjściowy automatycznie wygenerowany w bloczku DSPu_SamplingRateConversion. Jak widać definiowanie i łączenie elementów implementowanego algorytmu jest bardzo uproszczone i praktycznie w stosunku jeden do jeden może być powiązane ze schematem blokowym algorytmu. Dodatkowo implementację znacząco upraszczają wbudowane funkcje diagnostyczne wykonywane automatycznie na etapie definiowania połączeń i w trakcie pracy algorytmu oraz wykonywane na życzenie użytkownika. Możliwe jest również łatwe wytworzenie schematu zaimplementowanego algorytmu. Bibliotekę cechuje również duża otwartość, która umożliwia łatwe rozszerzenie jej możliwości przez użytkownika. W ramach oferowanych przez bibliotekę funkcjonalności możliwe jest wykorzystanie bloczków DSPu_MyFunction oraz DSPu_OutpuBuffer i DSPu_InputBuffer, które pozwalają na dołączenie funkcji obsługi (callback) definiowanej przez użytkownika i wywoływanej przez bibliotekę, gdy konieczne jest przetworzenie próbek wejściowych i wygenerowanie próbek wyjściowych bloczka. W zależności od konfiguracji, bloczki te umożliwiają implementację dowolnych bloczków przetwarzania oraz źródeł sygnału, w tym źródeł sterowanych. Dla bardziej zaawansowanych użytkowników dostępna jest również możliwość uzupełniania biblioteki o własne bloczki pochodne od klas DSP_block lub DSP_source. Kolejną możliwością jest tworzenie klas makropoleceń pochodnych od klasy DSP_macro, w których definiuje się bloczki i połączenia, tak jak przy normalnym definiowaniu algorytmów, z tą różnicą, że dodatkowo określa się wejścia i wyjścia wybranych bloczków wewnętrznych tej klasy, które są udostępniane na zewnątrz. Taką klasę makro, można później wykorzystywać w kodzie do tworzeniu algorytmów, tak jak każdy inny bloczek dostępny w bibliotece, przy czym wewnętrznie biblioteka realizuje każdą instancję takiego makra jako grupę bloczków i połączeń pomiędzy nimi. 4. PODSUMOWANIE Przedstawiona biblioteka DSPElib umożliwia oprogramowywanie w C++ algorytmów DSP na poziomie struktury blokowej, co jest szczególnie istotne na etapie prototypowania algorytmów. Zwłaszcza przydatna jest łatwość modyfikowania struktury oraz możliwość uzyskania wglądu w reprezentacje sygnałów w dowolnym miejscu schematu poprzez dodanie jednego obiektu reprezentującego wyjście do pliku oraz jego podłączenie do interesującego nas wyjścia. Poza uproszczeniem implementacji algorytmów biblioteka zawiera w sobie rozbudowane mechanizmy detekcji i raportowania błędów zawartych w strukturze algorytmu przetwarzania sygnału. Mechanizmy te są aktywne podczas uruchamianiu aplikacji w trybie debugowania. Przykładowo, procedury biblioteczne wykrywają i raportują, podając nazwy powiązanych z problemem bloków i wyjść, próby podłączenia wielu wyjść do jednego wejścia, pętle sprzężenia zwrotnego nie zawierające elementu opóźniającego, czy też niezgodność zegarów łączonych bloków. Właściwość ta ułatwia zrealizowanie struktury spełniającej zasady realizacji algorytmów DSP. Jednak, ponieważ struktura spełniająca te zasady może nie być zgodna z założeniami programisty, przydatna jest również dostępna w bibliotece funkcja generacji schematów na podstawie utworzonej struktury bloków przetwarzania sygnałów. Zauważmy, że struktura ta niekoniecznie wynika bezpośrednio z samego kodu C++, może być ona bowiem konstruowanych programowo, np. zależnie od parametrów wprowadzanych przez użytkownika aplikacji określającego np. jaki wariant algorytmu przetwarzania należy zastosować. Poszukując bibliotek C++ dedykowanych implementacji algorytmów cyfrowego przetwarzania sygnałów można głównie natrafić na biblioteki implementujące zestawy zoptymalizowanych narzędzi DSP 20 Zeszyty Naukowe Wydziału Elektrotechniki i Automatyki PG, ISSN , Nr 51/2016
5 do analizy i blokowego przetwarzania sygnałów, np. Jamoma DSP [ 15], ICST DSP [ 16] i Aquila [ 17]. Niektóre rozwiązania, np. SPUC [ 18], są przystosowane do potokowej realizacji przetwarzania, ale tak jak i w przypadku poprzednio wymienionych bibliotek interakcję pomiędzy bloczkami musi zaimplementować i przetestować użytkownik. Zbliżoną do prezentowanej tutaj biblioteki pod względem użytkowym jest biblioteka slib [ 19]. Jednak jej możliwości w realizacji algorytmów wieloszybkościowych oraz algorytmów zawierających pętle sprzężenia zwrotnego, są bardzo ograniczone z uwagi na stosowanie buforów służących do gromadzenie próbek przekazywanych pomiędzy bloczkami. W bibliotece tej brakuje też zaawansowanego zarządzania zegarami algorytmów przydatnego w implementacji algorytmów wieloszybkościowych. Kolejną cechą wyróżniającą bibliotekę DSPElib jest rozbudowane raportowanie błędów. Przedstawiona biblioteka jest wykorzystywana przez jej autora w pracy badawczej oraz dydaktyce. Posługując się biblioteką studenci już po krótkim przygotowaniu mogą samodzielnie implementować, modyfikować i testować autonomiczne aplikacje DSP korzystając z narzędzi OpenSource owych. Dodatkowo, otwarty charakter biblioteki umożliwia zaawansowanym użytkownikom na uzupełnianie zestawu dostępnych bloczków DSP korzystając z uproszczonych wzorców. 5. BIBLIOGRAFIA 1. Zieliński T.P., Korohoda P., Rumian R.: Cyfrowe przetwarzanie sygnałów w telekomunikacji, Wydawnictwo Naukowe PWN, 2014, ISBN: Blok M.: Algorytm pozyskiwania symboli z synchronizacją symbolową operującą na przebiegu błędu detektora Gardnera, Zeszyty Naukowe Wydziału ETI Politechniki Gdańskiej. Technologie Informacyjne 19, 2010, s Harris F.J.: Multirate signal processing for communication systems, Prentice Hall PTR, Smith S.W. Cyfrowe przetwarzanie sygnałów DSP. Praktyczny poradnik dla inżynierów i naukowców, Wydawnictwo BTC, Ingle V. K., Proakis J. G.: Digital signal processing using MATLAB, Cengage Learning, Eaton J. W.: Octave: Past, present and future, Proceedings of the 2nd International Workshop on Distributed Statistical Computing Blok M.: Cyfrowy odbiornik FSK, VII Konferencja Naukowo-Techniczna Systemy Rozpoznania i Walki Elektronicznej KNTWE'08, Warszawa 9-11 grudnia 2008, s Ćwikowski Ł., Blok M.: Educational model of the OFDM modulator and demodulator, Photonics Applications in Astronomy, Communications, Industry, and High-Energy Physics Experiments 2009, 75021R. 9. Saramaki T., Neuvo T., Mitra S. K.: Design of computationally efficient interpolated FIR filters, IEEE Transactions on Circuits and Systems 35(1), 1988, pp Vaidyanathan P. P.: Multirate digital filters, filter banks, polyphase networks, and applications: a tutorial, Proceedings of the IEEE 78(1), 1990, pp Blok M.: Edukacyjne narzędzie do badania zjawisk zachodzących podczas konwersji AC/CA, Zeszyty Naukowe Wydziału ETI Politechniki Gdańskiej. Technologie Informacyjne 2010, s Blok M.: Badanie właściwości sygnału telegraficznego oraz sygnału mowy przesyłanych przez kanał analogowy, Zeszyty Naukowe Wydziału Elektrotechniki i Automatyki Politechniki Gdańskiej, 28, 2010, s Gumiński W.: Komputerowy system cyfrowego przetwarzania sygnałów telekomunikacyjnych -DSPS, Krajowe Sympozjum Telekomunikacji 93, Bydgoszcz, t. D, 1993, s Ellson J. i inni: Graphviz - open source graph drawing tools, International Symposium on Graph Drawing, Springer Berlin Heidelberg, 2001, pp Place T., Trond L., Nils P.: A flexible and dynamic C++ framework and library for digital audio signal processing. Proc. of the International Computer Music Conference (ICMC), Papetti S.: The icst dsp library: A versatile and efficient toolset for audio processing and analysis applications. Proceedings of the 9th Sound and Music Computing Conference, Paul J.S.: Signal Processing in C++ Using Aquila 3.0, Electronics for you, buyers-guides/software-buyers-guide/signal-processingc-using-aquila-3-0, Kirke T.: SPUC - Signal Processing Using C++. wersja 2.4.1, , audiofilter/spuc/, dostęp Pekar D., Obradović R.: C++ Library for Digital Signal Processing - slib. Proc. IX Telekomunikacioni Forum Telfor, DSPElib - C ++ LIBRARY FOR RAPID DEVELOPMENT OF MULTIRATE DIGITAL SIGNAL PROCESSING ALGORITHMS The C ++ library called DSPElib - Digital Signal Processing Engine library developed by the author is presented in the paper. The library allows for simple implementation of multirate signal processing algorithms containing feedback loops and thus can be used for rapid prototyping of this type of algorithms. Using the library the algorithms can be implemented as stand-alone applications both for Windows or Linux platforms. Keywords: digital signal processing, multirate signal processing, C++ library, rapid algorithms prototyping. Zeszyty Naukowe Wydziału Elektrotechniki i Automatyki PG, ISSN , Nr 51/
6 22 Zeszyty Naukowe Wydziału Elektrotechniki i Automatyki PG, ISSN , Nr 51/2016
Przetwarzanie sygnałów z zastosowaniem procesorów sygnałowych - opis przedmiotu
Przetwarzanie sygnałów z zastosowaniem procesorów sygnałowych - opis przedmiotu Informacje ogólne Nazwa przedmiotu Przetwarzanie sygnałów z zastosowaniem procesorów sygnałowych Kod przedmiotu 06.5-WE-EP-PSzZPS
Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej. Instrukcja do zajęć laboratoryjnych z przedmiotu:
Politechnika Białostocka Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej Instrukcja do zajęć laboratoryjnych z przedmiotu: Architektura i Programowanie Procesorów Sygnałowych Numer
Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej
Politechnika Białostocka Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej Instrukcja do zajęć laboratoryjnych z przedmiotu: Przetwarzanie Sygnałów Kod: TS1A400027 Temat ćwiczenia:
Szybkie prototypowanie w projektowaniu mechatronicznym
Szybkie prototypowanie w projektowaniu mechatronicznym Systemy wbudowane (Embedded Systems) Systemy wbudowane (ang. Embedded Systems) są to dedykowane architektury komputerowe, które są integralną częścią
Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej
Politechnika Białostocka Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej Instrukcja do zajęć laboratoryjnych z przedmiotu: Przetwarzanie Sygnałów Kod: TS1C400027 Temat ćwiczenia:
WYDZIAŁ ELEKTRYCZNY KATEDRA TELEKOMUNIKACJI I APARATURY ELEKTRONICZNEJ. Instrukcja do zajęć laboratoryjnych. Numer ćwiczenia: 7
Politechnika Białostocka WYDZIAŁ ELEKTRYCZNY KATEDRA TELEKOMUNIKACJI I APARATURY ELEKTRONICZNEJ Instrukcja do zajęć laboratoryjnych Temat ćwiczenia: Modulacja amplitudy. Numer ćwiczenia: 7 Laboratorium
Wydział Elektryczny. Katedra Telekomunikacji i Aparatury Elektronicznej. Konstrukcje i Technologie w Aparaturze Elektronicznej.
Politechnika Białostocka Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej Konstrukcje i Technologie w Aparaturze Elektronicznej Ćwiczenie nr 5 Temat: Przetwarzanie A/C. Implementacja
Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej
Politechnika Białostocka Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej Instrukcja do zajęć laboratoryjnych z przedmiotu: Przetwarzanie Sygnałów Kod: TS1A400027 Temat ćwiczenia:
Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej
Politechnika Białostocka Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej Instrukcja do zajęć laboratoryjnych z przedmiotu: Przetwarzanie Sygnałów Kod: TS1A400027 Temat ćwiczenia:
Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej
Politechnika Białostocka Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej Instrukcja do zajęć laboratoryjnych z przedmiotu: Przetwarzanie Sygnałów Kod: TS1C400027 Temat ćwiczenia:
Filtry cyfrowe procesory sygnałowe
Filtry cyfrowe procesory sygnałowe Rozwój wirtualnych przyrządów pomiarowych Algorytmy CPS działające na platformie TMX 320C5515e ZDSP USB STICK realizowane w laboratorium FCiPS Rozszerzenie ćwiczeń o
Automatyczna klasyfikacja zespołów QRS
Przetwarzanie sygnałów w systemach diagnostycznych Informatyka Stosowana V Automatyczna klasyfikacja zespołów QRS Anna Mleko Tomasz Kotliński AGH EAIiE 9 . Opis zadania Tematem projektu było zaprojektowanie
Wykład Ćwiczenia Laboratorium Projekt Seminarium
WYDZIAŁ ELEKTRONIKI KARTA PRZEDMIOTU Nazwa w języku polskim Języki programowania Nazwa w języku angielskim Programming languages Kierunek studiów (jeśli dotyczy): Informatyka - INF Specjalność (jeśli dotyczy):
WYDZIAŁ ELEKTRYCZNY KATEDRA TELEKOMUNIKACJI I APARATURY ELEKTRONICZNEJ. Instrukcja do zajęć laboratoryjnych. Numer ćwiczenia: 5
Politechnika Białostocka WYDZIAŁ ELEKTRYCZNY KATEDRA TELEKOMUNIKACJI I APARATURY ELEKTRONICZNEJ Instrukcja do zajęć laboratoryjnych Temat ćwiczenia: Cyfrowa transmisja pasmowa. Numer ćwiczenia: 5 Laboratorium
AKADEMIA MORSKA KATEDRA NAWIGACJI TECHNICZEJ
KDEMI MORSK KTEDR NWIGCJI TECHNICZEJ ELEMETY ELEKTRONIKI LORTORIUM Kierunek NWIGCJ Specjalność Transport morski Semestr II Ćw. 4 Podstawy techniki cyfrowej Wersja opracowania Marzec 5 Opracowanie: mgr
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL Instrukcja pomocnicza do laboratorium z przedmiotu Synteza układów
Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych
PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie z Seminarium Dyplomowego Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych
10. Demodulatory synchroniczne z fazową pętlą sprzężenia zwrotnego
102 10. Demodulatory synchroniczne z fazową pętlą sprzężenia zwrotnego Cele ćwiczenia Badanie właściwości pętli fazowej. Badanie układu Costasa do odtwarzania nośnej sygnału AM-SC. Badanie układu Costasa
Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja
Laboratorium Komputerowe Systemy Pomiarowe
Jarosław Gliwiński, Łukasz Rogacz Laboratorium Komputerowe Systemy Pomiarowe ćw. Programowanie wielofunkcyjnej karty pomiarowej w VEE Data wykonania: 15.05.08 Data oddania: 29.05.08 Celem ćwiczenia była
Wprowadzenie do metodologii modelowania systemów informacyjnych. Strategia (1) Strategia (2) Etapy Ŝycia systemu informacyjnego
Etapy Ŝycia systemu informacyjnego Wprowadzenie do metodologii modelowania systemów informacyjnych 1. Strategia 2. Analiza 3. Projektowanie 4. Implementowanie, testowanie i dokumentowanie 5. WdroŜenie
2. STRUKTURA RADIOFONICZNYCH SYGNAŁÓW CYFROWYCH
1. WSTĘP Radiofonię cyfrową cechują strumienie danych o dużych przepływnościach danych. Do przesyłania strumienia danych o dużych przepływnościach stosuje się transmisję z wykorzystaniem wielu sygnałów
ćw. Symulacja układów cyfrowych Data wykonania: Data oddania: Program SPICE - Symulacja działania układów liczników 7490 i 7493
Laboratorium Komputerowe Wspomaganie Projektowania Układów Elektronicznych Jarosław Gliwiński, Paweł Urbanek 1. Cel ćwiczenia ćw. Symulacja układów cyfrowych Data wykonania: 16.05.08 Data oddania: 30.05.08
Filtry cyfrowe i procesory sygnałowe
Filtry cyfrowe i procesory sygnałowe Prezentacja nowego sprzętu do cyfrowego przetwarzania sygnałów w czasie rzeczywistym platformy TMX320C5515 ezdsp USB STICK Porównanie przydatności nowego sprzętu ze
Sterowniki Programowalne (SP)
Sterowniki Programowalne (SP) Wybrane aspekty procesu tworzenia oprogramowania dla sterownika PLC Podstawy języka funkcjonalnych schematów blokowych (FBD) Politechnika Gdańska Wydział Elektrotechniki i
III. Przebieg ćwiczenia. 1. Generowanie i wizualizacja przebiegów oraz wyznaczanie ich podstawowych parametrów
POLITECHNIKA RZESZOWSKA KATEDRA METROLOGII I SYSTEMÓW DIAGNOSTYCZNYCH LABORATORIUM GRAFICZNE ŚRODOWISKA PROGRAMOWANIA S.P. WPROWADZENIE DO UŻYTKOWANIA ŚRODOWISKA VEE (1) I. Cel ćwiczenia Celem ćwiczenia
PROJECT OF FM TUNER WITH GESTURE CONTROL PROJEKT TUNERA FM STEROWANEGO GESTAMI
Bartosz Wawrzynek I rok Koło Naukowe Techniki Cyfrowej dr inż. Wojciech Mysiński opiekun naukowy PROJECT OF FM TUNER WITH GESTURE CONTROL PROJEKT TUNERA FM STEROWANEGO GESTAMI Keywords: gesture control,
ĆWICZENIE nr 3. Badanie podstawowych parametrów metrologicznych przetworników analogowo-cyfrowych
Politechnika Łódzka Katedra Przyrządów Półprzewodnikowych i Optoelektronicznych WWW.DSOD.PL LABORATORIUM METROLOGII ELEKTRONICZNEJ ĆWICZENIE nr 3 Badanie podstawowych parametrów metrologicznych przetworników
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 1 (3h) Wprowadzenie do obsługi platformy projektowej Quartus II Instrukcja pomocnicza do laboratorium z przedmiotu
Zaawansowane algorytmy DSP
Zastosowania Procesorów Sygnałowych dr inż. Grzegorz Szwoch greg@multimed.org p. 732 - Katedra Systemów Multimedialnych Zaawansowane algorytmy DSP Wstęp Cztery algorytmy wybrane spośród bardziej zaawansowanych
Wprowadzenie do biblioteki klas C++
Instrukcja laboratoryjna nr 7 Programowanie w języku C 2 (C++ poziom zaawansowany) Wprowadzenie do biblioteki klas C++ WxWidgets mgr inż. Lasota Maciej dr inż. Kaczmarek Tomasz dr inż. Wilk-Jakubowski
Materiały dodatkowe. Simulink Real-Time
Katedra Inżynierii Systemów Sterowania Materiały dodatkowe Simulink Real-Time Opracowali: mgr inż. Tomasz Karla Data: Listopad, 2016 r. Wstęp Simulink Real-Time jest środowiskiem pozwalającym na tworzenie
PRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: MODELOWANIE I SYMULACJA UKŁADÓW STEROWANIA Kierunek: Mechatronika Rodzaj przedmiotu: Rodzaj zajęć: wykład, laboratorium I KARTA PRZEDMIOTU CEL PRZEDMIOTU PRZEWODNIK PO PRZEDMIOCIE C1.
Podstawy Elektroniki dla Informatyki. Pętla fazowa
AGH Katedra Elektroniki Podstawy Elektroniki dla Informatyki Pętla fazowa Ćwiczenie 6 2015 r. 1. Wstęp Celem ćwiczenia jest zapoznanie się, poprzez badania symulacyjne, z działaniem pętli fazowej. 2. Konspekt
Programowanie sterowników przemysłowych / Jerzy Kasprzyk. wyd. 2 1 dodr. (PWN). Warszawa, Spis treści
Programowanie sterowników przemysłowych / Jerzy Kasprzyk. wyd. 2 1 dodr. (PWN). Warszawa, 2017 Spis treści Przedmowa 11 ROZDZIAŁ 1 Wstęp 13 1.1. Rys historyczny 14 1.2. Norma IEC 61131 19 1.2.1. Cele i
Cyfrowe Przetwarzanie Obrazów i Sygnałów
Cyfrowe Przetwarzanie Obrazów i Sygnałów Laboratorium EX0 Wprowadzenie Joanna Ratajczak, Wrocław, 2018 1 Cel i zakres ćwiczenia Celem ćwiczenia jest zapoznanie się ze środowiskiem Matlab/Simulink wraz
Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej
Politechnika Białostocka Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej Instrukcja do zajęć laboratoryjnych z przedmiotu: Przetwarzanie Sygnałów Kod: TS1C400027 Temat ćwiczenia:
Parametryzacja przetworników analogowocyfrowych
Parametryzacja przetworników analogowocyfrowych wersja: 05.2015 1. Cel ćwiczenia Celem ćwiczenia jest zaprezentowanie istoty działania przetworników analogowo-cyfrowych (ADC analog-to-digital converter),
WPROWADZENIE DO ŚRODOWISKA SCICOS
Politechnika Gdańska Wydział Elektrotechniki i Automatyki WPROWADZENIE DO ŚRODOWISKA SCICOS Materiały pomocnicze do ćwiczeń laboratoryjnych Oryginał: Modeling and Simulation in Scilab/Scicos Stephen L.
Wykaz zmian w programie SysLoger
Wykaz zmian w programie SysLoger Pierwsza wersja programu 1.0.0.1 powstała we wrześniu 2011. Funkcjonalność pierwszej wersji programu: 1. Zapis logów do pliku tekstowego, 2. Powiadamianie e-mail tylko
Podstawy Automatyki. Wykład 13 - Wprowadzenie do układów sekwencyjnych. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki
Wykład 13 - Wprowadzenie do układów sekwencyjnych. Instytut Automatyki i Robotyki Warszawa, 2016 Pojęcia podstawowe Posłużmy się ponownie przykładem układu sterującego pracą siłowników, wymuszającego realizację
Szkoła programisty PLC : sterowniki przemysłowe / Gilewski Tomasz. Gliwice, cop Spis treści
Szkoła programisty PLC : sterowniki przemysłowe / Gilewski Tomasz. Gliwice, cop. 2017 Spis treści O autorze 9 Wprowadzenie 11 Rozdział 1. Sterownik przemysłowy 15 Sterownik S7-1200 15 Budowa zewnętrzna
Modulacja i kodowanie - labolatorium. Modulacje cyfrowe. Kluczowane częstotliwości (FSK)
Modulacja i kodowanie - labolatorium Modulacje cyfrowe Kluczowane częstotliwości (FSK) Celem ćwiczenia jest zbudowanie systemu modulacji: modulacji polegającej na kluczowaniu częstotliwości (FSK Frequency
INFORMATYKA TECHNICZNA Badanie możliwości wykorzystania języka AutoLISP i środowiska VisualLISP w systemie CAx
INFORMATYKA TECHNICZNA Badanie możliwości wykorzystania języka AutoLISP i środowiska VisualLISP w systemie CAx 1. WPROWADZENIE Program AutoCAD ma wielu użytkowników i zajmuje znaczące miejsce w graficznym
PROJEKTOWANIE UKŁADÓW PNEUMATYCZNYCH za pomocą programu komputerowego SMC-PneuDraw 2.8
INSTYTUT OBRABIAREK I TECHNOLOGII BUDOWY MASZYN POLITECHNIKI ŁÓDZKIEJ ĆWICZENIE NR P-16 PROJEKTOWANIE UKŁADÓW PNEUMATYCZNYCH za pomocą programu komputerowego SMC-PneuDraw 2.8 Koncepcja i opracowanie: dr
Ćwiczenie 11. Podstawy akwizycji i cyfrowego przetwarzania sygnałów. Program ćwiczenia:
Ćwiczenie 11 Podstawy akwizycji i cyfrowego przetwarzania sygnałów Program ćwiczenia: 1. Konfiguracja karty pomiarowej oraz obserwacja sygnału i jego widma 2. Twierdzenie o próbkowaniu obserwacja dwóch
C# 6.0 : kompletny przewodnik dla praktyków / Mark Michaelis, Eric Lippert. Gliwice, cop Spis treści
C# 6.0 : kompletny przewodnik dla praktyków / Mark Michaelis, Eric Lippert. Gliwice, cop. 2016 Spis treści Spis rysunków 11 Spis tabel 13 Przedmowa 15 Wprowadzenie 17 Podziękowania 27 O autorach 29 1 Wprowadzenie
INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE
Studia podyplomowe dla nauczycieli INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE Przedmiot JĘZYKI PROGRAMOWANIA DEFINICJE I PODSTAWOWE POJĘCIA Autor mgr Sławomir Ciernicki 1/7 Aby
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 3 (4h) Konwersja i wyświetlania informacji binarnej w VHDL Instrukcja do zajęć laboratoryjnych z przedmiotu Synteza
XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery
http://xqtav.sourceforge.net XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery dr hab. Jerzy Tyszkiewicz dr Andrzej Kierzek mgr Jacek Sroka Grzegorz Kaczor praca mgr pod
Projektowanie baz danych za pomocą narzędzi CASE
Projektowanie baz danych za pomocą narzędzi CASE Metody tworzenia systemów informatycznych w tym, także rozbudowanych baz danych są komputerowo wspomagane przez narzędzia CASE (ang. Computer Aided Software
SYSTEMY CZASU RZECZYWISTEGO (SCR)
Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania SYSTEMY CZASU RZECZYWISTEGO (SCR) Temat: Implementacja i weryfikacja algorytmu sterowania z regulatorem
POŁÓWKOWO-PASMOWE FILTRY CYFROWE
Krzysztof Sozański POŁÓWKOWOPASMOWE FILTRY CYFROWE W pracy przedstawiono połówkowopasmowe filtry cyfrowe. Opisano dwa typy filtrów: pierwszy z zastosowaniem filtrów typu FIR oraz drugi typu IIR. Filtry
Zapisywanie algorytmów w języku programowania
Temat C5 Zapisywanie algorytmów w języku programowania Cele edukacyjne Zrozumienie, na czym polega programowanie. Poznanie sposobu zapisu algorytmu w postaci programu komputerowego. Zrozumienie, na czym
Specjalizacja uzupełniająca. urządzeniowo - informatyczna dla wszystkich kierunków na ETI (II st.)
Systemy wbudowane Specjalizacja uzupełniająca urządzeniowo - informatyczna dla wszystkich kierunków na ETI (II st.) 5 stycznia 2015 Geneza W styczniu 2014 firma Intel zgłosiła zapotrzebowanie na absolwentów
Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32
Analiza i projektowanie oprogramowania Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania 2/32 Cel analizy Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie:
Katedra Inżynierii Oprogramowania Tematy prac dyplomowych inżynierskich STUDIA NIESTACJONARNE (ZAOCZNE)
Katedra Inżynierii Oprogramowania Tematy prac dyplomowych inżynierskich STUDIA NIESTACJONARNE (ZAOCZNE) Temat projektu/pracy dr inż. Wojciech Waloszek Grupowy system wymiany wiadomości. Zaprojektowanie
Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej
Politechnika Białostocka Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej Instrukcja do zajęć laboratoryjnych z przedmiotu: Przetwarzanie Sygnałów Kod: TS1A400027 Temat ćwiczenia:
Simulink MATLAB Przegląd obiektów i przykłady zastosowań
Simulink MATLAB Przegląd obiektów i przykłady zastosowań M. Berndt-Schreiber 1 Simulink MATLAB SIMULINK jest rozszerzeniem pakietu MATLAB; przy pomocy graficznego środowiska pozwala konstruować diagramy
Informatyka I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny) kierunkowy (podstawowy / kierunkowy / inny HES)
Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu Nazwa modułu Nazwa modułu w języku angielskim Obowiązuje od roku akademickiego 2012/2013
Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej. Instrukcja do zajęć laboratoryjnych z przedmiotu:
Politechnika Białostocka Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej Instrukcja do zajęć laboratoryjnych z przedmiotu: Architektura i Programowanie Procesorów Sygnałowych Kod:
Systemy i Sieci Telekomunikacyjne laboratorium. Modulacja amplitudy
Systemy i Sieci Telekomunikacyjne laboratorium Modulacja amplitudy 1. Cel ćwiczenia: Celem części podstawowej ćwiczenia jest zbudowanie w środowisku GnuRadio kompletnego, funkcjonalnego odbiornika AM.
Technologie informacyjne - wykład 12 -
Zakład Fizyki Budowli i Komputerowych Metod Projektowania Instytut Budownictwa Wydział Budownictwa Lądowego i Wodnego Politechnika Wrocławska Technologie informacyjne - wykład 12 - Prowadzący: Dmochowski
Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe
Architektury Usług Internetowych Laboratorium 2. Usługi sieciowe Wstęp Celem laboratorium jest zapoznanie się z modelem usług sieciowych na przykładzie prostego serwera Apache Axis2. Apache Axis2 Apache
Projektowania Układów Elektronicznych CAD Laboratorium
Projektowania Układów Elektronicznych CAD Laboratorium ĆWICZENIE NR 3 Temat: Symulacja układów cyfrowych. Ćwiczenie demonstruje podstawowe zasady analizy układów cyfrowych przy wykorzystaniu programu PSpice.
SYSTEMY WBUDOWANE CZASU RZECZYWISTEGO. Specjalność magisterska Katedry Systemów Elektroniki Morskiej
SYSTEMY WBUDOWANE CZASU RZECZYWISTEGO Specjalność magisterska Katedry Systemów Elektroniki Morskiej Co to jest system wbudowany czasu rzeczywistego? Komputer - część większego systemu wykonuje skończoną
Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1.
Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1. Grażyna Koba MIGRA 2019 Spis treści (propozycja na 2*32 = 64 godziny lekcyjne) Moduł A. Wokół komputera i sieci komputerowych
Sztuczna Inteligencja Tematy projektów Sieci Neuronowe
PB, 2009 2010 Sztuczna Inteligencja Tematy projektów Sieci Neuronowe Projekt 1 Stwórz projekt implementujący jednokierunkową sztuczną neuronową złożoną z neuronów typu sigmoidalnego z algorytmem uczenia
Definicje. Algorytm to:
Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi
PRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: Jednostki obliczeniowe w zastosowaniach mechatronicznych Kierunek: Mechatronika Rodzaj przedmiotu: dla specjalności Systemy Sterowania Rodzaj zajęć: Wykład, laboratorium Computational
PRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: Algorytmy i programowanie Algorithms and Programming Kierunek: Zarządzanie i Inżynieria Produkcji Rodzaj przedmiotu: kierunkowy Poziom studiów: studia I stopnia forma studiów: studia
PRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: CYFROWE UKŁADY STEROWANIA DIGITAL CONTROL SYSTEMS Kierunek: MECHATRONIKA Rodzaj przedmiotu: obowiązkowy na kierunku Mechatronika Rodzaj zajęć: wykład, laboratorium Forma studiów: stacjonarne
Opisy efektów kształcenia dla modułu
Karta modułu - Wybrane zagadnienia elektroniki współczesnej 1 / 6 Nazwa modułu: Wybrane zagadnienia elektroniki współczesnej Rocznik: 2012/2013 Kod: JIS-2-105-s Punkty ECTS: 10 Wydział: Fizyki i Informatyki
Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma
Implementacja aplikacji sieciowych z wykorzystaniem środowiska Qt
Implementacja aplikacji sieciowych z wykorzystaniem środowiska Qt 1. Wprowadzenie Wymagania wstępne: wykonanie ćwiczeń Adresacja IP oraz Implementacja aplikacji sieciowych z wykorzystaniem interfejsu gniazd
Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej
Politechnika Łódzka Instytut Systemów Inżynierii Elektrycznej Laboratorium komputerowych systemów pomiarowych Ćwiczenie 4 Filtracja sygnałów dyskretnych 1. Opis stanowiska Ćwiczenie jest realizowane w
Mechatronika i szybkie prototypowanie układów sterowania
Mechatronika i szybkie prototypowanie układów sterowania Rozwój systemów technicznych Funkcje operacyjne Dostarczanie energii Wprowadzanie danych sterujących Generacje systemów technicznych prymitywny
E-E-A-1008-s5 Komputerowa Symulacja Układów Nazwa modułu. Dynamicznych. Elektrotechnika I stopień Ogólno akademicki. Przedmiot kierunkowy
Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu E-E-A-1008-s5 Komputerowa Symulacja Układów Nazwa modułu Dynamicznych Nazwa modułu w języku
Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.
Literatura 1. D. Gajski, Principles of Digital Design, Prentice- Hall, 1997 2. C. Zieliński, Podstawy projektowania układów cyfrowych, PWN, Warszawa 2003 3. G. de Micheli, Synteza i optymalizacja układów
OPROGRAMOWANIE WSPOMAGAJĄCE ZARZĄDZANIE PROJEKTAMI. PLANOWANIE ZADAŃ I HARMONOGRAMÓW. WYKRESY GANTTA
OPROGRAMOWANIE WSPOMAGAJĄCE ZARZĄDZANIE PROJEKTAMI. PLANOWANIE ZADAŃ I HARMONOGRAMÓW. WYKRESY GANTTA Projekt to metoda na osiągnięcie celów organizacyjnych. Jest to zbiór powiązanych ze sobą, zmierzających
System zarządzający grami programistycznymi Meridius
System zarządzający grami programistycznymi Meridius Instytut Informatyki, Uniwersytet Wrocławski 20 września 2011 Promotor: prof. Krzysztof Loryś Gry komputerowe a programistyczne Gry komputerowe Z punktu
PDM wbudowany w Solid Edge
PDM wbudowany w Solid Edge Firma GM System Integracja Systemów Inżynierskich Sp. z o.o. została założona w 2001 roku. Zajmujemy się dostarczaniem systemów CAD/CAM/CAE/PDM. Jesteśmy jednym z największych
Systemy Wbudowane. Założenia i cele przedmiotu: Określenie przedmiotów wprowadzających wraz z wymaganiami wstępnymi: Opis form zajęć
Systemy Wbudowane Kod przedmiotu: SW Rodzaj przedmiotu: kierunkowy ; obowiązkowy Wydział: Informatyki Kierunek: Informatyka Specjalność (specjalizacja): - Poziom studiów: pierwszego stopnia Profil studiów:
Modelowanie logiki rewersyjnej w języku VHDL
PNIEWSKI Roman 1 Modelowanie logiki rewersyjnej w języku VHDL WSTĘP Konwencjonalne komputery wykorzystują dwuwartościową logikę Boole a. Funkcje opisujące układ cyfrowy wykorzystują najczęściej dwa operatory
Elektronika samochodowa (Kod: ES1C )
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do ćwiczeń laboratoryjnych z przedmiotu Elektronika samochodowa (Kod: ES1C 621 356) Temat: Magistrala CAN Opracował:
Elektrotechnika I stopień Ogólno akademicki. Przedmiot kierunkowy. Obowiązkowy Polski VI semestr zimowy
KARTA MODUŁU / KARTA PRZEDMIOTU Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. Kod modułu Nazwa modułu Nazwa modułu w języku angielskim Obowiązuje od roku akademickiego 2012/2013
KOMPUTEROWY MODEL UKŁADU STEROWANIA MIKROKLIMATEM W PRZECHOWALNI JABŁEK
Inżynieria Rolnicza 8(117)/2009 KOMPUTEROWY MODEL UKŁADU STEROWANIA MIKROKLIMATEM W PRZECHOWALNI JABŁEK Ewa Wachowicz, Piotr Grudziński Katedra Automatyki, Politechnika Koszalińska Streszczenie. W pracy
12. Demodulatory synchroniczne z fazową pętlą sprzężenia zwrotnego
94 12. Demodulatory synchroniczne z fazową pętlą sprzężenia zwrotnego Cele ćwiczenia Badanie właściwości pętli fazowej. Badanie układu Costasa do odtwarzania nośnej sygnału AM-SC. Badanie układu Costasa
Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania
Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli Diagnostyka stanu nawierzchni - DSN Generalna Dyrekcja Dróg Krajowych i Autostrad Warszawa, 21 maja 2012 Historia dokumentu
PRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: Kierunek: Mechatronika Rodzaj przedmiotu: obowiązkowy na specjalności: projektowanie systemów mechanicznych Rodzaj zajęd: wykład, laboratorium I KARTA PRZEDMIOTU CEL PRZEDMIOTU Symulacje
Integracja KS-ASW i KS-Medis z system CATO
Integracja KS-ASW i KS-Medis z system CATO 1. WSTĘP... 2 2. ELEMENTY INTEGRACJI... 2 3. SKRÓCONY OBIEG INFORMACJI POMIĘDZY PROGRAMAMI... 2 4. INTEGRACJA Z CATO OD STRONY KS-MEDIS.... 4 4.1. Instrukcja
PROLOG WSTĘP DO INFORMATYKI. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej.
Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej WSTĘP DO INFORMATYKI Adrian Horzyk PROLOG www.agh.edu.pl Pewnego dnia przyszedł na świat komputer Komputery
Wirtualne przyrządy kontrolno-pomiarowe
Katedra Mechaniki i Podstaw Konstrukcji Maszyn POLITECHNIKA OPOLSKA Wirtualne przyrządy kontrolno-pomiarowe dr inż.. Roland PAWLICZEK Laboratorium komputerowe Mechatroniki Cel zajęć ęć: Przyrząd pomiarowy:
Procesory sygnałowe Digital Signal Processors. Informatyka II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)
Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu Nazwa modułu Nazwa modułu w języku angielskim Obowiązuje od roku akademickiego 2012/2013
ANALOGOWE I MIESZANE STEROWNIKI PRZETWORNIC. Ćwiczenie 3. Przetwornica podwyższająca napięcie Symulacje analogowego układu sterowania
Politechnika Łódzka Katedra Mikroelektroniki i Technik Informatycznych 90-924 Łódź, ul. Wólczańska 221/223, bud. B18 tel. 42 631 26 28 faks 42 636 03 27 e-mail secretary@dmcs.p.lodz.pl http://www.dmcs.p.lodz.pl
Wykrywanie sygnałów DTMF za pomocą mikrokontrolera ATmega 328 z wykorzystaniem algorytmu Goertzela
Politechnika Poznańska Wydział Informatyki Kierunek studiów: Automatyka i Robotyka Wykrywanie sygnałów DTMF za pomocą mikrokontrolera ATmega 328 z wykorzystaniem algorytmu Goertzela Detection of DTMF signals
1. Tworzenie nowego projektu.
Załącznik do Instrukcji 1. Tworzenie nowego projektu. Wybieramy opcję z menu głównego New->QNX C Project. Wprowadzamy nazwę przechodzimy do następnego kroku NEXT. Wybieramy platformę docelową oraz warianty
Automatyka i Robotyka studia stacjonarne drugiego stopnia
#384 #380 dr inż. Mirosław Gajer Projekt i implementacja narzędzia do profilowania kodu natywnego przy wykorzystaniu narzędzi Android NDK (Project and implementation of tools for profiling native code
Opis efektów kształcenia dla modułu zajęć
Nazwa modułu: Programowanie mikrokontroleroẃ i mikroprocesoroẃ Rok akademicki: 2017/2018 Kod: EIT-1-408-s Punkty ECTS: 4 Wydział: Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Kierunek:
Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat
Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie