Skip to content

minimum and full well voltage for non-linear sense node gain. #17

@fernandofdz94

Description

@fernandofdz94

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions