It's worth getting back into a spot with poor reception and trying a direct connection with the roof antenna removed and connected directly to the head unit. If you're able to fit new stuff yourself, you should be competent to try this.
It will give you a good indication of whether the problem is low signal reception or poor cable and connection integrity, thereby potentially saving you the cost of purchasing anything at all.
You might just find some connection or cable between antenna and unit needs improving, perhaps just by cleaning and reseating.