{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,12]],"date-time":"2025-10-12T04:11:43Z","timestamp":1760242303085,"version":"build-2065373602"},"reference-count":33,"publisher":"MDPI AG","issue":"4","license":[{"start":{"date-parts":[[2017,3,28]],"date-time":"2017-03-28T00:00:00Z","timestamp":1490659200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Sensors"],"abstract":"<jats:p>Non-equispaced Fast Fourier transform (NFFT) is a very important algorithm in several technological and scientific areas such as synthetic aperture radar, computational photography, medical imaging, telecommunications, seismic analysis and so on. However, its computation complexity is high. In this paper, we describe an efficient NFFT implementation with a hardware coprocessor using an All-Programmable System-on-Chip (APSoC). This is a hybrid device that employs an Advanced RISC Machine (ARM) as Processing System with Programmable Logic for high-performance digital signal processing through parallelism and pipeline techniques. The algorithm has been coded in C language with pragma directives to optimize the architecture of the system. We have used the very novel Software Develop System-on-Chip (SDSoC) evelopment tool that simplifies the interface and partitioning between hardware and software. This provides shorter development cycles and iterative improvements by exploring several architectures of the global system. The computational results shows that hardware acceleration significantly outperformed the software based implementation.<\/jats:p>","DOI":"10.3390\/s17040694","type":"journal-article","created":{"date-parts":[[2017,3,28]],"date-time":"2017-03-28T10:24:33Z","timestamp":1490696673000},"page":"694","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":6,"title":["Automated Software Acceleration in Programmable Logic for an Efficient NFFT Algorithm Implementation: A Case Study"],"prefix":"10.3390","volume":"17","author":[{"given":"Manuel","family":"Rodr\u00edguez","sequence":"first","affiliation":[{"name":"Department of Industrial Engineering, Universidad de La Laguna, 38203 San Crist\u00f3bal de La Laguna, Spain"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Eduardo","family":"Magdaleno","sequence":"additional","affiliation":[{"name":"Department of Industrial Engineering, Universidad de La Laguna, 38203 San Crist\u00f3bal de La Laguna, Spain"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Fernando","family":"P\u00e9rez","sequence":"additional","affiliation":[{"name":"Department of Computer Engineering and Systems, Universidad de La Laguna, 38203 San Crist\u00f3bal de La Laguna, Spain"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Cristhian","family":"Garc\u00eda","sequence":"additional","affiliation":[{"name":"Department of Industrial Engineering, Universidad de La Laguna, 38203 San Crist\u00f3bal de La Laguna, Spain"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"1968","published-online":{"date-parts":[[2017,3,28]]},"reference":[{"key":"ref_1","doi-asserted-by":"crossref","first-page":"297","DOI":"10.1090\/S0025-5718-1965-0178586-1","article-title":"An algorithm for machine calculation of complex Fourier series","volume":"19","author":"Cooley","year":"1965","journal-title":"Math. Comput."},{"key":"ref_2","unstructured":"Renganarayana, L., and Rajopadhye, S. (2003, January 21\u201325). An approach to SAR imaging by means of non-uniform FFTs. Proceedings of the IEEE International Geoscience and Remote Sensing Symposium, Toulouse, France."},{"key":"ref_3","doi-asserted-by":"crossref","first-page":"95","DOI":"10.1016\/j.dsp.2014.12.007","article-title":"A fast and memory-efficient Discrete Focal Stack Transform for plenoptic sensors","volume":"38","author":"Magdaleno","year":"2015","journal-title":"Digit. Signal Process."},{"key":"ref_4","first-page":"4089","article-title":"A note on the iterative MRI reconstruction from nonuniform k-space data","volume":"6","author":"Knopp","year":"2007","journal-title":"Int. J. Biomed. Imaging"},{"key":"ref_5","doi-asserted-by":"crossref","first-page":"993","DOI":"10.1109\/TMTT.2004.842475","article-title":"Application of two-dimensional nonuniform fast Fourier transform (2-d NuFFT) technique to analysis of shielded microstrip circuits","volume":"53","author":"Ying","year":"2005","journal-title":"IEEE Trans. Microw. Theory Tech."},{"key":"ref_6","doi-asserted-by":"crossref","first-page":"539","DOI":"10.1190\/1.1444560","article-title":"Nonuniform fast Fourier transform","volume":"64","author":"Duijndam","year":"1999","journal-title":"Geophysics"},{"key":"ref_7","doi-asserted-by":"crossref","first-page":"8669","DOI":"10.3390\/s140508669","article-title":"Super-Resolution in plenoptic cameras using FPGAs","volume":"14","author":"Magdaleno","year":"2014","journal-title":"Sensors"},{"key":"ref_8","doi-asserted-by":"crossref","first-page":"200","DOI":"10.1007\/s10851-014-0540-1","article-title":"Super-resolved Fourier-slice refocusing in plenoptic cameras","volume":"52","author":"Magdaleno","year":"2015","journal-title":"J. Math. Imaging Vis."},{"key":"ref_9","doi-asserted-by":"crossref","first-page":"200","DOI":"10.1109\/TMI.1985.4307723","article-title":"A fast sinc function gridding algorithm for Fourier inversion in computer tomography","volume":"4","year":"1985","journal-title":"IEEE Trans. Med. Imaging"},{"key":"ref_10","first-page":"117","article-title":"Imaging","volume":"Volume 6","author":"Perley","year":"1988","journal-title":"Synthesis Imaging in Radio Astronomy: A Collection of Lectures from the Third NRAO Synthesis Imaging Summer School"},{"key":"ref_11","doi-asserted-by":"crossref","first-page":"596","DOI":"10.1109\/42.414625","article-title":"The Gridding method for image reconstruction by Fourier transformation","volume":"14","author":"Schomberg","year":"1995","journal-title":"IEEE Trans. Med. Imaging"},{"key":"ref_12","doi-asserted-by":"crossref","unstructured":"Benedetto, J., and Ferreira, P. (2001). Modern Sampling Theory: Mathematics and Applications, Birkh\u00e4user.","DOI":"10.1007\/978-1-4612-0143-4"},{"key":"ref_13","doi-asserted-by":"crossref","first-page":"1368","DOI":"10.1137\/0914081","article-title":"Fast Fourier transforms for nonequispaced data","volume":"146","author":"Dutt","year":"1993","journal-title":"SIAM J. Sci. Comput."},{"key":"ref_14","doi-asserted-by":"crossref","first-page":"363","DOI":"10.1006\/acha.1995.1026","article-title":"On the fast Fourier transform of functions with singularities","volume":"2","author":"Beylkin","year":"1995","journal-title":"Appl. Comput. Harmon. Anal."},{"key":"ref_15","doi-asserted-by":"crossref","first-page":"337","DOI":"10.1023\/A:1018901926283","article-title":"A note on fast Fourier transforms for nonequispaced grids","volume":"9","author":"Steidl","year":"1998","journal-title":"Adv. Comput. Math."},{"key":"ref_16","doi-asserted-by":"crossref","first-page":"560","DOI":"10.1109\/TSP.2002.807005","article-title":"Nonuniform fast Fourier transforms using min-max interpolation","volume":"51","author":"Fessler","year":"2003","journal-title":"IEEE Trans. Signal Process."},{"key":"ref_17","doi-asserted-by":"crossref","first-page":"19","DOI":"10.1145\/1555386.1555388","article-title":"Using NFFT 3\u2014A software library for various nonequispaced fast Fourier transforms","volume":"36","author":"Keiner","year":"2009","journal-title":"ACM Trans. Math. Softw."},{"key":"ref_18","unstructured":"Kunis, S., and Potts, D. (2016, November 02). Available online: http:\/\/www.math.uni-luebeck.de\/potts\/nfft\/."},{"key":"ref_19","unstructured":"Fessler, J.A., and Sutton, B.P. (2016, November 02). NUFFT\u2014Nonuniform FFT Toolbox for Matlab. Available online: http:\/\/web.eecs.umich.edu\/~fessler\/code\/index.html."},{"key":"ref_20","unstructured":"Underwood, K., and Hemmert, K. (2004, January 20\u201323). Closing the gap: CPU and FPGA trends in sustainable floating\u2014Point BLAS performance. Proceedings of the 12th Annual IEEE Symposium on Field-Programmable Custom Computing Machines, Napa, CA, USA."},{"key":"ref_21","unstructured":"Altera Corporation (2009). FPGA Coprocessing Evolution: Sustained Performance Approaches Peak Performance, Altera Corporation. Altera White Paper."},{"key":"ref_22","doi-asserted-by":"crossref","unstructured":"Kestur, S., Park, S., Irick, K.M., and Narayanan, V. (2010, January 2\u20134). Accelerating the nonuniform fast fourier transform using FPGAs. Proceedings of the 2010 18th IEEE Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM), Charlotte, NC, USA.","DOI":"10.1109\/FCCM.2010.13"},{"key":"ref_23","doi-asserted-by":"crossref","first-page":"473","DOI":"10.1109\/42.97598","article-title":"Selection of a convolution function for Fourier inversion using gridding","volume":"10","author":"Jackson","year":"1991","journal-title":"IEEE Trans. Med. Imaging"},{"key":"ref_24","unstructured":"Avnet (2016, November 02). Zedboard (Zynq Evaluation and Development) Hardware User\u2019s Guide. Version 2.2. Available online: http:\/\/zedboard.org\/sites\/default\/files\/documentations\/ZedBoard_HW_UG_v2_2.pdf."},{"key":"ref_25","unstructured":"Xilinx (2016, November 02). Zynq-7000 All Programmable SoC. Technical Reference Manual. UG585 (v1.11). Available online: https:\/\/www.xilinx.com\/support\/documentation\/user_guides\/ug585-Zynq-7000-TRM.pdf."},{"key":"ref_26","unstructured":"ARM (2016, November 02). Cortex-A9 MPCore Technical Reference Manual. Revision r4p1. Available online: https:\/\/static.docs.arm.com\/ddi0407\/i\/DDI0407.pdf."},{"key":"ref_27","unstructured":"Xilinx (2016, November 02). Zynq-7000 All Programmable SoC Overview. DS190 (v1.10). Available online: https:\/\/www.xilinx.com\/support\/documentation\/data_sheets\/ds190-Zynq-7000-Overview.pdf."},{"key":"ref_28","unstructured":"Chapman, K. (2016, November 02). PicoBlaze for Spartan-6, Virtex-6, 7-Series, Zynq and UltraScale Devices (KCPSM6). Available online: https:\/\/www.xilinx.com\/ipcenter\/processor_central\/picoblaze\/member\/."},{"key":"ref_29","unstructured":"Xilinx (2016, November 02). LogiCORE IP MicroBlaze Micro Controller System (v1.1). DS865. Available online: https:\/\/www.xilinx.com\/support\/documentation\/sw_manuals\/xilinx14_1\/ds865_microblaze_mcs.pdf."},{"key":"ref_30","unstructured":"Crockett, L.H., Elliot, R.A., Enderwitz, M.A., and Stewart, R.W. (2014). The Zynq Book: Embedded Processing with the ARM Cortex-A9 on the Xilinx Zynq-7000 All Programmable SoC, Strathclyde Academic Media. [1st ed.]."},{"key":"ref_31","unstructured":"Xilinx (2016, November 03). Vivado Design Suite User Guide. Using the Vivado IDE. UG893 (v2016.3). Available online: https:\/\/www.xilinx.com\/support\/documentation\/sw_manuals\/xilinx2016_3\/ug893-vivado-ide.pdf."},{"key":"ref_32","unstructured":"Xilinx (2016, November 03). Xilinx Software Development Kit (SDK) User Guide. UG782 (V2016.2). Available online: https:\/\/www.xilinx.com\/html_docs\/xilinx2016_2\/SDK_Doc\/index.html."},{"key":"ref_33","unstructured":"Xilinx (2016, November 03). SDSoC Environment User Guide. UG1027 (v2016.2). Available online: https:\/\/www.xilinx.com\/support\/documentation\/sw_manuals\/xilinx2016_2\/ug1027-sdsoc-user-guide.pdf."}],"container-title":["Sensors"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/1424-8220\/17\/4\/694\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,11]],"date-time":"2025-10-11T18:31:27Z","timestamp":1760207487000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/1424-8220\/17\/4\/694"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017,3,28]]},"references-count":33,"journal-issue":{"issue":"4","published-online":{"date-parts":[[2017,4]]}},"alternative-id":["s17040694"],"URL":"https:\/\/doi.org\/10.3390\/s17040694","relation":{},"ISSN":["1424-8220"],"issn-type":[{"type":"electronic","value":"1424-8220"}],"subject":[],"published":{"date-parts":[[2017,3,28]]}}}