Has it been serviced regularly, or is it overdue? Have you been using supermarket petrol in it? If so try Shell Optimax or BP Ultimate instead to get it to run cleaner. Sounds as if the catalytic converter is suspect too, although that could just be the heat shield rattling.
ChicksFan
January 2010