It sounds like you want a kind of interpolation, because "smoothing" usually trims the values of the extreme points of a curve, whereas interpolation fits those points exactly (as per your requirement that "the peak should be at same point").
Because I do not have your data here is a simple example using pchip.There are other 1D interpolation functions to choose from, so you should take a look and pick one that best suits your needs.
>> Y = [1,1,2,1,1];
>> X = [0,1,3,4,5];
>> Xi = 0:0.1:5;
>> Yi = pchip(X,Y,Xi);
>> plot(Xi,Yi,X,Y)