Indeed I missed it, thanks. That explains why the result was so much smoother. It has since been explained to me that the 12b to 16b conversion adds 4 LSBs of data rather than simply padding the MSBs with zeroes. This leads to large swings in the bottom part of the data. I'm still trying to wrap my head around this.