Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Biasstep rebias #362

Merged
merged 31 commits into from
Sep 3, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
bc1a609
first version biasstep rebiading
Jan 12, 2023
a3a1176
first version biasstep rebiading
Jan 12, 2023
f87db7a
Remove unrelated local changes
Jan 17, 2023
3e3eefc
fix R_n, R_n_IV yet again
Jan 17, 2023
d27467b
update biasstep_rebias script
yuhanwyhan May 3, 2023
14bbfd6
update biasstep_rebias
yuhanwyhan May 3, 2023
42c66fd
update biasstep_rebias
yuhanwyhan May 4, 2023
dde5a01
Update bias_dets.py
yuhanwyhan May 4, 2023
2dd275d
Update bias_dets.py
yuhanwyhan May 4, 2023
043eea5
Update bias_dets.py
yuhanwyhan Jun 19, 2023
4122222
Update bias_dets.py
yuhanwyhan Jun 19, 2023
858bcec
Update bias_dets.py
yuhanwyhan Jun 19, 2023
e480145
Update bias_dets.py
yuhanwyhan Jun 20, 2023
db0b073
Update bias_dets.py
yuhanwyhan Jun 20, 2023
d06ad93
Update bias_dets.py
yuhanwyhan Jun 20, 2023
77df01c
Update bias_dets.py
yuhanwyhan Jun 20, 2023
ce45d67
Update bias_dets.py
yuhanwyhan Jun 20, 2023
56ee133
Update bias_dets.py
yuhanwyhan Jun 20, 2023
aefe183
Update bias_dets.py
yuhanwyhan Jun 20, 2023
05fea5d
Update bias_dets.py
yuhanwyhan Jun 20, 2023
87fbf18
Update bias_dets.py
yuhanwyhan Jun 20, 2023
e651ce4
Update bias_dets.py
yuhanwyhan Jun 20, 2023
92e29a8
Update bias_dets.py
yuhanwyhan Jun 20, 2023
ef1f259
Update det_config.py for adding in 'testbed_100mK_bias_voltage' that …
yuhanwyhan Jun 20, 2023
2d3b2fb
Update det_config.py
yuhanwyhan Jun 20, 2023
076db68
Update det_config.py
yuhanwyhan Jun 20, 2023
6dd0517
Update det_config.py
yuhanwyhan Jun 20, 2023
01fd395
Update bias_dets.py
yuhanwyhan Jun 20, 2023
1327af0
Makes biasstep_rebias an action, and simple docs page
jlashner Sep 2, 2023
b2b6101
Change g3_tag for bias_step functions
jlashner Sep 2, 2023
7e25878
fix remaining hardcoded g3_tag
jlashner Sep 3, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ Contents

operations/setup
operations/bias_steps
operations/biasstep_rebias
operations/iv
operations/squid_curves
operations/complex_impedance
48 changes: 48 additions & 0 deletions docs/operations/biasstep_rebias.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
Bias Step Rebias
================================

For various reasons, it may be beneficial to bias or rebias detectors into their
transition using bias-step functions instead of IVs, since
- bias steps can be much faster than IVs
- bias steps don't require overbiasing

Yuhan Wang has developed the bias-step rebiasing function to find a suitable
bias-point using just bias steps, which is described in greater detail in `his
spie proceeding <https://arxiv.org/abs/2107.13504>`_.

The general control flow is as follows:

1. Take initial bias steps bsa_0
will rebias if there are any bias lines where R0 is all nan
If >10% of dets are have Rfrac < 0.1, marks bg as overbias_needed
If >50% of dets have Rfrac > 0.9, marks bg as normal (and drop from normal needed)
2. Overbias overbias_needed bgs
runs overbias_dets on bgs that need overbiasing, and waits
For biaslines that have been overbiased, set the DC bias voltage to testbed_100mK_bias_voltage
Run bias steps
(no bias retry here)

Check warning on line 23 in docs/operations/biasstep_rebias.rst

View workflow job for this annotation

GitHub Actions / test

Unexpected indentation.
Check normal condition (above) and add updated bias lines to bg_detectors_normal array if they meet it

Check warning on line 24 in docs/operations/biasstep_rebias.rst

View workflow job for this annotation

GitHub Actions / test

Block quote ends without a blank line; unexpected unindent.
3. Drop from normal
For each normal bg, step voltage by 0.5(V_norm - V_SC) determined from IV
Run bias steps
update bsa_0 so it's always the last bias step ran

Check warning on line 28 in docs/operations/biasstep_rebias.rst

View workflow job for this annotation

GitHub Actions / test

Unexpected indentation.
These bias steps don't have a retry
Check normal condition. If any bgs are still normal, repeat.

Check warning on line 30 in docs/operations/biasstep_rebias.rst

View workflow job for this annotation

GitHub Actions / test

Block quote ends without a blank line; unexpected unindent.
After exiting loop, the resulting DC biases are initial_dc_biases
4. Find new bjas voltage and take bias steps:
vspread is diff between median normal and median SC voltages based on IV
New bias voltage is init +/- 0.15*vspread where +/- is determined by
whether or not the median Rfrac is > or < than 0.5
Take bias steps (bsa_1) and retry if needed
5. Determine new bias point for each channel:
v_estimate = (v0 (target - Rfrac_1) + v1 (Rfrac_0 - target)) / (Rfrac_0 - Rfrac_1)
vnew = median(v_estimate[bg]), or if all are nan, vnew = (v1 - v0) / 2
6. Set bias to vnew and retake bias steps bsa_2 (with retry if needed)
BG is successful if abs(Rfrac - target) < 0.05
7. Fine tuning unsuccessful bias groups
Step 0.15 vspread in the appropriate direction
Take bias steps (with retry)
v_estimate2 = (v0 (target - Rfrac_1) + v1 (Rfrac_0 - target)) / (Rfrac_0 - Rfrac_1)
with v0= prev estimate and v1 = prev estimate + delta

Check warning on line 46 in docs/operations/biasstep_rebias.rst

View workflow job for this annotation

GitHub Actions / test

Unexpected indentation.
Apply v_estimate2, retake bias steps.

Check warning on line 47 in docs/operations/biasstep_rebias.rst

View workflow job for this annotation

GitHub Actions / test

Block quote ends without a blank line; unexpected unindent.
8. Return final bias step and bias voltages
8 changes: 6 additions & 2 deletions sodetlib/det_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,10 @@ def odict_rep(dumper, data):
"res_fit_file": None,

# Overbiasing
'overbias_wait': 2.0
'overbias_wait': 2.0,

# overbias wait time
'overbias_sleep_time_sec': 300
}
band_defaults = {
# General
Expand All @@ -99,7 +102,8 @@ def odict_rep(dumper, data):
}
bg_defaults = {
'overbias_voltage': 19.9,
'cool_voltage': 10.0
'cool_voltage': 10.0,
'testbed_100mK_bias_voltage': 10.0
}


Expand Down
Loading
Loading