chirp signal - Frequency spectrum characteristics
Also do not neglect the fact that you are using a discretely sampled signal. You can create a 'cleaner' chirp by explicitly modifying the magnitude such that you have a perfectly clean magnitude and then convert it into the continuous signal using ifft. If you do fft of a signal generated with trig functions you will inevitably end up with artifacts due to the simple fact that your values are discretized and so may not fit exactly into the same fft bin when you transform them.