Applications of signal processing techniques and artificial neural networks for power quality disturbance analysis