Informatyka medyczna

Podobne dokumenty
TEORIA OBWODÓW I SYGNAŁÓW LABORATORIUM

Grupowanie sekwencji czasowych

Colloquium 3, Grupa A

R w =

Przekształcenia widmowe Transformata Fouriera. Adam Wojciechowski

Spis treści. 1. Cyfrowy zapis i synteza dźwięku Schemat blokowy i zadania karty dźwiękowej UTK. Karty dźwiękowe. 1

Przetwarzanie sygnałów biomedycznych

DSP-MATLAB, Ćwiczenie 5, P.Korohoda, KE AGH. Ćwiczenie 5. Przemysław Korohoda, KE, AGH

9. Dyskretna transformata Fouriera algorytm FFT

Układy równań liniowych. Ax = b (1)

Podstawą w systemie dwójkowym jest liczba 2 a w systemie dziesiętnym liczba 10.

Przekształcanie wykresów.

Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst.

Reprezentacje danych multimedialnych - dźwięk. 1. Podstawowe fakty 2. Próbkowanie 3. Kwantyzacja 4. Formaty plików

Analiza szeregów czasowych: 2. Splot. Widmo mocy.

( ) + ( ) T ( ) + E IE E E. Obliczanie gradientu błędu metodą układu dołączonego

Wyznaczenie prędkości pojazdu na podstawie długości śladów hamowania pozostawionych na drodze

Matematyka dyskretna. Wykład 2: Kombinatoryka. Gniewomir Sarbicki

Rekurencje. Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie:

Program do obsługi ubezpieczeń minifort

Złożoność obliczeniowa zadania, zestaw 2

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

Samodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 =

Systemy liczenia. 333= 3*100+3*10+3*1

Optymalizacja harmonogramów budowlanych - problem szeregowania zadań

Metody komputerowe i obliczeniowe Metoda Elementów Skoczonych. Element jednowymiarowy i jednoparametrowy : spryna

jednoznacznie wyznaczają wymiary wszystkich reprezentacji grup punktowych, a związki ortogonalności jednoznacznie wyznaczają ich charaktery

Analiza nośności poziomej pojedynczego pala

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

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego

zaznaczymy na osi liczbowej w ten sposób:

Analiza szeregów czasowych: 2. Splot. Widmo mocy.

4.15 Badanie dyfrakcji światła laserowego na krysztale koloidalnym(o19)

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

ładunek do przewiezienia dwie możliwości transportu

A. Cel ćwiczenia. B. Część teoretyczna

Zadanie 3 Oblicz jeżeli wiadomo, że liczby 8 2,, 1, , tworzą ciąg arytmetyczny. Wyznacz różnicę ciągu. Rozwiązanie:

Laboratorium optycznego przetwarzania informacji i holografii. Ćwiczenie 4. Badanie optycznej transformaty Fouriera

A4: Filtry aktywne rzędu II i IV

Optymalizacja harmonogramów budowlanych - problem szeregowania zadań

WYKŁAD 5 METODY OPTYMALIZACJI NIELINIOWEJ BEZ OGRANICZEŃ

Wstęp do informatyki- wykład 2

Ćwiczenie 3. Właściwości przekształcenia Fouriera

PROCENTY, PROPORCJE, WYRAŻENIA POTEGOWE

Transformata Fouriera

Kod IEEE754. IEEE754 (1985) - norma dotycząca zapisu binarnego liczb zmiennopozycyjnych (pojedynczej precyzji) Liczbę binarną o postaci

INSTRUKCJE WARUNKOWE. Zadanie nr 1. Odpowiedź. schemat blokowy

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

Architektura systemów komputerowych Laboratorium 13 Symulator SMS32 Operacje na bitach

Ćwiczenie 4 Badanie wpływu asymetrii obciążenia na pracę sieci

Zastosowanie Informatyki w Medycynie

2 Arytmetyka. d r 2 r + d r 1 2 r 1...d d 0 2 0,

Luty 2001 Algorytmy (7) 2000/2001

Zajęcia: VBA TEMAT: VBA PROCEDURY NUMERYCZNE Metoda bisekcji i metoda trapezów

9. Sprzężenie zwrotne własności

Transformata Fouriera. Sylwia Kołoda Magdalena Pacek Krzysztof Kolago

1. Napisz program, który wyświetli Twoje dane jako napis Witaj, Imię Nazwisko. 2. Napisz program, który wyświetli wizytówkę postaci:

Ćwiczenie nr 1: Wahadło fizyczne

Autor: dr inż. Katarzyna Rudnik

Restauracja a poprawa jakości obrazów

1. Operacje logiczne A B A OR B

Jednostki informacji. Bajt moŝna podzielić na dwie połówki 4-bitowe nazywane tetradami (ang. nibbles).

Przetworniki analogowo-cyfrowe - budowa i działanie" anie"

