You need to first check the coverage maps. If the coverage maps say that your address gets a poor signal then you are receiving what O2 are offering and there's not much that you can do other than pay until the end of the contract.
If the coverage maps say that your address has good coverage, then you can start a dispute that could lead to you either being able to cancel the contract or it could lead to O2 improving your signal.
To start a dispute you should write to O2 stating why you feel that you are not receiving a proper service from them and asking them to remedy the problem. If they fail to remedy the problem within a reasonable time, then you can write again stating that you will consider them to be in breach of contract and will cease payments unless the problems are resolved in (say) 28 days. If you do stop payments, then you should be prepared with copies of your letters (and, preferably, posting receipts too) to dispute any charges that O2 and/or a debt collection agency ask you to pay.
It is important that you understand that there would be no breach of contract if the coverage maps offered poor reception when you signed up. Another time it would be worth making sure that any contract is covered by the distance selling regulations and then make up your mind about the service before the cooling off period (often 7 days) finishes.
I am guessing that the problem is a poor signal and is limited to certain areas rather than a problem with the phone itself.