Understanding sine wave generation in Python with linspace
Change the following line :


  time1 = np.linspace(0, capture_size1 * timestep1, capture_size1)


To the following:


  time1 = np.linspace(0, capture_size1 * timestep1, capture_size1, endpoint=false)


You will see correct results. Your original time instances is not what you intend because Python will create 2048 equally spaced point between 0 and 2048*Ts. What you want is equally spaced 2048 points starting from 0 and 160usec apart. 

You can also use the following line if you dont want to use 'endpoint=false' :


  time1 = np.linspace(0, (capture_size1-1) * timestep1, capture_size1)


At your current sampling period of $160\mu sec$, it will mean that you are taking 1 sample of the sinusoidal every 2048 periods. There will be aliasing, but you are not bothered about that because you want to see fixed amplitude across discrete time. Basically, you want aliasing to happen.