my question is quite straight-forward to be grasped and handled.
I have an 1D array, F_11 representing a target power spectrum. It is sketched in the following figure

Then, I start generating a time series u which embodies the properties of F_11, as follows
nn = complex(normrnd(0,1,[1,1000]),normrnd(0,1,[1,1000]));
u = abs(fftn(fftshift(F_11.*nn)));
Finally, just to check that u does actually reproduce a spectrum as F_11, I try going backwards as follows
ps = abs(ifftn(ifftshift(u)));
But, when plotting ps, it does not exactly match F_11

In the high frequency area, ps drifts upwards, which is quite weird.
Would you mind to sketch the flaw in my procedure?
