pyradi
pyradi copied to clipboard
minimum and full well voltage for non-linear sense node gain.
Good Afternoon,
I am a master student at the air force institute of technology and I'm using Pyradi for my thesis project. For my thesis I am mainly focused on modeling CMOS and CCD sensor.
I was looking at the rystare.py code for the sensor model and I noticed that to obtain the full well voltage and the minimum voltage the same equation was used for the linear and non-linear models:
V_signal = (Electrons)*A_SN V-fullWell = (fullWellelectrons)*A_SN V-min = (1)*A_SN
but according to the documentation V_signal for non linear models is obtained using:
V_signal = Vref(1 - e^[-(electrons)*q/k1])
Now if I substitute the full well electrons into the equation I get:
V_fullWell = Vref(1 - e^[-(fullWellelectrons)*q/k1]) V_min = Vref(1 - e^[-(1)*q/k1])
Are this the correct equations? or should I use the ones that are on the code?
'if strh5['rystare/sensortype'].value in ['CMOS']:
if strh5['rystare/sensenode/resetnoise/activate'].value:
# Obtain the matrix for the Sense Node Reset Noise, saved in strh5['rystare/noise/sn_reset/resetnoise']
# sigma is stored in 'rystare/sensenode/ResetKTC-sigma'
# diagram node 15 reset noise stored in 'rystare/noise/sn_reset/resetnoise'
strh5 = sense_node_reset_noise(strh5,seed=strh5['rystare/sensenode/resetnoise/seed'].value)
# diagram node 15b reset voltage with kTC noise stored in 'rystare/noise/sn_reset/vrefresetpluskTC'
strh5['rystare/noise/sn_reset/vrefresetpluskTC'][...] = strh5['rystare/sensenode/vrefreset'].value + \
strh5['rystare/sensenode/resetnoise/factor'].value * strh5['rystare/noise/sn_reset/resetnoise'].value
#voltage on the Full Well
strh5['rystare/sensenode/volt-fullwell'][...] = strh5['rystare/sensenode/gain'].value * strh5['rystare/sensenode/fullwellelectronselection/fullwellelectrons'].value
strh5['rystare/sensenode/volt-min'][...] = strh5['rystare/sensenode/gain'].value * 1.0
else: # CCD
#voltage on the Full Well
strh5['rystare/sensenode/volt-fullwell'][...] = strh5['rystare/sensenode/gain'].value * strh5['rystare/sensenode/fullwellelectronselection/fullwellelectrons'].value
strh5['rystare/sensenode/volt-min'][...] = strh5['rystare/sensenode/gain'].value * 1.0`
Thank you,
Fernando