11. PROFESJONALNE ZABEZPIECZENIE HASŁEM

DZIAŁANIA NA UŁAMKACH DZIESIĘTNYCH.

Temat ćwiczenia: POMIARY W OBWODACH ELEKTRYCZNYCH PRĄDU STAŁEGO. A Lp. U[V] I[mA] R 0 [ ] P 0 [mw] R 0 [ ] 1. U 0 AB= I Z =

SZCZEGÓLNE ROZWAśANIA NAD UŚREDNIONYMI POMIARAMI Special Considerations for Averaged Measurements

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

1. Informatyka - dyscyplina naukowa i techniczna zajmująca się przetwarzaniem informacji.

Wyznaczanie długości fali świetlnej za pomocą spektrometru siatkowego

MODYFIKACJA KOSZTOWA ALGORYTMU JOHNSONA DO SZEREGOWANIA ZADAŃ BUDOWLANYCH

Efektywna metoda sortowania sortowanie przez scalanie

Zadania język C++ Zad. 1. Napisz program wczytujący z klawiatury wiek dwóch studentów i wypisujący informację o tym, który z nich jest starszy.

FUNKCJE. Rozwiązywanie zadań Ćw. 1-3 a) b) str Ćw. 5 i 6 str. 141 dodatkowo podaj przeciwdziedzinę.

SYSTEMY LICZBOWE. Zapis w systemie dziesiętnym

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

Wskaźnik i 30 Intstrukcja obsługi

RACHUNEK PRAWDOPODOBIEŃSTWA WYKŁAD 5.

Instrukcja warunkowa i złoŝona.

INSTRUKCJE ITERACYJNE

LABORATORIUM Sygnałów, Modulacji i Systemów ĆWICZENIE 2: Modulacje analogowe

Zadanie Zaobserwuj zachowanie procesora i stosu podczas wykonywania następujących programów

Instrukcja automatycznego tworzenia pozycji towarowych SAD na podstawie danych wczytywanych z plików zewnętrznych (XLS).

Zadanie 1. Potęgi (14 pkt)

Materiały do wykładów na temat Obliczanie sił przekrojowych i momentów przekrojowych. dla prętów zginanych.

Spis treści. 1 Moduł Mapy 2

RS-H0-05 (K)* Czytnik RFID MHz Mifare. Karta użytkownika

Sortowanie zewnętrzne

Algorytmy i struktury danych. Wykład 4

z :14

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

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

Kodowanie informacji. Kody liczbowe

Sterowanie Ciągłe. Używając Simulink a w pakiecie MATLAB, zasymulować układ z rysunku 7.1. Rys.7.1. Schemat blokowy układu regulacji.

Pomiar prędkości i natęŝenia przepływu za pomocą rurek spiętrzających

Sygnały stochastyczne

1. A 2. A 3. B 4. B 5. C 6. B 7. B 8. D 9. A 10. D 11. C 12. D 13. B 14. D 15. C 16. C 17. C 18. B 19. D 20. C 21. C 22. D 23. D 24. A 25.

Technologie Informacyjne

FFT i dyskretny splot. Aplikacje w DSP

Transkrypt:

Informatya medyczna Wczytywanie pliu: Wczytujemy cały pli do pamięci operacyjnej według specyfiacji: agłówe RIFF FMT opcjonalne inne bloi DATA azwa pola Wielość w bajtach Opis chunid Test ASCII RIFF - oreśla standard chunsize Rozmiar całego pliu w bajtach minus 8 bajtów (pola chunid, chunsize) format Test ASCII WAVE chunid Test ASCII fmt_ chunsize Rozmiar tego blou w bajtach minus 8 bajtów (pola chunid, chunsize) audioformat 2 zapis bez ompresji, > uŝyto ompresji numchannels 2 Liczba anałów -mono, 2-stereo samplerate Częstotliwość próbowania 8, byterate Liczba bajtów na seundę (wszystie anały) = samplerate *numchannels*bitspersample/8 blocalign 2 Liczba bajtów na próbę (wszystie anały) = numchannels*bitspersample/8 bitspersample 2 Liczba bitów na próbę (przypadających na jeden anał) 8 lub 6 chunsize Ewentualne dodatowe parametry. Pole moŝe mieć róŝną - 6 długość!!! chunid Unialny test ASCII opisujący ten blo chunsize Rozmiar blou w bajtach data chunsize Dane tego blou chunid Test ASCII data chunsize Rozmiar danych dzwięowych w bajtach = numsamples *numchannels*bitspersample/8 data chunsize Kolejne próbi http://www.sonicspot.com/guide/wavefiles.html Załadamy, Ŝe pli musi być 6-bitowym pliiem mono bez ompresji, w przeciwnym razie wyświetlamy omuniat, Ŝe nie da się wczytać pliu. Dane z nagłówa mają być dostępne w interfejsie. Wyświetlanie pliu - oscylogram: - Wyświetlanie mamy napisać sami bez uŝywania Ŝadnych gotowych bibliote. Wyświetlanie polega na wyrysowaniu olejnych 6-bitowych próbe (czyli liczb od -32tys do 32 tys) z reprezentacji w pamięci na eran. Interfejs musi umoŝliwiać obejrzenie całego pliu dźwięowego: ja i dowolnej jej części:

