The iPhone suddenly stopped being able to get a location fix using the built-in GPS receiver. It also couldn't connect to a wi-fi network unless it was a metre from the router. Bluetooth also became useless. After some trawling on Apple's forums, it became clear that it was a hardware fault, possibly following a firmware update.
My brother is handy guy, and has steady hands. We used the ifixit website, which showed us step-by-step how to pull the phone apart. The instructions were fantastic, and the photos made the instructions even better! There were a couple of moments when the whole phone was in bits that we thought 'Oh dear, is this ever going to go back together?' but the only difficulty was getting a couple of the cable ends to meet at a securing point so that they could be screwed down.
The whole process took about two hours, and was not a job for the faint-hearted, as the parts are incredibly small and handling them very fiddly. However, having gotten the new antenna installed and re-assembled, I'm very happy to say the phone is as good as new. The wi-fi signal is at full strength at twenty metres, the GPS works perfectly, and the bluetooth is working fine again.
We are indebted to iFixit to giving us the information to be able to do the job ourselves when professional repair places had told me to buy a new phone.
Make sure you buy all the bits necessary. Make sure you have patience, steady hands, good eyesight(!), and thoroughly read the iFixit instructions as you go. Perhaps a few photos of re-installing could have been useful, as going backwards through the instructions was tricky.