Booth Id:
SOFT058
Category:
Systems Software
Year:
2017
Finalist Names:
Pope, Richard
Abstract:
In order to create a program to analyse EEG wave data with optimal performance, both in speed and accuracy, several wave separation algorithms were tested. An Arduino was programmed to generate two sine waves, and then add them together along with pre-generated random noise. The voltage of the sine signals and the noise were varied, to simulate situations with poor amplification high noise levels, high amplification and low noise levels. The ransom noise was the same for each trial, to ensure that each trial used exactly the same signal for each algorithm. Each algorithm was tested with three different sets of random noise at each amplification and noise level. The output waves from the algorithms were then compared to the component waves used to make up the compound wave the algorithms analysed. The difference was used to calculate the accuracy of each algorithm in each situation. In each situation, one varying algorithm constantly performed better than others, while the remaining algorithms had similar results. The computation time was noted to be higher from more complex algorithms. Using this information, a program was written to detect the amount of noise in the signal, then use the best algorithm to analyse it, to minimise delays caused by computation time, and ensure accurate results. By dynamically changing algorithms the program was able to achieve the best performance, using only computation-heavy algorithm when needed. Overall, the dynamically changing algorithm program out performed each algorithm when used separately.