W przypadu gdy w poziomie na jeden pisel przypada więcej niŝ jedna próba, raczej powinno się: wyznaczyć przedział próbe sładających się na dany pisel, wyznaczyć minimalną i masymalną wartość, w danym piselu narysować olumnę od minimalnej do masymalnej wartości. W przeciwnym przypadu wystarczy zwyłe łączenie puntów liniami (moveto, lineto). Odtwarzanie i nagrywanie: - Interfejs ma umoŝliwiać zaznaczenie dowolnego awała oscylogramu i odtworzenie go. Ma równieŝ umoŝliwiać nagrywanie, czyli: wcisamy przycis nagrywaj nagrywanie rozpoczyna się, wcisamy stop (w dowolnym momencie) nagrywanie ończy się, próbi z dodanym nagłówiem zapisujemy w pliu wave, po czym automatycznie ten pli wczytujemy do programu (czyli wyświetlamy go). Przyładowe bibliotei: - javax.sound Java (doumentacje olejnych wersji VM) - fmod C, C++, C#, Delhi, Visual Basic http://www.fmod.org/ - API systemu operacyjnego - direct (directsound).et (http://www.codeguru.pl/article-82.aspx), http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/directx9_c/directx/htm/directmusic.asp - openal http://www.openal.org/ - PortAudio http://www.portaudio.com/ Analiza czasowa: - Zdefiniować zoienowanie Przed aŝdą analizą dzielimy sygnał na ona. Podział ten zaleŝy od dwóch parametrów: szeroości ona i przesunięcia parametry te mają być dostępne z poziomu interfejsu uŝytownia. Szeroość ona ja i przesunięcie moŝe być wyraŝana w próbach lub miliseundach. Przesunięcie oznacza odległość między początami dwóch sąsiednich oien i moŝe przyjmować wartość z zaresu <,szeroość_ona>. Dla przyładowych parametrów: wyraŝonych w próbach (nie w seundach) szeroość_ona =, przesunięcie = 2, olejne ona to: <, 99>, <2, 9>, <, 39>, <6, 59> Przetworzenie całego pliu polega na przetworzeniu aŝdego ona z osobna. KaŜde ono jest przetwarzanie oddzielnie i niezaleŝnie nie orzysta więc z wyniów innych oien, ani wynii uzysane w tym onie nie są danymi wejściowymi do obliczeń w innych onach. Dodatowo aŝde ono jest przemnaŝane przez funcję ona według schematu: jeŝeli szeroość ona wynosi, a funcja ona jest oreślona na przedziale <A,B>, to wyznaczamy równomiernie rozłoŝonych puntów na przedziale <A,B> x, x,, x -, dla aŝdego z tych puntów wyznaczamy wartość funcji ona f(x ), f(x ),, f(x - ) i aŝdą z tych wartości przemnaŝamy przez odpowiednią (w olejności) wartość sygnału w onie. Dopiero na ta zmodyfiowanym sygnale doonujemy dalszych obliczeń. Wzory róŝnych funcji są dostępne na stronie: http://pl.wiipedia.org/wii/ono_czasowe. W programie mają znaleźć się co najmniej róŝne funcje w tym ono prostoątne i ono Hamminga. Obwiednie wyliczmy według wzoru Obw = x n, gdzie x n są zmodyfiowanymi (patrzy n= wcześniejszy aapit) próbami sygnału wejściowego w pojedynczym onie. Dla jednego ona 2

dostajemy jedną wartość obwiedni, tórą nanosimy na wyres oscylogramu. Umieszczamy ją w środu ona (względem osi O), w pionie natomiast (względem osi OY) salujemy ją niezaleŝnie do oscylogramu najlepiej na górnej połowie oscylogramu, liniowo względem masymalnej wartości obwiedni ze wszystich oien. Drugą zmienną tórą mamy zobrazować jest częstotliwość przejść sygnału wejściowego prze oś O w onie. Obrazujemy ją ta samo ja obwiednię. Kolory: Czarny Zielony iebiesi - oscylogram - obwiednia - częstotliwość przejść przez zero DFT: - Dysretna Transformata Fouriera n ( ) = x( n) W, = () n= n i2π n n n W = e = cos(2π ) i sin(2π ) Przechowujemy sładowe rzeczywiste ja równieŝ urojone. a wyresie przedstawiamy wartości (). Dodatowo w interfejsie ma być dostępny checbox, zamieniający wyres na salę logarytmiczną (decybelową): 2 2 ' = 2log = re + im log MoŜe być sala od zera ( ) ' = 2log max, max masymalna wartość transformaty ze WSZYSTKICH oien zdefiniować to doładniej Ŝe to moduł Dla aŝdego ona liczona jest oddzielna transformata (cały proces oczywiście poprzedzony jest oienowaniem), w związu z tym potrzebne jest jaieś sprzęŝenie z wyresem oscylogramu. Kliając w oscylogram, sprawdzamy, w tóre ono linęliśmy, i wyświetlamy widmo tylo dla tego ona. Kolory: Czerwony iebiesi - widmo DFT - widmo LPC nie dotyczy

