### abstract

- We present algorithms for initializing a convolutional network coding (CNC) scheme in networks that may contain cycles. An initialization process for finding global encoding kernels (GEK) is needed if the network is unknown or if local encoding kernels (LEK) are chosen randomly. During the initialization process every source node transmits basis vectors and every sink node gets the impulse response of the network. The impulse response is then used to find the GEK, which are needed for a decoding algorithm and to find the set of all achievable rates. We present two initialization algorithms that find the GEK and one algorithm that finds achievable rates from the GEK. In the first initialization algorithm it is assumed that we can perform a reset operation on the network at some fixed times, while the second algorithm does not operate under this assumption. Unlike acyclic networks, for which it is sufficient to transmit basis vectors one after another, the initialization of cyclic networks is more involved, as test symbols from different times interfere with each other and the impulse response is of infinite duration. Our algorithms use only a finite number of the initial values of the impulse response to find the full GEK. This is possible because a CNC scheme can be described by a state space representation and, using the Cayley-Hamilton theorem, it is possible to find its full impulse response from its initial values.