Abstract
Nowadays, signal processing algorithms are simulated generally using MATLAB. Their hardware implementation requires either application-specific IC (ASICs) or system on chip (SoCs). But there are severe constraints on producing such chips. Therefore, hardware implementation on graphical processing unit (GPUs) or field programmable gate array (FPGA) can provide the answer to the problem. Signal processing involves mathematical calculations in the form of algorithms, which are required to be implemented finally as stand-alone hardware to be used as a system. Recently, GPUs have increasingly being used for hardware implementation of signal processing algorithms. This is because they can be programmed easily with the help of open-source coding languages like Python, CUDA, or OpenCL providing cost benefits in terms of lower costs and generic programming. Also, they possess, in general, a greater number of cores as compared to ASICs or SoCs making GPUs multi-application platforms that can solve the problem of the lower yield factor of the ASICs. They are also better than ASICs and SoCs in terms of performance since it has a dedicated processor to handle 2D and 3D graphics, which comprises of polygons and polygonal transformations involving computationally dearer multiple floating-point operations. Hence, more complex signal analysis can be performed using them. Additionally, the massively parallel architecture of GPUs further enhances their high computing performance. There exist many GPU-accelerated applications that provide an easy way to high-performance computing (HPC). In light of the above discussion, this chapter intends to inform and help readers know properly about the hardware implementations of different signal processing algorithms, by showcasing appropriate hardware platforms and different open-source coding languages along with their implementation methodologies. Therefore, they will be able to appreciate the difference between hardware implementations using ASICs/SoCs or GPUs/FPGAs. As GPUs or FPGAs take a faster time-to-market approach, as no layout, masks, or other steps are required for the manufacturing, they possess a simpler design cycle and the most important, the feature of field reprogram ability.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Andrade, H., & Crnkovic, I. (2018). A review on software architectures for heterogeneous platforms. In 2018 25th Asia-Pacific Software Engineering Conference (APSEC), Nara, Japan, pp. 209–218.
Apolinário, I. F., & Diniz, P. S. R. (2014). Academic Press Library in Signal Processing. Program of Electrical Engineering and the Department of Electronics and Computer Engineering, COPPE/Poli, Universidade Federal do Rio de Janeiro, Brazil, Vol. 1, pp. 3–28.
Arrow Electronics guides. https://www.arrow.com/.
Berten Digital Signal Processing, White Paper. https://www.bertendsp.com/.
Cardoso, J. M. P., Coutinho, J. G. F., & Diniz, P. C. (2017). Embedded Computing for High Performance. Morgan Kaufmann.
Crespo, A. C., Dominguez, J. M., Barreiro, A., Gómez-Gesteira, M., & Rogers, B. D. (2011). GPUs, a new tool of acceleration in CFD: Efficiency and reliability on smoothed particle hydrodynamics methods. Journal of PLOS ONE, 6(6).
Dubey, S., Singh, P., Yadav, P., & Singh, K. K. (2020). Household waste management system using IoT and machine learning. Procedia Computer Science, 167, 1950–1959.
Grout, I. (2008). Digital Systems Design with FPGAs and CPLDs. Newnes Publication, pp. 177–216.
Han, M., Song, J. M., Yang, H. G., & Kim, Y. (2018). Implementation of multi-channel FM repeater using digital signal processing algorithm in FPGA. In International SoC Design Conference (ISOCC).
Harris, S. L., & Harris, D. M. (2016). Digital design and computer architecture. ARM Edition, 172–237.
Kiran, M., War, K. M., Kuan, L. M., Meng, L. K., & Kin, L. W. (2008). Implementing image processing algorithms using ‘Hardware in the loop’ approach for Xilinx FPGA. In 2008 International Conference on Electronic Design, Penang, pp. 1–6.
Li, G., Chang, Q., Xi, C., & Ma, X. (2020). Acquisition design and implement of Beidou B3I signal based on GPU. In IOP Conference Series: Materials Science and Engineering. (Vol. 715, no. 1).
Mohanty, S. P. (2009) GPU-CPU multi-core for real-time signal processing. In 2009 Digest of Technical Papers International Conference on Consumer Electronics, Las Vegas, NV, pp. 1–2.
Onat, E. (2018). FPGA implementation of target detection algorithm at real-time video signal processing using harris corner detector filter. In 26th Signal Processing and Communications Applications Conference (SIU).
Raut, N., & Gokhale, A. (2013). FPGA implementation for image processing algorithms using xilinx system generator. IOSR Journal of VLSI and Signal Processing (IOSR-JVSP).
Rissa, E., Uusikartano, R., & Niittylahti, J. (2002). Adaptive FIR filter architectures for run‐time reconfigurable FPGAs. In Proceedings, IEEE International Conference on Field‐Programmable Technology.
Rodrigues, J., Kamuf, M., Hedberg, H., & Owall, V. (2005). A manual on ASIC front to back end design flow. 75–76.
Safari, A., & Mekhilef, S. (2011). Simulation and hardware implementation of incremental conductance MPPT with direct control method using Cuk converter. IEEE Transactions on Industrial Electronics, 58(4), 1154–1161.
Sehgal, A., Agrawal, R., Bhardwaj, R., & Singh, K. K. (2020). Reliability analysis of wireless link for IoT applications under shadow-fading conditions. Procedia Computer Science, 167, 1515–1523.
Setiawan, E., & Adiono, T. (2018). Implementation of systolic co-processor for deep neural network inference based on SoC. In International SoC Design Conference (ISOCC).
Shi, L., Gao, X., Yang, X., Chen, Z., & Zheng, M. (2018). Algorithm optimization and hardware implementation for merge mode in HEVC. Journal of Real-Time Image Processing.
Siddappa, C., & Wickert, M. (2019). CAF implementation on FPGA using python tools. In Proceedings of the 18th Python in Science Conference (SCIPY 2019).
Singh, A. K., Firoz, N., Tripathi, A., Singh, K. K., Choudhary, P., & Vashist, P. C. (2020a). Internet of Things: From hype to reality. An Industrial IoT Approach for Pharmaceutical Industry Growth, 2, 191.
Srivastava, J. B., & Pandey, R. K. (2013, June). Implementation of digital signal processing algorithm in general purpose graphics processing Unit (GPGPU). International Journal of Innovative Research in Computer and Communication Engineering 1(4).
Sundfeld, D., Teodoro, G., Gorodkin, J., Melo, A. C. M. (2020). Using GPU to accelerate the pairwise structural RNA alignment with base-pair probabilities. Special Issue in Parallel, Distributed, and Network‐Based Processing.
Woods, R., & Yi, Y. (2017). FPGA Based Implementations of Signal Processing Systems. Wiley.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this chapter
Cite this chapter
Srivastava, N.R., Mittal, V. (2021). Applications of GPUs for Signal Processing Algorithms: A Case Study on Design Choices for Cyber-Physical Systems. In: Singh, K.K., Nayyar, A., Tanwar, S., Abouhawwash, M. (eds) Emergence of Cyber Physical System and IoT in Smart Automation and Robotics. Advances in Science, Technology & Innovation. Springer, Cham. https://doi.org/10.1007/978-3-030-66222-6_10
Download citation
DOI: https://doi.org/10.1007/978-3-030-66222-6_10
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-66221-9
Online ISBN: 978-3-030-66222-6
eBook Packages: Earth and Environmental ScienceEarth and Environmental Science (R0)