An informal theoretical analysis may be helpful to evaluate the maximum lossless compression efficiency expected from LFI and to discuss the behaviour of the different compressors. For further details we forward the reader to Nelson & Gailly (1996).
Data compression is based on the partition of a stream of
bits into short chunks, represented by strings of bits of
fixed length
,
and to code each string of bits
into
another string
whose length
is variable and, in
principle, shorter than
.
In this scheme, when the string
of bits represents a message, the possible combinations of bits in
represents the symbols by which the message
is encoded. From this description the compression operation is
equivalent to map the input string set
into an
output string set
through a compressing
function
. A compression algorithm is called lossless when it is possible to reverse the compression process
reconstructing the
string from
through a
decompression
algorithm. So the condition for a compression
programs to be lossless is that the related
is a
one-to-one application of
into
.
In
this case the decompressing algorithm is the inverse
function of
.
Of course in the general case it is not
possible to have at the same time lossless compression and
for any string in the input set. The problem is solved
assuming that the discrete distribution
of strings
belonging to the input stream of bits is not flat but that a most
probable string exists. So a good
will assign the
shortest
to the most probable
and, the
least probable the input string, the longest the output string. In
the worst case output strings longer than the input string
will be assigned to those strings of
which are least
probable. With this statistical tuning of the compression function
the final length of the compressed stream will be shorter than the
original length, the averaged length of
being:
![]() |
(7) |
Several factors affect the efficiency of a given compressor, in particular
best performances are obtained when the compression algorithm is tuned
on the specific distribution of symbols. Since the symbol distribution
depends on
and on the specific input stream,
an ideal general-purpose self-adapting compressor should be able
to perform the following operations: i) acquire the full bit
stream (in the hypothesis it has a finite length) and divide it in
chunks of length
,
ii) perform a frequency analysis of the
various symbols, iii) create an optimized coding table which
associates to each
a specific
,
iv) perform the compression according to the optimized coding
table, v) send the coding table to the uncompressing program
together with the compressed bit stream. The uncompressing program
will restore the original bit stream using the associated
optimized coding table.
In practice in most cases the chunks size
is hardwired into
the compressing code (typically
or 16 bits), also the
fine tuning of the coding table for each specific bit stream is too
expensive in terms of computer resources to be performed in this
way, and the same holds for coding table transmission. So
there are compressors which work as if the coding table or,
equivalently, the compression function is fixed. In this way the
bit stream may be compressed chunk by chunk by the compressing
algorithm which will act as a filter. Other compressors perform the
statistical tuning on a small set of chunks taken at the beginning
of the stream, and then apply the same coding table to the full
input stream. In this case the compression efficiency will be
sensitive to the presence of correlations between difference parts
of the input stream. In this respect self-adaptive codes may be
more effective than non-adaptive ones, if their adapting strategy
is sensitive to the kind of correlations in the input
stream.
On the other hand other solutions may be adopted to obtain a good compromise between computer resources and compression optimization. For example all of the previous compressors are called static since the coding table is fixed in one way or the other at the beginning of the compression process and then used all over the input stream. Another big class of self-adaptive codes is represented by dynamical self-adaptive compressors, which gain the statistical knowledge about the signal as the compression proceeds changing time by time the coding table. Of course these codes compress worse at the beginning and better at the end of the data stream, provided its statistical properties are stationary. They are also able to self-adapt to remarkable changes in the characteristics of the input stream, but only if these changes may be sensed by the adapting code. Otherwise the compressor will behave worse than a well-tuned static compressor. Moreover, if the signal changes frequently, it may occur that the advantage of the dynamical self adaptability is compensated by the number of messages added to the output stream to inform the decompressing algorithm of the changes occurred to the coding table. Last but not least, if some error occurs during the transmission of the compressed stream and the messages about changes in the coding table are lost, it will be impossible to correctly restore it at the receiving station. This problem may be less severe for a static compressor since, as an example, it is possible to split the output stream in packets putting stop codes and storing the coding table on-board until a confirmation message from the receiving station is sent back to confirm the correct transmission.
It is then clear that each specific compression algorithm is statistically optimized for a given kind of input stream with its own statistical properties. So to obtain an optimized compressor for LFI it is important to properly characterize the statistics of the signal to be compressed and to test different existing compressors in order to map the behaviour of different compression schemes using realistically simulated signals and, as soon as possible, the true signals produced by the LFI electrical model.
In order to evaluate the performances of different compression
scheme we considered the Compression Rate
defined as:
The measure represented by one of the 8640 samples which form one
scan circle is white noise dominated, the rms
being about a factor of ten higher than the CMB
fluctuations signal. If so, at the first approximation it is
possible to assume the digitized data stream from the front-end
electronics as a stationary time series of independent samples
produced by a normal distributed white noise generator. In such
situation symbols are represented by the quantized signal levels,
and it is easy to infer the best coding table and by the
information theory the expected compression rate for an optimized
compressor is promptly estimated (Gaztñaga et al. 1998). In our
notation, for a zero average signal:
where
is the rms of the sampled signal
.
From Eq. (9) it is possible to infer that the higher is
the
,
(i.e. higher is the
resolution) the worse is the
compression rate, as already observed in
Maris et al. (1998)
and Maris et al. (1999). The reason being the
fact that as
is increased the number of quantization levels
(i.e. of symbols) to be coded is increased and their distribution becomes more
flat increasing
.
Assuming that all the white noise is thermal in origin then
K. With the
defined in Eq. (5) together with the typical
values of
and
assumed therein and
bits we have
.
In conclusion, for
,
1.0, 1.5 V/K the
is respectively 4.26, 3.36,
3.00. In addition Fig. 2 represents the effect
of a reduction of
on
compared to
for
.
![]() |
Figure 2:
![]() ![]() ![]() ![]() ![]() ![]() |
Copyright The European Southern Observatory (ESO)