The field of audio signal processing has undergone a major development in recent years. Both the consumer and professional marketplaces continue to show growth in audio applications such as immersive audio schemes that offer optimal listening experience, intelligent noise reduction in cars or improvements in audio teleconferencing or hearing aids. The development of these applications has a common interest in increasing or improving the number of discrete audio channels, the quality of the audio or the sophistication of the algorithms. This often gives rise to problems of high computational cost, even when using common signal processing algorithms, mainly due to the application of these algorithms to multiple signals with real-time requirements. The field of High Performance Computing (HPC) based on low cost hardware elements is the bridge needed between the computing problems and the real multimedia signals and systems that lead to user¿s applications. In this sense, the present thesis goes a step further in the development of these systems by using the computational power of General Purpose Graphics Processing Units (GPGPUs) to exploit the inherent parallelism of signal processing for multichannel audio applications. The increase of the computational capacity of the processing devices has been historically linked to the number of transistors in a chip. However, nowadays the improvements in the computational capacity are mainly given by increasing the number of processing units and using parallel processing. The Graphics Processing Units (GPUs), which have now thousands of computing cores, are a representative example. The GPUs were traditionally used to graphic or image processing, but new releases in the GPU programming environments such as CUDA have allowed the use of GPUS for general processing applications. Hence, the use of GPUs is being extended to a wide variety of intensive-computation applications among which audio processing is included. However, the data transactions between the CPU and the GPU and viceversa have questioned the viability of the use of GPUs for audio applications in which real-time interaction between microphones and loudspeakers is required. This is the case of the adaptive filtering applications, where an efficient use of parallel computation in not straightforward. For these reasons, up to the beginning of this thesis, very few publications had dealt with the GPU implementation of real-time acoustic applications based on adaptive filtering. Therefore, this thesis aims to demonstrate that GPUs are totally valid tools to carry out audio applications based on adaptive filtering that require high computational resources. To this end, different adaptive applications in the field of audio processing are studied and performed using GPUs. This manuscript also analyzes and solves possible limitations in each GPU-based implementation both from the acoustic point of view as from the computational point of view. One of the most used and simplest audio applications based on adaptive filtering is the adaptive channel identification. The adaptive channel identification system has been first designed and implemented on a GPU, and then, used in other adaptive applications to identify acoustic plants. Concretely, to this end, the Least Mean Square (LMS) algorithm has been implemented in the frequency domain. The size of both the input-data buffers and the adaptive filters, and also, how they can be managed in order to successfully exploit the GPU resources, is an important key in the design process. The goal is to propose a GPU implementation that can be easily adapted to any acoustic scenario, while freeing up CPU resources for other tasks. This application sets the bases for the real-time implementation of multichannel adaptive applications using a GPU as the main processor. From the knowledge acquired in the channel identification application, two more audio applications based on adaptive filtering have been developed using the GPU as the main processor. First a multichannel Adaptive Equalization (AE) system has been developed. The prototype is based on the filtered-x LMS algorithm. Details of the parallelization of the algorithm have been analyzed. The experimental results have validated the real-time performance of the AE GPU implementation. Moreover, the application performance has also been analyzed from a computational point of view. The second application is a multichannel Active Noise Control (ANC) system. The ANC system has been implemented using two different algorithms: the LMS and the Normalized LMS with Orthogonal Correction Factors (NLMS-OCF). The experimental results have compared the performance of both multichannel ANC GPU implementations from different points of view: attenuation levels, convergence speed and computational aspects. Results of both applications have shown the usefulness of GPUs to develop versatile, scalable and low cost multichannel systems based on adaptive filtering. Finally, this manuscript also introduces how to implement an ANC system for networks with distributed processing. It also sets the bases for an implementation of distributed ANC systems using multi-GPU programming, where each GPU performs the processing of each node of the network.
© 2001-2024 Fundación Dialnet · Todos los derechos reservados