  In coding theory, codes are usually designed with a certain level of
randomness to facilitate analysis and accommodate different channel conditions.
However, the resulting random code constructed can be suboptimal in practical
implementations. Represented by a bipartite graph, the Batched Sparse Code
(BATS Code) is a randomly constructed erasure code that utilizes network coding
to achieve near-optimal performance in wireless multi-hop networks. In the
performance analysis in the previous research, it is implicitly assumed that
the coded batches in the BATS code are independent. This assumption holds only
asymptotically when the number of input symbols is infinite, but it does not
generally hold in a practical setting where the number of input symbols is
finite, especially when the code is constructed randomly. We show that
dependence among the batches significantly degrades the code's performance. In
order to control the batch dependence through graphical design, we propose
constructing the BATS code in a structured manner. A hardware-friendly
structured BATS code called the Cyclic-Shift BATS (CS-BATS) code is proposed,
which constructs the code from a small base graph using light-weight
cyclic-shift operations. We demonstrate that when the base graph is properly
designed, a higher decoding rate and a smaller complexity can be achieved
compared with the random BATS code.