Dla szeroości ona, dostajemy wartości transformaty w onie (). -ta wartość odpowiada częstotliwości F = Fp, gdzie F p to częstotliwość próbowania. Wyświetlamy natomiast TYLKO pierwszą połowę uzysanego widma poniewaŝ druga jest jej lustrzanym odbiciem. Prosiłbym równieŝ o zrobienie przynajmniej sali poziomej. FFT: - Szyba Transformata Fouriera, daje w wyniu DOKŁADIE te same wartości co DFT. Jest zaletą jest duŝa szybość obliczeń, a wadą to, Ŝe ilość danych wejściowych musi być potęgą 2 (w podstawowej wersji algorytmu o tórej właśnie mówimy, poniewaŝ są rozszerzenia tego algorytmu, tóre usuwają tą niedogodność). Algorytm przyjmuje ono z próbami o szeroości = 2 s i słada się z 3 etapów:. Podział. Ono dzielimy najpierw na pół, potem aŝdą połówę na pół, itd. Do lewej połowy bierzemy parzyste próbi, do prawej nieparzyste, czyli dla =8 wygląda to ta: 2 3 5 6 7 2 6 3 5 7 2 6 5 3 7 2 6 5 3 7 Zamiast robić to w sposób iteracyjny (według powyŝszego schematu) moŝemy zrobić to w sposób liniowy. Dla ona = 2 s, indesy omóre reprezentowane są na s bitach. JeŜeli indes n-tej omóri przedstawimy binarnie na s-bitach i reprezentację tą odwrócimy (z liczby abcd utworzymy dcba) otrzymamy nowy indes omóri n w tórym ta wartość powinna się znaleźć, np.: = 8, więc s = 3, więc zamiana indesów n na n wygląda ta: n 2 3 5 6 7 n 2 n 2 n 2 6 5 3 7 więc -rową omórę musimy wstawić w -rową omórę, -wszą musimy wstawić w -tą, itd. Ta przemieszane ono słuŝy jao dane wejściowe do następnego etapu. 2. Scalanie Wyjaśnić, Ŝeby jechać po wszystich motylach dla zadanego Jest to operacja odwrotna do podziału z dwóch mniejszych tablic tworzymy tablicę dwa razy więszą, aŝ dojdziemy na samą górę (czyli otrzymamy całe ono). Przy scalaniu orzystamy ze wzoru ' ( ) ( ) () ' ' =, ( ) ( ) 2 = + ' + 2 W A 2 WB ta ja w DFT W zastosowaniu wzoru pomoŝe nam poniŝszy schemat: = 2

następnie = 2 3 2 3 2 3 2 3 następnie = 8 2 3 5 6 7 2 3 5 6 7 Czyli na przyład w drugim rou dla =, otrzymamy równania: = = () = (2) = () = (3) = () + W () W () + W () W Zawsze, niezaleŝnie od, dla danego występują tylo dwa indesy wejściwo-wyjściowe (w naszym przypadu i 2 oraz i 3) i w dodatu dla onretnego te indesy nie występują nigdzie indziej. MoŜemy więc, w ramach optymalizacji robić obliczenia w miejscu, orzystając z dwóch zmiennych roboczych (a nawet z jednej). 3. Unormowanie Otrzymane wartości w tablicy dzielimy przez Spetrogram: - Spetrogram to wyres wszystich widm ułoŝonych olejno jedno obo drugiego. KaŜde widmo (2) (2) (3) (3) ustawiamy pionowo (na sztorc) otrzymując pase, gdzie oś pozioma to częstotliwość, a oś pionowa (od eranu) to amplituda. Zmiany amplitudy powinniśmy reprezentować zmianą oloru. Przeręcając te pasi o 9 w lewo i ustawiając je jeden obo drugiego otrzymamy spetrogram. Powinna teŝ być moŝliwość zmiany na salę logarytmiczną. Spetrogramy do porównania, sale liniowe i logarytmiczne: (szeroość = 6, przesunięcie = 6, ono Hamminga) Łatwy:

Średni: Trudny: