L
luigirosa
Guest
FFW Snelste Filteren in het Westen
http://www.advancedsourcecode.com/ffw.asp
De FFW pakket is een FFT-gebaseerd algoritme voor een snelle 2D convolutie met behulp van de overlap-add-methode.De overlap-add-methode is gebaseerd op de fundamentele techniek in DSP: ontleden het signaal in eenvoudige componenten, proces elk van de componenten in een aantal nuttige manier, en recombineren de verwerkte onderdelen in de uiteindelijke signaal.Dit is mogelijk omdat de exploitant is convolutional lineair.De FFW pakket werkt op dezelfde wijze als fftfilt functie (Matlab Image Processing Toolbox), maar in een diepere manier: alle mogelijke lengtes van de vectoren worden beschouwd en niet alleen de lengte die de bevoegdheden van de twee.Dit is zeer noodzakelijk omdat de FFTW pakket (voor meer informatie bezoek http://www.fftw.org) omvat codelets geoptimaliseerd ook voor andere maten.Codelets worden automatisch door de FFTW codelet generator: u kunt uw eigen codelets en het opnieuw berekenen van de uitvoeringstermijnen voor elke FFT.De uitvoeringstermijnen voor:
FFT van echte 1D vectoren
FFT van complexe 1D vectoren
IFFT van complexe 1D vectoren
zijn berekend met het script papiclock.m van lengte N = 1 tot en met lengte N = 2048.Deze tijden zijn vastgesteld met behulp van PAPI voor Matlab (beschikbaar hier of op http://icl.cs.utk.edu/papi).Een 2D FFT (zie Matlab commando fft2) wordt ontleed in verschillende 1D FFTs: de FFT exploitant voor een N-dimensionale array kan in feite worden opgesplitst in verschillende 1-dimensionale FFTs van monodimensional arrays.De FFW algoritme selecteert automatisch wat de beste keuze (eerste dimensie, tweede dimensie en optimale lengte voor overlap-add-methode) en berekent de 2D convolutie.
De FFW pakket gemakkelijk kan worden gebruikt voor het verbeteren van de snelheid optredens van:
2D convolutie (Matlab functie conv2)
2D filtering (Matlab functie filter2)
2D cross-correlatie (Matlab functie xcorr2)
Genormaliseerde cross-correlatie (Matlab functie normxcorr2)Hoe FFW pakket werkt het?
Met het oog op het vinden van de beste parameters voor overlap-add-methode een uitputtende zoektocht op 2D matrices niet mogelijk zou zijn.De kosten van de computationele FFT2 exploitant is gedaan ontbindend deze in de computationele kosten van twee series van FFTs op monodimensional arrays.Bijvoorbeeld, als u wilt berekenen van de FFT2 computational kosten met behulp van een matrix N x M als input, zal u de volgende som: N * kosten (FFT (M)) M * kosten (FFT (N)) waar de kosten ( FFT (X)) is de rekenkracht kosten van FFT persoon met als input een vector waarvan de lengte is X. De rekenkracht kosten van FFT voor een echte vector is in het algemeen,
die afwijkt van de kosten van de FFT voor een complexe vector.Om deze reden meer dan een keuze mogelijk is: je kunt ervoor kiezen de eerste dimensie langs die je kunt toepassen van de FFT exploitant.Soortgelijke overwegingen kunnen worden gemaakt voor IFFT exploitant.
Na de computationele minimale kosten is gevonden, een fijnere afstelling mogelijk is: de FFW algoritme maakt een quasi-volledige zoeken met een geoptimaliseerd algoritme.De fine-tuning "-optie vergt veel tijd, maar het wordt aanbevolen voor hoge prestaties FFT-based filtering.Natuurlijk, deze optie heeft alleen zin als je te maken hebben verscheidene convolutie producten.
Als beide input beelden zijn echte FFW algoritme maakt gebruik van 'symmetrisch' optie, wanneer er gebruik IFFT exploitant.De geoptimaliseerde parameters voor FFW algoritme alleen afhangen van de grootte van input matrices en op hun waarde (reële of complexe).Als dezelfde filter worden toegepast op meerdere afbeeldingen, haar FFT2 waarde kan alleen worden bepaald een tijd bespaart computational tijd.In dit geval (dezelfde filter toegepast op meerdere afbeeldingen) de vaststelling van geoptimaliseerde parameter moet geen rekening gehouden met de rekenkracht kosten van een dergelijke operatie, want het gebeurt maar een keer.FFW algoritme kan ook werken in de tijd domein: deze keuze is noodzakelijk voor kleine filter kernel, met behulp van standaard conv2 ingebouwd in Matlab functie.
http://www.advancedsourcecode.com/ffw.asp
http://www.advancedsourcecode.com/ffw.asp
De FFW pakket is een FFT-gebaseerd algoritme voor een snelle 2D convolutie met behulp van de overlap-add-methode.De overlap-add-methode is gebaseerd op de fundamentele techniek in DSP: ontleden het signaal in eenvoudige componenten, proces elk van de componenten in een aantal nuttige manier, en recombineren de verwerkte onderdelen in de uiteindelijke signaal.Dit is mogelijk omdat de exploitant is convolutional lineair.De FFW pakket werkt op dezelfde wijze als fftfilt functie (Matlab Image Processing Toolbox), maar in een diepere manier: alle mogelijke lengtes van de vectoren worden beschouwd en niet alleen de lengte die de bevoegdheden van de twee.Dit is zeer noodzakelijk omdat de FFTW pakket (voor meer informatie bezoek http://www.fftw.org) omvat codelets geoptimaliseerd ook voor andere maten.Codelets worden automatisch door de FFTW codelet generator: u kunt uw eigen codelets en het opnieuw berekenen van de uitvoeringstermijnen voor elke FFT.De uitvoeringstermijnen voor:
FFT van echte 1D vectoren
FFT van complexe 1D vectoren
IFFT van complexe 1D vectoren
zijn berekend met het script papiclock.m van lengte N = 1 tot en met lengte N = 2048.Deze tijden zijn vastgesteld met behulp van PAPI voor Matlab (beschikbaar hier of op http://icl.cs.utk.edu/papi).Een 2D FFT (zie Matlab commando fft2) wordt ontleed in verschillende 1D FFTs: de FFT exploitant voor een N-dimensionale array kan in feite worden opgesplitst in verschillende 1-dimensionale FFTs van monodimensional arrays.De FFW algoritme selecteert automatisch wat de beste keuze (eerste dimensie, tweede dimensie en optimale lengte voor overlap-add-methode) en berekent de 2D convolutie.
De FFW pakket gemakkelijk kan worden gebruikt voor het verbeteren van de snelheid optredens van:
2D convolutie (Matlab functie conv2)
2D filtering (Matlab functie filter2)
2D cross-correlatie (Matlab functie xcorr2)
Genormaliseerde cross-correlatie (Matlab functie normxcorr2)Hoe FFW pakket werkt het?
Met het oog op het vinden van de beste parameters voor overlap-add-methode een uitputtende zoektocht op 2D matrices niet mogelijk zou zijn.De kosten van de computationele FFT2 exploitant is gedaan ontbindend deze in de computationele kosten van twee series van FFTs op monodimensional arrays.Bijvoorbeeld, als u wilt berekenen van de FFT2 computational kosten met behulp van een matrix N x M als input, zal u de volgende som: N * kosten (FFT (M)) M * kosten (FFT (N)) waar de kosten ( FFT (X)) is de rekenkracht kosten van FFT persoon met als input een vector waarvan de lengte is X. De rekenkracht kosten van FFT voor een echte vector is in het algemeen,
die afwijkt van de kosten van de FFT voor een complexe vector.Om deze reden meer dan een keuze mogelijk is: je kunt ervoor kiezen de eerste dimensie langs die je kunt toepassen van de FFT exploitant.Soortgelijke overwegingen kunnen worden gemaakt voor IFFT exploitant.
Na de computationele minimale kosten is gevonden, een fijnere afstelling mogelijk is: de FFW algoritme maakt een quasi-volledige zoeken met een geoptimaliseerd algoritme.De fine-tuning "-optie vergt veel tijd, maar het wordt aanbevolen voor hoge prestaties FFT-based filtering.Natuurlijk, deze optie heeft alleen zin als je te maken hebben verscheidene convolutie producten.
Als beide input beelden zijn echte FFW algoritme maakt gebruik van 'symmetrisch' optie, wanneer er gebruik IFFT exploitant.De geoptimaliseerde parameters voor FFW algoritme alleen afhangen van de grootte van input matrices en op hun waarde (reële of complexe).Als dezelfde filter worden toegepast op meerdere afbeeldingen, haar FFT2 waarde kan alleen worden bepaald een tijd bespaart computational tijd.In dit geval (dezelfde filter toegepast op meerdere afbeeldingen) de vaststelling van geoptimaliseerde parameter moet geen rekening gehouden met de rekenkracht kosten van een dergelijke operatie, want het gebeurt maar een keer.FFW algoritme kan ook werken in de tijd domein: deze keuze is noodzakelijk voor kleine filter kernel, met behulp van standaard conv2 ingebouwd in Matlab functie.
http://www.advancedsourcecode.com/ffw.asp