Zadanie: Filtr adaptywny

Podobne dokumenty
Celem tych ćwiczeń jest zapoznanie się z klasyfikacją za pomocą sieci neuronowych.

Wstęp. Spis treści. Krótka historia sztucznych sieci neuronowych. powrót

Temat: Sieci neuronowe oraz technologia CUDA

Zastosowania sieci neuronowych

Elementy inteligencji obliczeniowej

Zastosowania sieci neuronowych - automatyka identyfikacja sterowanie

Spis treści. Widmo mocy. Obliczanie mocy sygnału. Analiza_sygnałów_-_ćwiczenia/Fourier_4

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Sieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska

Podstawy Przetwarzania Sygnałów

Sieci neuronowe w Statistica

Generowanie sygnałów na DSP

Uczenie sieci typu MLP

ANALIZA SYGNAŁÓ W JEDNÓWYMIARÓWYCH

Najprostsze modele sieci z rekurencją. sieci Hopfielda; sieci uczone regułą Hebba; sieć Hamminga;

Temat: Sztuczne Sieci Neuronowe. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Algorytmy, które estymują wprost rozkłady czy też mapowania z nazywamy algorytmami dyskryminacyjnymi.

Opis systemów dynamicznych w przestrzeni stanu. Wojciech Kurek , Gdańsk

Analityczne metody detekcji uszkodzeń

SPRZĘTOWA REALIZACJA FILTRÓW CYFROWYCH TYPU SOI

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

Sztuczne sieci neuronowe

8. Neuron z ciągłą funkcją aktywacji.

Lekcja 5: Sieć Kohonena i sieć ART

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Podstawy Elektroniki dla Informatyki. Pętla fazowa

Sieci M. I. Jordana. Sieci rekurencyjne z parametrycznym biasem. Leszek Rybicki. 30 listopada Leszek Rybicki Sieci M. I.

Identyfikacja obiektów dynamicznych za pomocą sieci neuronowych

Dyskretne układy liniowe. Funkcja splotu. Równania różnicowe. Transform

Zaawansowane algorytmy DSP

Wstęp do teorii sztucznej inteligencji Wykład III. Modele sieci neuronowych.

GENERACJA PRZEBIEGU SINUSOIDALNEGO.

Podstawy Sztucznej Inteligencji (PSZT)

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka Adaline.

Podstawy MATLABA, cd.

wiedzy Sieci neuronowe

Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta

PROCESORY SYGNAŁOWE - LABORATORIUM. Ćwiczenie nr 04

Wstęp do sieci neuronowych, wykład 6 Wsteczna propagacja błędu - cz. 3

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

Zadania z rysowania i dopasowania funkcji

Procedura modelowania matematycznego

Macierz A nazywamy macierzą systemu, a B macierzą wejścia.

GENERATOR AUDIO. Rys. 1 Schemat ideowy generatora

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

HAŁASU Z UWZGLĘDNIENIEM ZJAWISK O CHARAKTERZE NIELINIOWYM

Transmitancje układów ciągłych

Metody Sztucznej Inteligencji II

Algorytmy sztucznej inteligencji

Wykład z Technologii Informacyjnych. Piotr Mika

Algorytmy stochastyczne Wykład 12, Uczenie parametryczne w sieciach bayesowskich

Laboratorium Przetwarzania Sygnałów

wiedzy Sieci neuronowe (c.d.)

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej

Automatyka i sterowania

Algorytmy metaheurystyczne Wykład 11. Piotr Syga

PL B1. POLITECHNIKA GDAŃSKA, Gdańsk, PL BUP 19/09. ANDRZEJ CZYŻEWSKI, Gdynia, PL GRZEGORZ SZWOCH, Gdańsk, PL

Promotor: dr Marek Pawełczyk. Marcin Picz

Sieć przesyłająca żetony CP (counter propagation)

Laboratorium Przetwarzania Sygnałów Biomedycznych

ADAPTACYJNE PRZETWARZANIE SYGNAŁÓW LABORATORIUM. Ćwiczenie 5 - suplement

Podstawy OpenCL część 2

Model autoregresyjny stochastycznego szeregu czasowego

Przetwarzanie analogowo-cyfrowe sygnałów

Wprowadzenie. Spis treści. Analiza_sygnałów_-_ćwiczenia/Filtry

S O M SELF-ORGANIZING MAPS. Przemysław Szczepańczyk Łukasz Myszor

Temat: ANFIS + TS w zadaniach. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

1. Logika, funkcje logiczne, preceptron.

Widzenie komputerowe

LABORATORIUM ELEKTRONIKI WZMACNIACZ OPERACYJNY

Regulator PID w sterownikach programowalnych GE Fanuc

Sortowanie przez wstawianie Insertion Sort

Sieć Hopfielda. Sieci rekurencyjne. Ewa Adamus. ZUT Wydział Informatyki Instytut Sztucznej Inteligencji i Metod Matematycznych.

Laboratorium z automatyki

