Predictive Control of Brushless DC Motor Drive Providing Minimum Joule Losses and Torque Ripple Free Commutation