3.2 Digital Implementation
67
is known, it is possible to go back and insert this data at the front at the reserved
address.
The principal drawback of the ALTRO method is that it uses extra memory and
processing time on the computer that does the analysis. The complete packet needs
to first be stored in memory as an array, if the source of the data is a streaming source,
then it needs to be decoded back to front into another array so that it can be processed
from the start of the packet. With the SAMPA method, the data can be processed
directly from the streaming source and so the analysis can be completed faster.
The reason for using a time data to indicate where the start of a cluster appears
instead of using the number of suppressed zeros is mainly due to historical reasons. In
the ALTRO the time data gave the time stamp for the last sample in the cluster. This
was easy to insert at the end of the cluster by keeping a global counter that counted
time cycles from the start of the event. If there is a needed for compressing the zero
suppressed data further with Huffman coding to save space for archival purposes, the
number of suppressed zeroes will be easier to compress since it has a more narrow
distribution, while the time-data would have a more flat distribution.
T00 T01 T02 T03 T04 T05 T06 T07 T08 T09 T10 T11 T12 T13 T14
S00 S01 S02 S03 S04 S05 S06 S07 S08 S09 S10 S11 S12 S13 S14
Threshold
ADC SAMPLES
TIME
SAMPLES
Sum(S02:S06)
Sum(S11:S13)
Cluster data
(20-bit Words)
Data in memory
(not to scale)
T02
05
T11
03
Cluster information
(10-bit Words)
Header
05, T02, Sum(S02:S06),
03, T11, Sum(S11:S13)
Data and information
packed into memory
Fig. 3.18 The SAMPA data format for zero suppression encoding with cluster sum
67
is known, it is possible to go back and insert this data at the front at the reserved
address.
The principal drawback of the ALTRO method is that it uses extra memory and
processing time on the computer that does the analysis. The complete packet needs
to first be stored in memory as an array, if the source of the data is a streaming source,
then it needs to be decoded back to front into another array so that it can be processed
from the start of the packet. With the SAMPA method, the data can be processed
directly from the streaming source and so the analysis can be completed faster.
The reason for using a time data to indicate where the start of a cluster appears
instead of using the number of suppressed zeros is mainly due to historical reasons. In
the ALTRO the time data gave the time stamp for the last sample in the cluster. This
was easy to insert at the end of the cluster by keeping a global counter that counted
time cycles from the start of the event. If there is a needed for compressing the zero
suppressed data further with Huffman coding to save space for archival purposes, the
number of suppressed zeroes will be easier to compress since it has a more narrow
distribution, while the time-data would have a more flat distribution.
T00 T01 T02 T03 T04 T05 T06 T07 T08 T09 T10 T11 T12 T13 T14
S00 S01 S02 S03 S04 S05 S06 S07 S08 S09 S10 S11 S12 S13 S14
Threshold
ADC SAMPLES
TIME
SAMPLES
Sum(S02:S06)
Sum(S11:S13)
Cluster data
(20-bit Words)
Data in memory
(not to scale)
T02
05
T11
03
Cluster information
(10-bit Words)
Header
05, T02, Sum(S02:S06),
03, T11, Sum(S11:S13)
Data and information
packed into memory
Fig. 3.18 The SAMPA data format for zero suppression encoding with cluster sum
