That sounds about right, if you are running a 1920x1080 resolution. Try turning it to AUTO and see how it does. Also turn on VSYNC and make sure "AntiAliasing Deffered" is disabled. (this will kill your frames)
I had a GTX580 OCed pretty good and it ran all High settings except for Ultra detail. So you are in the right ball park since the 7950 is somewhere around the same performance. Your CPU won't give you any benefit in BF3 since even a dual core Pentium would run the same as an i7. Also, 16Gb of ram won't do much.
Sometimes certain GPU's just struggle with certain effects. My GPU for example seems to hate high quality shadows in some games. It's fine in BFBC2/Skyrim but lags to death in Age of Empires 3/Gothic 3 unless I turn the shadow quality down a bit. Try updating your drivers.
The i7 would be about 1-5% better than an i5, a lot better than a dual core Pentium.
I would agree with the driver update as well. I've had some ATI.. AMD I mean, video cards in the past and they were always funny with drivers. I still say your performance is right where it should be. Turn on VSYNC and try to maintain 60FPS. That is when BF3 looks the best.