Metody Przetwarzania Danych Meteorologicznych Ćwiczenia 14

Podobne dokumenty
Ćwiczenia 05. Sylwester Arabas (ćwiczenia do wykładu prof. Szymona Malinowskiego) 9. listopada 2010 r.

Metody Przetwarzania Danych Meteorologicznych Ćwiczenia 11

Adaptive wavelet synthesis for improving digital image processing

Cyfrowe przetwarzanie i kompresja danych

Transformaty. Kodowanie transformujace

Laboratorium Przetwarzania Sygnałów Biomedycznych

Przetwarzanie Sygnałów. Zastosowanie Transformaty Falkowej w nadzorowaniu

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

Laboratorium Przetwarzania Sygnałów

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

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


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

Wybrane metody kompresji obrazów

Zastosowanie falek w przetwarzaniu obrazów

Transformata Fouriera

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

przetworzonego sygnału

Podstawy Programowania C++

Metody Przetwarzania Danych Meteorologicznych Ćwiczenia 05

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

Przekształcenie Fouriera obrazów FFT

Szybka transformacja Fouriera (FFT Fast Fourier Transform)

Ćwiczenie 3. Iteracja, proste metody obliczeniowe

Przekształcenia widmowe Transformata Fouriera. Adam Wojciechowski

Akwizycja i przetwarzanie sygnałów cyfrowych

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

Zastosowania obliczeń inteligentnych do wyszukiwania w obrazowych bazach danych

Sylabus do programu kształcenia obowiązującego od roku akademickiego 2012/13

KARTA PRZEDMIOTU. 1. NAZWA PRZEDMIOTU: Algebra liniowa (ALL010) 2. KIERUNEK: MATEMATYKA. 3. POZIOM STUDIÓW: I stopnia 4. ROK/ SEMESTR STUDIÓW: I/1

Akwizycja i przetwarzanie sygnałów cyfrowych

System operacyjny Linux

PODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.

TRANSFORMATA FALKOWA. Joanna Świebocka-Więk

Laboratorium Przetwarzania Sygnałów Biomedycznych

Przetwarzanie sygnałów

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

9. Dyskretna transformata Fouriera algorytm FFT

Elementy projektowania inzynierskiego Przypomnienie systemu Mathcad

FFT i dyskretny splot. Aplikacje w DSP

Informatyka I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny) kierunkowy (podstawowy / kierunkowy / inny HES)

Cyfrowe przetwarzanie sygnałów. Wykład 10. Transformata cosinusowa. Falki. Transformata falkowa. dr inż. Robert Kazała

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

Joint Photographic Experts Group

Akustyka muzyczna ANALIZA DŹWIĘKÓW MUZYCZNYCH

Instrukcja do laboratorium z cyfrowego przetwarzania sygnałów. Wybrane właściwości Dyskretnej Transformacji Fouriera

INFORMATYKA POZIOM PODSTAWOWY

Pliki. Operacje na plikach w Pascalu

Data Mining Wykład 3. Algorytmy odkrywania binarnych reguł asocjacyjnych. Plan wykładu

Podstawy MATLABA, cd.

Wstęp do Programowania Lista 1

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

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 13

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

ARKUSZ KALKULACYJNY MICROSOFT EXCEL cz.2 Formuły i funkcje macierzowe, obliczenia na liczbach zespolonych, wykonywanie i formatowanie wykresów.

W wielu obliczeniach w matematyce bądź fizyce wykonanie niektórych kroków zależy od spełnienia warunku.

Ada 95 #1/5 - typy. Typy skalarne. Hierarchia typów w Adzie. Typ znakowy. Typy dyskretne. Plan wykładu

SKRYPTY. Zadanie: Wyznaczyć wartość wyrażenia arytmetycznego

- wszystkie elementy - wszystkie elementy

Ćwiczenie 1. Wprowadzenie do programu Octave

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.

ANALIZA SYGNAŁÓ W JEDNÓWYMIARÓWYCH

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

Symulacja obliczeń kwantowych

Zaawansowane metody numeryczne

Sylabus do programu kształcenia obowiązującego od roku akademickiego 2014/15

Bash i algorytmy. Elwira Wachowicz. 20 lutego

WYKŁAD 9 METODY ZMIENNEJ METRYKI

04 Układy równań i rozkłady macierzy - Ćwiczenia. Przykład 1 A =

Diagnostyka obrazowa

Ćwiczenie 1. Wprowadzenie do programu Octave

Diagnostyka obrazowa

Teoria sygnałów Signal Theory. Elektrotechnika I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

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

KARTA MODUŁU / KARTA PRZEDMIOTU

Analiza porównawcza wybranych transformat w kontekście zobrazowania zaszumionego sygnału harmonicznego

, to liczby γ +δi oraz γ δi opisują pierwiastki z a+bi.

Kompresja JPG obrazu sonarowego z uwzględnieniem założonego poziomu błędu

Grafika Komputerowa Wykład 2. Przetwarzanie obrazów. mgr inż. Michał Chwesiuk 1/38

Zadanie 1. Doskonała inaczej (6 pkt) Poniższy algorytm wyznacza wszystkie dzielniki liczby naturalnej n 1, mniejsze od n.

