Motor fault diagnosis using negative selection algorithm