  The design of the channel part of a digital communication system (e.g., error
correction, modulation) is heavily based on the assumption that the data to be
transmitted forms a fair bit stream. However, simple source encoders such as
short Huffman codes generate bit streams that poorly match this assumption. As
a result, the channel input distribution does not match the original design
criteria. In this work, a simple method called half Huffman coding (halfHc) is
developed. halfHc transforms a Huffman code into a source code whose output is
more similar to a fair bit stream. This is achieved by permuting the codewords
such that the frequency of 1s at the output is close to 0.5. The permutations
are such that the optimality in terms of achieved compression ratio is
preserved. halfHc is applied in a practical example, and the resulting overall
system performs better than when conventional Huffman coding is used.
