An Adaptive Notch Filter For Noise Reduction and Signal Decomposition