+ All Categories
Home > Documents > Fouri dekonvoluce, Fouriérovské...

Fouri dekonvoluce, Fouriérovské...

Date post: 24-Oct-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
29
 Fouriérova transformace, konvoluce, Fouriérova transformace, konvoluce, dekonvoluce, Fouriérovské integrály dekonvoluce, Fouriérovské integrály Úvod do programování v prostředích Octave, Scilab a Matlab co byste měli umět po dnešní lekci:  používat funkce pro výpočet FFT (Fast Fourier Transformation)  spočítat konvoluci/dekonvoluci pomocí FFT  použít FFT při výpočtu určitých integrálů  vědět co je nízko\vysoko-frekvenční (Wienerův) filtr  vědět, co je fázová korelace a k čemu je dobrá
Transcript
  •    

    Fouriérova transformace, konvoluce, Fouriérova transformace, konvoluce, dekonvoluce, Fouriérovské integrálydekonvoluce, Fouriérovské integrály

    Úvod do programování v prostředích Octave, Scilab a Matlab

    co byste měli umět po dnešní lekci:

    ● používat funkce pro výpočet FFT (Fast Fourier Transformation)● spočítat konvoluci/dekonvoluci pomocí FFT● použít FFT při výpočtu určitých integrálů● vědět co je nízko\vysokofrekvenční (Wienerův) filtr● vědět, co je fázová korelace a k čemu je dobrá

  •    

    Fouriérova transformace, konvoluce, Fouriérova transformace, konvoluce, dekonvoluce, Fouriérovské integrálydekonvoluce, Fouriérovské integrály

    Úvod do programování v prostředích Octave, Scilab a Matlab

    Fouriérovy řadyFouriérovy řady

    aproximace periodických funkcí pomocí F.řad

  •    

    Fouriérova transformace, konvoluce, Fouriérova transformace, konvoluce, dekonvoluce, Fouriérovské integrálydekonvoluce, Fouriérovské integrály

    Úvod do programování v prostředích Octave, Scilab a Matlab

    Fouriérova transformaceFouriérova transformace

    (f(t) definována na intervalu )

    základní, fundamentální, frekvence

  •    

    Fouriérova transformace, konvoluce, Fouriérova transformace, konvoluce, dekonvoluce, Fouriérovské integrálydekonvoluce, Fouriérovské integrály

    Úvod do programování v prostředích Octave, Scilab a Matlab

    Fouriérova analýza diskrétních datFouriérova analýza diskrétních dat

    mějme nhodnot nějaké funkce f(t), měřené v ekvidistatních časových intervalech ti,

    DFT:

    Fk reprezentují koeficienty F. řady pro funkci f(t) pro frekvence menší než

    Nyquistova frekvenceNyquistova frekvence

  •    

    Fouriérova transformace, konvoluce, Fouriérova transformace, konvoluce, dekonvoluce, Fouriérovské integrálydekonvoluce, Fouriérovské integrály

    Úvod do programování v prostředích Octave, Scilab a Matlab

    Příklad: Analýza časové série počtu slunečních skvrn na povrchu Slunce (Wolfovo číslo)

    octave:53>s=load('sunspot.dat');octave:54> cas=s(:,1);octave:55> Wolf=s(:,2);octave:56> FTWolf=fft(Wolf);octave:57> FTWolf(1)=[];      % prvni cislo je suma hodnot v poli octave:58> n=length(FTWolf);octave:59> FTWolf2=abs(FTWolf(1:floor(n/2))).^2;octave:60> nyquist=1/2;octave:61> frekv=(1:n/2)/(n/2)*nyquist;octave:62> out=[frekv' FTWolf2];octave:63> save ascii 'periodogram.dat' outoctave:64> perioda=1./frekv;octave:65> out=[perioda' FTWolf2];octave:67> save ascii 'cyklus.dat' outoctave:68> m=find(FTWolf2==max(FTWolf2));octave:69> perioda(m)ans =  11.038

  •    

    Fouriérova transformace, konvoluce, Fouriérova transformace, konvoluce, dekonvoluce, Fouriérovské integrálydekonvoluce, Fouriérovské integrály

    Úvod do programování v prostředích Octave, Scilab a Matlab

    funkce fft a ifft   ukázka výpočtu FT Gaussovy funkcefunkce fft a ifft   ukázka výpočtu FT Gaussovy funkce

    x=linspace(10,10,256);y=5*exp(x.^2/2/4);FTy=fft(y);plot(real(FTy))FTy=fft(fftshift(y));plot(real(FTy))

    N=length(x);n=[N/2:N/21];Delta=x(2)x(1);om=2*pi*n/N/Delta;plot(om,fftshift(FTy));

    po volání fft (ifft) jsou hodnoty v poli o délce N=2n řazeny takto:          1 ≤ j ≤ N/2    hodnoty pro nezáporné frekvence   N/2+1 ≤ j ≤ N    hodnoty pro záporné frekvence                                  fftshift

  •    

    Fouriérova transformace, konvoluce, Fouriérova transformace, konvoluce, dekonvoluce, Fouriérovské integrálydekonvoluce, Fouriérovské integrály

    Úvod do programování v prostředích Octave, Scilab a Matlab

    konvoluce a dekonvoluce pomocí FTkonvoluce a dekonvoluce pomocí FT

    M, I a R jsou Fouriérovské obrazy m, i a r

  •    

    Fouriérova transformace, konvoluce, Fouriérova transformace, konvoluce, dekonvoluce, Fouriérovské integrálydekonvoluce, Fouriérovské integrály

    Úvod do programování v prostředích Octave, Scilab a Matlab

    konvoluce a dekonvoluce pomocí FTkonvoluce a dekonvoluce pomocí FT

    dekonvoluce je špatně podmíněná úloha – je velmi citlivá na omezenost intervalů,na kterých máme změřená data a na přítomnost šumu             data je nutno pro dekonvolucipředpřipravit:

    ● odečíst pozadí● FT vyžaduje pole stejných délek (nejlépe 2n) – data doplníme nulami● nutno vyhladit šum

    pro výpočet FT použijeme implementované funkce fft a ifft (viz help).

  •    

    Fouriérova transformace, konvoluce, Fouriérova transformace, konvoluce, dekonvoluce, Fouriérovské integrálydekonvoluce, Fouriérovské integrály

    Úvod do programování v prostředích Octave, Scilab a Matlab

    modifikovaná Stokesova metodamodifikovaná Stokesova metoda

    vyhlazení dat pomocí násobení Gaussovou funkcí

    po zpětné FT vyjde:

    tj. vyhladímeli M a R, je automaticky vyhlazena i F!!!!

  •    

    Fouriérova transformace, konvoluce, Fouriérova transformace, konvoluce, dekonvoluce, Fouriérovské integrálydekonvoluce, Fouriérovské integrály

    Úvod do programování v prostředích Octave, Scilab a Matlab

    % Fourierova transformace of merenych dat % a rozlisovaci funkceM = fft([m zeros(1,length(r)1)]); % zarovnam nulami na stejnou velikostR = fft([r zeros(1,length(m)1)]);% vyhlazeni Msigma = length(M)/20; x = 1:length(M);gauss = exp((x.^2)/sigma^2);gauss = gauss + fliplr(gauss); M = gauss.*M;% vyhlazeni Rsigma = length(R)/5; x = 1:length(R);gauss = exp((x.^2)/sigma^2);gauss = gauss + fliplr(gauss);R = gauss.*R;ft = real(ifft(M./R)); ft = fftshift(ft);

  •    

    Fouriérova transformace, konvoluce, Fouriérova transformace, konvoluce, dekonvoluce, Fouriérovské integrálydekonvoluce, Fouriérovské integrály

    Úvod do programování v prostředích Octave, Scilab a Matlab

    Výpočet integrálů pomocí Fouriérovy transformaceVýpočet integrálů pomocí Fouriérovy transformace

    integrál aproximujeme

  •    

    Fouriérova transformace, konvoluce, Fouriérova transformace, konvoluce, dekonvoluce, Fouriérovské integrálydekonvoluce, Fouriérovské integrály

    Úvod do programování v prostředích Octave, Scilab a Matlab

    Výpočet integrálů pomocí Fouriérovy transformaceVýpočet integrálů pomocí Fouriérovy transformace

    nutno zohlednit kraje intervalu integrace

    FFT

    Lichoběžníková aproximace:

  •    

    Fouriérova transformace, konvoluce, Fouriérova transformace, konvoluce, dekonvoluce, Fouriérovské integrálydekonvoluce, Fouriérovské integrály

    Úvod do programování v prostředích Octave, Scilab a Matlab

    Filonova metoda výpočtu Fouriérovských integrálůFilonova metoda výpočtu Fouriérovských integrálů

    pro malá 

  •    

    Fouriérova transformace, konvoluce, Fouriérova transformace, konvoluce, dekonvoluce, Fouriérovské integrálydekonvoluce, Fouriérovské integrály

    Úvod do programování v prostředích Octave, Scilab a Matlab

    Filonova metoda výpočtu Fouriérovských integrálůFilonova metoda výpočtu Fouriérovských integrálů

  •    

    Fouriérova transformace, konvoluce, Fouriérova transformace, konvoluce, dekonvoluce, Fouriérovské integrálydekonvoluce, Fouriérovské integrály

    Úvod do programování v prostředích Octave, Scilab a Matlab

    ideální NF filtr

    Butterworthův NF filtr

    Gaussův NF filtr

    Nízko/vysokofrekvenční filtryNízko/vysokofrekvenční filtry

  •    

    Fouriérova transformace, konvoluce, Fouriérova transformace, konvoluce, dekonvoluce, Fouriérovské integrálydekonvoluce, Fouriérovské integrály

    Úvod do programování v prostředích Octave, Scilab a Matlab

    Nízko/vysokofrekvenční filtryNízko/vysokofrekvenční filtry

  •    

    Fouriérova transformace, konvoluce, Fouriérova transformace, konvoluce, dekonvoluce, Fouriérovské integrálydekonvoluce, Fouriérovské integrály

    Úvod do programování v prostředích Octave, Scilab a Matlab

    Nízko/vysokofrekvenční filtryNízko/vysokofrekvenční filtry

  •    

    Fouriérova transformace, konvoluce, Fouriérova transformace, konvoluce, dekonvoluce, Fouriérovské integrálydekonvoluce, Fouriérovské integrály

    Úvod do programování v prostředích Octave, Scilab a Matlab

    Nízko/vysokofrekvenční filtryNízko/vysokofrekvenční filtry

    komprese obrazu

  •    

    Fouriérova transformace, konvoluce, Fouriérova transformace, konvoluce, dekonvoluce, Fouriérovské integrálydekonvoluce, Fouriérovské integrály

    Úvod do programování v prostředích Octave, Scilab a Matlab

    Nízko/vysokofrekvenční filtryNízko/vysokofrekvenční filtry

  •    

    Fouriérova transformace, konvoluce, Fouriérova transformace, konvoluce, dekonvoluce, Fouriérovské integrálydekonvoluce, Fouriérovské integrály

    Úvod do programování v prostředích Octave, Scilab a Matlab

    Wienerův filtr, optimální filtrováníWienerův filtr, optimální filtrování

    instrumentální funkce fyzikální profil

    šumfiltr

    minimalizace

    Wienerův filtrWienerův filtr

  •    

    Fouriérova transformace, konvoluce, Fouriérova transformace, konvoluce, dekonvoluce, Fouriérovské integrálydekonvoluce, Fouriérovské integrály

    Úvod do programování v prostředích Octave, Scilab a Matlab

    (měřené)

    loga

    ritm

    ická 

    škál

    a (extrapolované)

    (odhadnuté)

  •    

    Fouriérova transformace, konvoluce, Fouriérova transformace, konvoluce, dekonvoluce, Fouriérovské integrálydekonvoluce, Fouriérovské integrály

    Úvod do programování v prostředích Octave, Scilab a Matlab

    Fázová korelaceFázová korelace

    shift teorém

    similarity teorém

    zjištění vzájemného posunutí obrázků, rotace a změny měřítka

  •    

    Fouriérova transformace, konvoluce, Fouriérova transformace, konvoluce, dekonvoluce, Fouriérovské integrálydekonvoluce, Fouriérovské integrály

    Úvod do programování v prostředích Octave, Scilab a Matlab

    Fázová korelaceFázová korelace

    posun obrázků

  •    

    Fouriérova transformace, konvoluce, Fouriérova transformace, konvoluce, dekonvoluce, Fouriérovské integrálydekonvoluce, Fouriérovské integrály

    Úvod do programování v prostředích Octave, Scilab a Matlab

    Fázová korelaceFázová korelace

    rotace

  •    

    Fouriérova transformace, konvoluce, Fouriérova transformace, konvoluce, dekonvoluce, Fouriérovské integrálydekonvoluce, Fouriérovské integrály

    Úvod do programování v prostředích Octave, Scilab a Matlab

    Fázová korelaceFázová korelace

  •    

    Fouriérova transformace, konvoluce, Fouriérova transformace, konvoluce, dekonvoluce, Fouriérovské integrálydekonvoluce, Fouriérovské integrály

    Úvod do programování v prostředích Octave, Scilab a Matlab

    Fázová korelaceFázová korelace

    změna měřítka

  •    

    Fouriérova transformace, konvoluce, Fouriérova transformace, konvoluce, dekonvoluce, Fouriérovské integrálydekonvoluce, Fouriérovské integrály

    Úvod do programování v prostředích Octave, Scilab a Matlab

    Fázová korelaceFázová korelace

  •    

    Fouriérova transformace, konvoluce, Fouriérova transformace, konvoluce, dekonvoluce, Fouriérovské integrálydekonvoluce, Fouriérovské integrály

    Úvod do programování v prostředích Octave, Scilab a Matlab

    Fázová korelaceFázová korelace

    1. spočteme amplitudová spektra obou obrazů2. převedeme spektra do polárních souřadnic (r, )3. tato spektra jsou posunutá o vektor (0,), který určíme metodou uvedenou výše4. otočíme druhým obrazem o úhel (otočení kolem středu), nyní ještě zbývá posunutí (x0, y0)

    zjištění vzájemné rotace:

    zjištění změny měřítka: 1. spočteme amplitudová spektra obou obrazů2. převedeme spektra do polárních souřadnic s log osou r (log(r), )3. tato spektra jsou posunutá o vektor (log(c),0), který určíme metodou uvedenou výše

    zjištění vzájemného posunutí:

    1. spočteme spektra obou obrazů2. spočteme fázovou korelaci těchto obrazů3. poloha maxima (x0, y0) určuje vektor vzájemného posunutí obrazů

  •    

    Fouriérova transformace, konvoluce, Fouriérova transformace, konvoluce, dekonvoluce, Fouriérovské integrálydekonvoluce, Fouriérovské integrály

    Úvod do programování v prostředích Octave, Scilab a Matlab

    Úkoly: 

    1) Napište funkci na výpočet koeficientů an a bn F.řad. Aproximujte různé funkce,      periodické i neperiodické.2) Napište skript, který bude počítat Fouriérovské integrály Filonovou metodou.3) Napište skript, který bude počítat Fouriérovské integrály pomocí FT4) Napište skript, který bude provádět dekonvoluci dat pomocí modifikované    Stokesovy metody5) Napište skript, který bude aplikovat na data jeden z uvedených šumových filtrů.6) Troufnete si napsat skript, který bude zjišťovat vzájemné posunutí dvou obrázků?

    Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17Slide 18Slide 19Slide 20Slide 21Slide 22Slide 23Slide 24Slide 25Slide 26Slide 27Slide 28Slide 29


Recommended