SIECI REKURENCYJNE SIECI HOPFIELDA

Wykład 6 Centralne Twierdzenie Graniczne. Rozkłady wielowymiarowe

Cechy karty dzwiękowej

Optymalizacja ciągła

Klasyczna rekonstrukcja obrazu (Beamforming)

Zastosowania sieci neuronowych

Wstęp do sieci neuronowych, wykład 9 Sieci rekurencyjne. Autoasocjator Hopfielda

Modulacja i kodowanie - labolatorium. Modulacje cyfrowe. Kluczowane częstotliwości (FSK)

Spacery losowe generowanie realizacji procesu losowego

Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki

Analiza obrazów - sprawozdanie nr 2

sieci jednowarstwowe w MATLABie LABORKA Piotr Ciskowski

UKŁADY Z PĘTLĄ SPRZĘŻENIA FAZOWEGO (wkładki DA171A i DA171B) 1. OPIS TECHNICZNY UKŁADÓW BADANYCH

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 335

Modelowanie Systemów Dynamicznych Studia zaoczne, Automatyka i Robotyka, rok II. Podstawy MATLABA, cz2.

Przykładowe zadanie praktyczne

Przykładowe pytania DSP 1

Teoria sterowania - studia niestacjonarne AiR 2 stopień

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

CYFROWE PRZTWARZANIE SYGNAŁÓW (Zastosowanie transformacji Fouriera)

Ćwiczenie nr 6 Charakterystyki częstotliwościowe

Ćwiczenie 3,4. Analiza widmowa sygnałów czasowych: sinus, trójkąt, prostokąt, szum biały i szum różowy

Rys. 1. Wzmacniacz odwracający

Przetwarzania energii elektrycznej w fotowoltaice. Modelowanie autonomicznych systemów fotowoltaicznych przy użyciu oprogramowania PSpice

Transkrypt:

Spis treści 1 Zadanie: Filtr adaptywny 1.1 Przygotuj sygnały: 1.2 Symulacja sieci 1.3 Wykresy 1.4 Szkielet rozwiązania: 1.5 Pytania Zadanie: Filtr adaptywny W tym zadaniu symulujemy działanie filtra, który może się adaptować do zmiennych warunków pracy. Jako przykład rozważymy redukcję szumu zniekształconego przez otoczenie. Załóżmy, że chcemy przekazywać głos pilota z kokpitu. Głos ten jest zniekształcony przez szum silników. W metodzie tej musimy mieć dwa mikrofony: jeden z nich rejestruje czysty odgłos silników, a drugi ten odgłos po przejściu drogi do okolic gdzie rejestrowany jest głos pilota. Można zastosować sieć neuronową do modelowania zniekształcenia szumu i ten zniekształcony szum odjąć od sygnału rejestrowanego przez mikrofon pilota. Schemat

Przygotuj sygnały: częstość próbkowania niech będzie 100Hz czysty sygnał niech będzie reprezentowany przez sinusa o częstości 10Hz i trwający 2 s czysty szum niech będzie modelowany jako sygnał o tej samej długości co czysty sygnał, ale jego próbki to zmienne losowe z rozkładu normalnego szum zniekształcony niech będzie sumą osłabionego o 70% szumu i echa (sygnał opóźniony o jedną próbkę i amplitudzie zmniejszonej o 80%) sygnał zaburzony szumem to suma sinusa i szumu zniekształconego Symulacja sieci Konstruujemy sieć liniową o dwóch wejściach i jednym wyjściu Przygotowujemy pusty zbiór uczący i przekazujemy go do obiektu typu BackpropTrainer, któremu przekazujemy sieć, ciąg uczący oraz parametry uczenia: współczynnik uczenia i bezwładność. Główna pętla symulacji iteruje się po kolejnych próbkach czasu: 1. Do bufora pobieramy wycinek czystego szumu z chwili bieżącej i tylu poprzednich jaki jest rozmiar wejścia. 2. Nadpisujemy zbiór uczący próbką zawierającą bieżący bufor i aktualną wartość zniekształconego szumu. 3. Uczymy sieć na tym jedno-przykładowym zbiorze uczącym. 4. Obliczamy sygnał jaki sieć zwróciłaby dla aktualnego bufora. 5. Jako "oczyszczony sygnał" traktujemy różnicę między sygnałem zaburzonym i aktualnym wyjściem sieci. 6. Zbieramy we wcześniej przygotowanych tablicach: aktualne wagi sieci kolejno otrzymane próbki "oczyszczonego sygnału" Wykresy Na subplotach przedstaw: sygnał czysty na tle sygnału zaburzonego ewolucję wag sygnał oczyszczony na tle sygnału zaburzonego Szkielet rozwiązania: # -*- coding: utf-8 -*- # demostracja redukcji szumu znieksztalconego przez otoczenie import numpy as np import pylab as py