3. Przetwarzanie analogowo-cyfrowe i cyfrowo-analogowe... 43

Wymiana i składowanie danych multimodalnych

Fundamentals of Data Compression

Techniki wizualizacji. Ćwiczenie 10. System POV-ray tworzenie animacji

Transformata Fouriera i analiza spektralna

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

Falki, transformacje falkowe i ich wykorzystanie

Kolumna Zeszyt Komórka Wiersz Tabela arkusza Zakładki arkuszy

uzyskany w wyniku próbkowania okresowego przebiegu czasowego x(t) ze stałym czasem próbkowania t takim, że T = t N 1 t

Matematyka dyskretna - wykład - część Podstawowe algorytmy kombinatoryczne

Laboratorium Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z przetwarzaniem sygnałów w MATLAB. 2. Program ćwiczenia. Przykład 1 Wprowadź

Ćwiczenie 3. MatLab: Algebra liniowa. Rozwiązywanie układów liniowych

LABORATORIUM: ROZDZIELANIE UKŁADÓW HETEROGENICZNYCH ĆWICZENIE 1 - PRZESIEWANIE

GNU Octave (w skrócie Octave) to rozbudowany program do analizy numerycznej.

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

Wykorzystanie programów komputerowych do obliczeń matematycznych

Jeśli X jest przestrzenią o nieskończonej liczbie elementów:

Rok akademicki: 2012/2013 Kod: JFM s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

Przedmowa 11 Ważniejsze oznaczenia 14 Spis skrótów i akronimów 15 Wstęp 21 W.1. Obraz naturalny i cyfrowe przetwarzanie obrazów 21 W.2.

Transkrypt:

Danych Meteorologicznych Sylwester Arabas (ćwiczenia do wykładu dra Krzysztofa Markowicza) Instytut Geofizyki, Wydział Fizyki Uniwersytetu Warszawskiego 18. stycznia 2010 r.

Zadanie 14.1 : polecenie znalezienie funkcji bazowych Daubechies 1 jednowymiarowej dyskretnej transformaty falkowej (dla kilku różnych rzędów: 4, 6, 8,... 20) wykreślenie wszystkich funkcji bazowych dla sygnału 16-elementowego sprawdzenie ortogonalności tej bazy sprawdzenie dwukierunkowości transformaty 1 Ingrid Daubechies żyjąca belgijska uczona, współtwórczyni analizy falkowej, wynalazczyni bazy ortogonalnych falek noszących jej nazwisko (1988) oraz współwynazalczyni biortogonalnych falek CDF będących podstawą algorytmu kompresji obrazów JPEG2000

Zadanie zad14 1.pro 1 pro zad14_1 2 3 n = 16 ; długość sygnalu / liczba falek 4 eps = 1e-6 ; epsilon 5!P.MULTI = [0, 4, n / 4] ; wiele wykresów na jednym arkuszu 6 7 for c = 4, 20, 2 do begin 8 print, strtrim(n, 2), '-elementowa baza Daubechies rzedu ', strtrim(c, 2) 9 for i = 0, n - 1 do begin 10 x1 = fltarr(n) & x1[i] = 1 ; utworzenie wektorów typu [0,0,0,0,1,0,0,0] 11 v1 = wtn(x1, c, /inverse) ; wektor współczynników rozkładu -> sygnał 12 plot, v1 ; wykres 13 v1inv = wtn(v1, c) ; sygnał -> wektor współczynników rozkładu 14 wh = where(abs(v1inv) lt eps, cnt) 15 if cnt gt 0 then v1inv[wh] = 0 ; sprawdzamy z dokładnością do epsilon 16 wh = where(abs(v1inv) gt 1 - eps, cnt) 17 if cnt gt 0 then v1inv[wh] = 1 ; sprawdzamy z dokładnością do epsilon 18 if ~array_equal(x1, v1inv) then message, 'x!= wtn(wtn(x), /inv)!!!' 19 for j = 0, n - 1 do begin ; sprawdzanie ortogonalności 20 x2 = fltarr(n) & x2[j] = 1 ; utworzenie wektorów typu [0,0,0,0,1,0,0,0] 21 v2 = wtn(x2, c, /inverse) ; wektor współczynników rozkładu -> sygnał 22 v1v2 = total(v1 * v2) ; iloczyn skalarny 23 if i eq j and v1v2 lt 1 - eps then message, 'i eq j and v1v2 < 1 - eps!!!' 24 if i ne j and v1v2 gt 0 + eps then message, 'i ne j and v1v2 > 0 + eps!!!' 25 endfor ; j 26 endfor ; i 27 tmp = '' & read, tmp, prompt='naciśnij ENTER, żeby kontynuować...' 28 endfor ; c 29 30 end ; pro

Zadanie

Zadanie znalezienie funkcji bazowych Daubechies dwuwymiarowej dyskretnej transformaty falkowej (dla kilku różnych rzędów: 4, 6, 8,... 20) wykreślenie wszystkich funkcji bazowych dla sygnału (obrazu) 8x8-elementowego sprawdzenie ortogonalności tej bazy sprawdzenie dwukierunkowości transformaty

