Commit graph

3 commits

Author SHA1 Message Date
Stephan I. Böttcher
4051015d0a step L3: fix pedestal roundig errors
Calibration of ADC readings `HIT` to energy `E` works like this
```
E = MULI HIT * gain
E = ADDI HIT + pedl
```
The `pedl` was calculated as
```
pedl = -$floor(p*gain)
```
where `p` is the ADC reading corresponding to E = 0 keV.
Since `p` is a large magnitude negative number, the limited precision
of the `MULI` instruction parameter causes significant errors in `pedl`.

This patch aims to fis those errors. The new formula for `pedl` is
```
pedl = $floor(-p*$MRND(gain))
```
i.e., we use the same value for `gain` as the `MULI` instruction.  This
is now in place for any automatic calibration calculations in
`step_temp_calib.l3`.

For the FS in space we use a fixed precomputed calibration.  This is based on
the TVAC FS calibration for T=-36°C, with some adjustments for the changed
`acq_time=6`.  The TVAC calib has been saved earlier to
`step_fs_calib-36.calib` with full precision, i.e., without taking `$MRND()`
into account.  The awk script `step_fs_calib-36.awk` reverts those
calculations, applies the adjustments, and outputs the adjustes numbers.  Since
awk does not have access to `$MRND()`, the script has been changed to output
formulas for `pedl`, including `$MRND()`,
2021-09-22 17:19:03 +02:00
Stephan I. Böttcher
ed3aaac844 step/l3 gold: use -DM_FS 2021-09-22 16:10:22 +02:00
Sebastian Boden
8e81b26395 ... done
git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@6675 bc5caf13-1734-44f8-af43-603852e9ee25
2018-03-08 10:05:06 +00:00