It is probably caused by the connection of the aerial to the TV. Worst case scenario, the aerial needs adjusting or replacing.
Best case scenario, try jiggling the cable a bit. On my freeview, I get all channels OK (and on a 40 year old aerial) except channel 5 and 5 US. That said, I have found by making sure the aerial cable doesn't touch other cables and by placing it a certain way behind the TV, I get a perfect picture.
Or try a cheap signal booster from Woolies or a DIY store.