Hall-effect sensor fault detection, identification an compensation in brushless DC drives