I would try rooting and instlaling CWM and then putting a custom rom on. if it still does it then you must have some sort of hardware issue, but I don't think you do. it' sounds like software to me.
i have downloaded everything to root my phone im just a lil hesitant on doing it cuz i dont wanna as alot of people say brick my phone