Design And Performance Analysis Of Energy Harvesting Communications Systems