Analysis and design of energy harvesting wireless communication systems