# przygotowujemy dane wejsciowe Fs = 100. # częstość próbkowania niech będzie 100Hz dt = 1/Fs f = 10. # 2 sek. wektor czasu t=np.arange(,2,dt) # to jest czysty sygnal: csinus o częstości 10Hz i trwający 2 s sygnal=... # to jest oryginalny szum: czysty szum niech będzie modelowany jako sygnał o tej samej długości co czysty sygnał, ale jego próbki to zmienne losowe z rozkładu normalnego szum =... # ciag wzorcow: na wejscie podajemy czysta postac szumu X = szum # szum ten jest modyfikowany na drodze od swojego zrodla do mikrofonu # np zmniejsza sie jego amplituda do 30% Z = 0.3*X # i dodaje sie echo z amplitudą 20% Z[2:] = Z[2:] + 0.2*X[1:-1]; # zmodyfikowany szum (obcinamy efekty brzegowe) Z = Z[2:-1]; t=t[2:-1]; sygnal = sygnal[2:-1] X = X[2:-1] # do mikrofonu efektywnie trafia sygnal i znieksztalcony szum zaszum_sygnal = sygnal + Z #0.3*szum; # narysuj na 3 subplotach: # - czysty sygnał # - czysty szum # - to co trafia do mikrofonu # tu zaczynamy rysunek, który będzdie obrazował c dzieje się w trakcie symulacji py.figure(1) py.subplot(3,1,1) py.plot(t,sygnal,t,zaszum_sygnal) py.title('stan poczatkowy') # pomysl zastosowania tu sieci polega na tym, aby sieć modelowala to co # dzieje sie z szumem na drodze od zrodla do mikrofonu: # zmodyfikowany_szum = F(szum). # Znajac czysty szum,

# odwzorowanie modyfikujace szum i zaszumiony sygnal mozemy odtworzyc # czysty sygnal # sygnal = zaszum_sygnal - F(szum) # importujemy moduły do konstrukcji sieci from pybrain.structure import FeedForwardNetwork, LinearLayer, FullConnection from pybrain.supervised.trainers import BackpropTrainer from pybrain.datasets import SupervisedDataSet #Konstruujemy sieć liniową o dwóch wejściach i jednym wyjściu # wytwarzamy pustą sieć siec =... # tworzymy węzły wejściowe i wyjściowe N_wej =... warstwawejsciowa =... warstwawyjsciowa =... # dodajemy węzły do sieci # warstwy wejściowej...(warstwawejsciowa) # warstwy wyjściowej...(warstwawyjsciowa) # łączymy węzły wej_do_wyj =... siec.addconnection(...) # inicjujemy strukturę sieci siec.... #Przygotowujemy pusty zbiór uczący CU = SupervisedDataSet(...) # przekazujemy go do obiektu typu BackpropTrainer trainer = BackpropTrainer(...,...,learningrate=0.01, momentum=0.9,verbose = True) # przygotowujemy tablice na zbieranie historii wag w = np.zeros((len(t),n_wej) ) b = np.zeros(len(t)) # i na poprawiony sygnal oraz wyjście sieci syg_poprawiony = np.zeros(len(t)) wyj = np.zeros(len(t)) # Główna pętla symulacji iteruje się po kolejnych próbkach czasu for i in range(n_wej,len(t)): # Do bufora pobieramy wycinek czystego szumu z chwili bieżącej bufor_wyjściowy =... #aktualną wartość zniekształconego szumu [i] bufor_wejsciowy =...# wycinek czystego szumu z chwili bieżącej i tylu poprzednich jaki jest rozmiar wejścia i to odwrócony w czasie [i:i-n_wej:-1] # Nadpisujemy zbiór uczący próbką zawierającą bieżący bufor i aktualną

wartość zniekształconego szumu CU = SupervisedDataSet(N_wej, 1) CU.addSample(...) #Uczymy sieć na tym jedno-przykładowym zbiorze uczącym trainer.trainondataset(cu) # zapamiętujemy parametry w tablicy w[i,...] =... # Obliczamy sygnał jaki sieć zwróciłaby dla aktualnego bufora: wyj[i] =... #Jako "oczyszczony sygnał" traktujemy różnicę między sygnałem zaburzonym i aktualnym wyjściem sieci. syg_poprawiony[i] =... py.subplot(3,1,2) py.plot(w) # rysujemy ewolucję wag py.title('wagi') py.subplot(3,1,3) py.plot(syg_poprawiony,'r') # sygnał oczyszczony na tle sygnału zaburzonego py.plot(zaszum_sygnal,'g') py.show() Pytania Czy jest związek między stanem wag i oczyszczaniem sygnału? O czym on świadczy? Dodaj do symulacji zmianę zaburzenia sygnału, np. w połowie symulacji niech dwukrotnie wzrośnie udział echa. Czy układ podąża za zmianą? Spróbuj w punkcie 2 głównej pętli zamienić pożądaną wartość z aktualnej wartości zniekształconego szumu na aktualną wartość sygnału zaburzonego. Czy sieć nadal jest w stanie odfiltrować zaburzenia? Jeśli tak to dlaczego?