Zadanie zad14 2.pro 1 pro zad14_2 2 3 n = 8 ; długość (sygnał n x n) 4 eps = 1e-6 ; epsilon 5!P.MULTI = [0, n, n] ; wiele wykresów na jednym arkuszu 6 7 for c = 4, 20, 2 do begin 8 print, strtrim(n*n, 2), '-elementowa baza Daubechies (2D) rzedu ', strtrim(c, 2) 9 for i = 0, n * n - 1 do begin 10 x1 = fltarr(n,n) & x1[i] = 1 ; utworzenie wektorów typu [0,0,0,0,1,0,0,0] 11 v1 = wtn(x1, c, /inverse) ; wektor współczynników rozkładu -> sygnał (obraz) 12 surface, v1 ; wykres,,powierzchniowy'' 13 v1inv = wtn(v1, c) ; sygnał (obraz) -> wektor współczynników rozkładu 14 wh = where(abs(v1inv) lt eps, cnt) 15 if cnt gt 0 then v1inv[wh] = 0 ; sprawdzamy z dokładnością do epsilon 16 wh = where(abs(v1inv) gt 1 - eps, cnt) 17 if cnt gt 0 then v1inv[wh] = 1 ; sprawdzamy z dokładnością do epsilon 18 if ~array_equal(x1, v1inv) then message, 'x!= wtn(wtn(x), /inv)!!!' 19 for j = 0, n * n - 1 do begin ; sprawdzanie ortogonalności 20 x2 = fltarr(n,n) & x2[j] = 1 ; utworzenie wektorów typu [0,0,0,0,1,0,0,0] 21 v2 = wtn(x2, c, /inverse) ; wektor współczynników rozkładu -> sygnał (obraz) 22 v1v2 = total(v1 * v2) ; iloczyn skalarny 23 if i eq j and v1v2 lt 1 - eps then message, 'i eq j and v1v2 < 1 - eps!!!' 24 if i ne j and v1v2 gt 0 + eps then message, 'i ne j and v1v2 > 0 + eps!!!' 25 endfor ; j 26 endfor ; i 27 tmp = '' & read, tmp, prompt='naciśnij ENTER, żeby kontynuować...' 28 endfor ; c 29 30 end ; pro

Zadanie

Zadanie Skompresowanie obrazów radarowych z zadania 12.1 poprzez rozkład w bazie falek ortogonalnych Daubechies i obciecie rozkładu przy pomocy kryterium na wartość bezwzględną współczynników rozkładu, t.j.: kompresja wyznaczenie transformaty falkowej oraz pominięcie współczynników o najniższej (co do wartości bezwzględnej) wartości dekompresja wyznaczenie transformaty odwrotnej na podstawie obciętej listy współczynników (ich liczb falkowych i wartości) Podanie stopnia kompresji.

Zadanie zad14 3 1 pro zad14_3, file, thrshld 2 3 ; odczyt danych + dostosowanie rozmiaru do 2^n x 2^n 4 f = h5f_open(file) 5 d = h5d_open(f, 'image1/data') 6 data = (h5d_read(d))[72:327, 72:327] 7 h5d_close, d 8 h5f_close, f 9 10 ; okna 11 window, 0, xsize=2*(size(data))[1], ysize=(size(data))[2] ; obrazy 12 window, 1, xsize=1*(size(data))[1], ysize=(size(data))[2] ; transformaty 13 window, 2 ; histogram 14 15 wset, 0 & loadct, 17 & tv, bytscl(data) 16 17 trans = wtn(data, 4, /col) 18 wset, 2 & loadct, 0 & plot, histogram(abs(trans)), psym=10, $ 19 xtitle='number falki', ytitle='modul amplitudy', /ylog, /xlog 20 wset, 1 & loadct, 17 & tv, trans 21 22 compr = wtn(trans, 4, /inv, /col) 23 compr[where(abs(compr) lt thrshld, cnt, ncomplement=ccnt)] = 0. 24 print, 'stopień kompresji: ', 4. * n_elements(data) / (ccnt * 4 + ccnt) 25 wset, 0 & loadct, 17 & tv, bytscl(compr), 256, 0 26 27 end

Zadanie

Dyskretna Transformacja Falkowa (DWT) w u zwraca dyskretną transformatę falkową argumentu (rzeczywiste współczynniki rozkładu w bazie ortogonalnej Daubechies) lub transformatę odwrotną; tablica przekazana w argumencie rzutowana jest na typ zmiennoprzecinkowy; funkcja może też obliczać transformaty tablic wielowymiarowych (np. analiza obrazów); obliczenia wykonywane są przez bibliotekę GSL sposób użycia (rząd falek 2, 4... 20): trnsfrmt = wtn(sgnł, rząd falek) sgnł = fft(trnsfrmt, rząd falek, /inverse) wybrane argumenty nazwane i flagi /overwrite zapis wyniku do tablicy przekazanej w argumencie (algorytm in-situ) /inverse transformacja odwrotna długości wymiarów sygnału muszą być potęgami 2

- składnia analogiczna do CONTOUR > surface, hanning(20, 20)