Digital signalbehandling i realtid; en jämförelse mellan CPU och GPU : Brusfiltrering av ljudsignal med hjälp av FFT

Detta är en Kandidat-uppsats från KTH/Skolan för elektroteknik och datavetenskap (EECS)

Författare: Ludwig Emilsson; [2020]

Nyckelord: ;

Sammanfattning: Over the past 40 years, music production has evolved from being an analog process to a digital one. Analog instruments and filtering of signals have been complimented and partially replaced by digital instruments and filters in the form of software. In order for software to be used in music production, it must be able to manipulate a signal in real time. This means that the delay from the time the data is loaded until it has been processed and reproduced must not take more than a certain specified time. For real-time applications in sound processing, this means that the delay must not be longer than 10 ms. A larger delay is perceived as delayed by an experienced listener and makes it difficult to use the application. A common component in software used to process audio signals is the Fourier transform, which is a transform that, depending on the implementation, can be efficiently executed on the computer’s graphics processor (GPU). Despite this, many digital instruments and filters that use Fourier transform are implemented to be executed on the system’s main processor (CPU). In order to perform calculations on a GPU, data must first be sent from the main memory to the graphics memory, which takes time. In this report, I examine whether it is possible, with real-time execution requirements, to perform data transfer from main memory to graphics memory, process data and return the result to the main memory. The data transferred from the main memory to the video memory is a periodic signal that is populated with normally distributed data points. The periodic function is a sine tone and the normally distributed data points that are added to it are perceived as noise. The goal is to filter out the original sine tone from the noise. The results show that it is possible to perform filtering of a signal on a system’s GPU with respect to real-time execution by using Matlab’s library routines for FFT, pointwise multiplication and IFFT. Shorter ex- ecution time can be achieved by implementing optimized algorithms to transfer data from the system’s main memory to graphics memory. 

  HÄR KAN DU HÄMTA UPPSATSEN I FULLTEXT. (följ länken till nästa sida)