Noise types in CMOS circuits: Thermal, Flicker and Shot Noise explained