.20mb seems awfully low!
You may also want to give the Sam Knows checker a test - click map for the distance to your exchange and BT ADSL section for speed information.
I have seen people who live far away from their exchange and rated for 6MB but get around 4MB.
Personally, I was rated at 18MB and get 14...
For you to get rated that high but receive that low would say to be that you have other problems with your line - Ring wire problems, bad extensions, very old cable or a number of other things.
If you are using a standard BT Line, start by dialing 17070 (Free) and select option 2, this is the "quiet line" test. It does no sound. If you hear any crackling, popping or any other weird noises, it is something wrong with your line as this should be perfectly quiet.
Just to make sure it is not an error in the lookup database that says you should get 20MB - How far away are you... if it is less than 1KM, don't worry?
Also your micro filter may be faulty, make sure it is working and/or that EVERY other device that plugs in to the telephone socket (Faxs, answering phones, games consoles etc.) has a micro filter.
Lastly, If you did hear anything on the above tests, it may be worth unplugging everything other than the modem /router and seeing if your speed improves. Also, make sure you are plugged in to the master socket as this can take away a number of problems.
On the above if you have a new-ish line, see if you can unscrew the panel and connect to the test socket as this should temporarily disconnect any extensions (as they should be wired in to the front part)

If you are still getting slow speeds and live within 2.5ishKM of the exchange, I think the problem is with BT and you need to call them out - should be free. I get my speed living around 2KM from the exchange.
I hope this was helpful, but still I have to say it - BT are one of the worst ISP's out there and I would not recommend them to anyone - but I will still help anyone with problems!