Engine noise is usually caused by a bad ground or a feed back loop from poor quality RCAs. Most of the time it happens on the regular speakers not on the subs because the frequency of the loop should be filtered out by the crossover in the amp. Make sure your freq settings are tuned properly as sending too high of a frequency to the sub will eventually damage them.
Also by chance is there an aftermarket radio or did you run the signal from the speaker wire? Sometimes durring an install if you power up the radio or amp before its been properly grounded and the RCAs are plugged in it can damage the radio (pioneers especially) there is no fix unless you have the manufacturer fix it.
I would try to isolate the noise like this
1. Check your ground to the amp, make sure its secure, the paint has been sanded to the metal where it contacts and its free of rust. If your ground lead is very long trim it down to as short as you feel comfortable. Then check your power wires, make sure they are not loose at the battery, the fuse or at the amp.
2. Check your RCAs if you have another set laying around great, if not you may need to buy or borrow some. Also did you run your RCAs with the power wire? If so a poorly shielded RCA will pick up noise, you'll need to relocate it away from other powered wires or just replace it.
3 if you still have noise try to equalize the grounds by running a wire from the radio ground wire to the amp ground wire, this will eliminate the feedback loop created by different ground locations having different resistances (old installers trick that works sometimes)
4. Check your spark plug wires, sometime bad plug wires can throw off some funky things with radios.