Plotting Spectrum Analysis
Generic FFTs use complex-valued input arrays and provide complex-valued output arrays, so they can differentiate positive and negative frequencies for complex-valued signals.   For real-valued signals, which is what it sounds like your case may be, this means that the positive and negative frequencies are mirrors of each other, so the spike at 16Hz will be mirrored by a spike at -16Hz.  Matlab's FFT function output array has the positive frequencies first followed by the negative frequencies, so one would expect two spikes:  the first at 16Hz, and the second wrapped to -16Hz which will be almost at the end of the array.

fftshift should have "unfolded" the output array so that the negative frequencies plot on the left, with DC (0Hz) in the center, and positive frequencies on the right.   You should still see two spikes, one at -16 Hz and one at +16Hz, symmetric about zero.