-
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