Joint rate and power control algorithms for wireless networks