This document provides a survey of techniques for classifying power quality disturbances in a power system. It discusses various power quality issues and types of disturbances such as transients, interruptions, sags, swells, waveform distortions, and frequency variations. It then describes several signal processing techniques used for feature extraction, including Fourier transform, short-time Fourier transform, S-transform, Hilbert-Huang transform, Kalman filter, and wavelet transform. Finally, it reviews various classification methods such as artificial neural networks, fuzzy expert systems, adaptive neuro-fuzzy systems, genetic algorithms, and support vector machines that have been applied to classify power quality disturbances.