i think if you get rattling at low RPM its something loose in your engine bay or gearbox/clutch.
like your car is old and it cant handle low revs well?

rattling at high rpm is more like engine pinging which is what me and OP are experiencing..

@OP : have u tried high octane? did it help??
also how is your oil looking? charred black or golden?

im gonna do an oil change and spark plug replacement to see if that will help my engine ping go away!
i think the previous owner put some real bad engine oil in mine, turned from golden to black in 2 months lol..
im guessing they (my previous car owner) did a cheap service and may have put in some crappy no frills spark plugs and so on =/