1 / 22

Datan suodatus

Datan suodatus. tilastolliset virheet poikkeavat arvot (salt and pepper noise kuvankäsittelyssä) mittalaitteen virhetoiminta: datassa laitteen aiheuttama tietyn taajuuksinen kohina mittalaitteen aiheuttama piirteiden leveneminen (instrumental function, point spread function).

chase
Download Presentation

Datan suodatus

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Datan suodatus • tilastolliset virheet • poikkeavat arvot (salt and pepper noise kuvankäsittelyssä) • mittalaitteen virhetoiminta: datassa laitteen aiheuttama tietyn taajuuksinen kohina • mittalaitteen aiheuttama piirteiden leveneminen (instrumental function, point spread function)

  2. Poikkeavat arvot • Mediaanisuodin korvaa arvon kyseisen pisteen ympäristön arvojen mediaanilla. • Esimerkki. Kolmen pisteen mediaanisuodin g(xi) = med(f(xi-1), f(xi), f(xi+1) ). • Med(x,y,z) on suuruudeltaan keskimmäinen luvuista x, y, ja z.

  3. Matlab medfilt1, medfilt2 >> x=ones(1,10); x(5) = 10, medfilt1(x) x = 1 1 1 1 10 1 1 1 1 1 ans = 1 1 1 1 1 1 1 1 1 1

  4. Laitevaikutus • mittaustulosg esitettävissä usein integraaliyhtälönä g(x) =  h(x,y) f(y) dy + n(x), missä f on tarkka tulos, h laitevaikutus (vaste, integraaliyhtälön kernel), n tilastollinen epävarmuus • Jos laitevaikutus sama joka pisteessä, konvoluutio g(x) =  h(x-y) f(y) dy.

  5. Lineaarinen suodin • konvoluutio g(x) =  h(x-y) f(y) dy • Esimerkki. Suodin h = 1/4 [1 2 1] (Matlab-kieltä) • Data f(xi) • Suodatettu data g(xi) = ¼(f(xi-1) + 2f(xi) + f(xi+1)) • Funktion arvo kussakin pisteessä painotettu keskiarvo lähipisteissä saaduista arvoista.

  6. Lineaarinen suodin Matlabilla • conv, conv2 konvoluutio • filter2 korrelaatio • filter rekursiivinen suodin

  7. Tasoitus konvoluutiolla • Esimerkki. Kukin piste korvataan vierekkäisten arvojen keskiarvolla. Tämä vastaa konvoluutiota laatikkofunktiolla. • Ei ihan sama kuin perusalipäästösuodin. Laatikon Fourierin muunnos on sinc-funktio.

  8. % 1-dim, box function y = [zeros(20,1); ones(20,1); zeros(20,1)]; subplot(2,2,1), plot(y) x = 1:20; x=x'; subplot(2,2,2), plot(x) subplot(2,2,3), plot(conv2(y,x,'same')), subplot(2,2,4), plot(filter2(x,y)) % 2-dim, square function y = [zeros(20,1); ones(20,1); zeros(20,1)]; y = y*y'; subplot(2,2,1), imagesc(y) x = 1:20; x=x'; x=x*x'; subplot(2,2,2), imagesc(x) subplot(2,2,3), imagesc(conv2(y,x,'same')), subplot(2,2,4), imagesc(filter2(x,y)) Matlab: conv, conv2, filter2

  9. Fourierin muunnos Määritelmä Ff() = a  f(t) exp(- t) dt Käänteismuunnos f() = b  Ff(t) exp( t) dt a,b vakioita, symmetrinen valinta a = b = 1/sqrt(2π) Trigonometriset muodot Eulerin kaavalla. muunnospareja aika-taajuus, paikka-aaltoluku

  10. ominaisuuksia • lineaarinen F(f+g) = Ff+Fg • F(af) = a Ff • Mitä leveämpi muunnettava funktio, sitä kapeampi muunnos. • Derivaattakaavat • F(Dnf) = (iw)n Ff • F(tn Ff) = (iD)nf

  11. Konvoluutioteoreema funktiot h ja g (hog)(y) = ∫ dx h(x) g(y-x) Fourierin muunnos Ff() =  f(t) exp(- t) dt merkitään H(y) = (hog)(y) FH = ∫ dx ∫ dy h(x) g(y-x) exp(-iky) Muuttujan vaihto z = y-x, dz = dy FH (k) = ∫ dx ∫ dz h(x) g(z) exp(-ikz-ikx) uudelleen järjestelyllä Fh(k) = Fh(k) Fg(k)

  12. Esimerkkejä • laatikon fouriermuunnos on sin(k)/k • Gaussin funktion fouriermuunnos on Gaussin funktio • sinin ja kosinin fouriermuunnokset ovat kaksi delta-piikkiä.

  13. Fourierin muunnos Maplella Määritelmä Ff() =  f(t) exp(- t) dt. Maple: > fourier(sin(2*x), x,w); Pi (Dirac(w + 2) - Dirac(w - 2)) I > fourier(exp(-x^2), x,w); 2 1/2 w Pi exp(- ----) 4

  14. Fourier series Periodic function f(x+X) = f(x), where X is the period, can be presented as Fourier series f(x) = n=-cn eI nK x, where K is the basic frequency KX = 2π. The coefficients of the Fourier series are obtained as integrals over the period X cn = 1/X ∫xeinK x f(x) dx.

  15. Konvoluutioteoreema • F(fog) = Ff Fg (tässä o tarkoittaa konvoluutiota) • Lineaarinen suodatus : • Fourierin muunnos • suodatus taajuusavaruudessa (kertolasku) • muunnos takaisin aika-avaruuteen

  16. funktio fft % data z fz = fft(z); n = length(fz); l=1:n; plot(l, abs(fz)), pause % construct the filter d = zeros(n,1); ll = 6:1:n-6; d(ll) = 1+0*ll; plot(l, abs(fz), l, d), pause % inverse transform zz = ifft(fz.*d); plot(x, real(zz), x, z,'o'), pause Lisätietoja: FYMM, Tieteellisen laskennan jatkokurssi Matlabissa diskreetti Fourierin muunnos

  17. Alipäästösuodin • Alipäästösuodin päästää lävitseen vain tiettyä taajuutta matalammat taajuudet. • Sillä voidaan poistaa korkeataajuuksista kohinaa. • Samalla voidaan menettää pienimpiä yksityiskohtia. • Suotimella on tasoittava vaikutus ja esimerkiksi suodatettu kuva voi näyttää epätarkalta.

  18. Ylipäästösuodin • Ylipäästösuodin poistaa datasta y(t) matalimmat taajuudet. (Aika- ja taajuus ovat Fourierin muunnoksessa vastinmuuttujat.) • Ylipäästösuodin terävöittää pieniä yksityiskohtia, siis saattaa pahentaa kohinaa. • Ylipäästösuodin vastaakin lähinnä derivoivaa suodinta.

  19. Rekursiiviset suotimet • Määritellään rekursiivinen suodin (eli nk. IIR-suodin) seuraavasti: Yk+1 = a0 Xk + a1 Xk-1 + a2 Xk-2 + ... + am Xk-m + b0 Yk + b1 Yk-1 + b2 Yk-2 + ... + bn Yk-n • Tässä Y on suodatettu data ja kertoimet a ja b määräävät suotimen taajuusvasteen. • Jos b:n kaikki alkiot olisivat nollia, kutsuttaisiin suodinta ei-rekursiiviseksi suotimeksi (eli nk. FIR-suotimeksi).

  20. Lineaarinen suodin • rekursiivinen, lähes samanlainen suodin • g(xi) = ¼(g(xi-1) + 2f(xi) + f(xi+1))

  21. Yksinkertainen rekursiivinen suodatus • Jaksollisten funktioiden tasoittamiseen käytetään usein rekursiivista suodinta. Yksinkertaisimmassa tapauksessa havaittu arvo korvataan painotetulla keskiarvolla • gi = α fi + (1-α) gi-1, • missä fi on alkuperäinen havaittu arvo, gi-1 viimeisin jo muutettu arvo ja α jokin vakio välillä (0,1). Lisäksi asetetaan g0 = f0. • Mitä muuta suodin tekee signaalille kuin tasoittaa?

  22. Suotimia (Matlab signal processing toolbox) Windows. bartlett - Bartlett window. barthannwin - Modified Bartlett-Hanning window. blackman - Blackman window. blackmanharris - Minimum 4-term Blackman-Harris window. bohmanwin - Bohman window. chebwin - Chebyshev window. flattopwin - Flat Top window. gausswin - Gaussian window. hamming - Hamming window. hann - Hann window. kaiser - Kaiser window. nuttallwin - Nuttall defined minimum 4-term Blackman-Harris window. parzenwin - Parzen (de la Valle-Poussin) window. rectwin - Rectangular window. triang - Triangular window. tukeywin - Tukey window. wvtool - Window Visualization Tool. window - Window function gateway.

More Related