In this section, we use existing coding schemes and outline a decoding procedure that considers the physical dynamics in a CPS, following the study in Ref. [165].
Since the reliability of communication is usually very high in CPSs (e.g., in the wide area monitoring system in smart grids, the packet error rate should be less than 10−5 [166]) while the communication channel may experience various degradations (e.g., the harsh environments for communications in smart grids), it is important to use channel coding to protect the information transmission.
A straightforward approach for coding in a CPS is to follow the traditional procedure of separate quantization, coding, transmission, decoding, and further processing, which is adopted in conventional communication systems (Fig. 8.7). However, separate channel decoding and system state estimation may not be optimal when there exist redundancies in the transmitted messages. For example, the transmitted codeword at time t, b(t), is generated by the observation on the physical dynamics, y(t). Due to the time correlation of system states, y(t) is correlated with y(t + 1), thus being able to provide information for decoding the codeword in the next time slot t + 1. Hence if the decoding procedure is independent of the system state estimation, the permanence will be degraded due to the loss of redundancy. One may argue that the redundancy can be removed in the source coding procedure (e.g., encoding only the innovation vector in Kalman filtering if the physical dynamics is linear with Gaussian noise [167]). However, this requires substantial computation, which a sensor may not be able to carry out. Moreover, the sensor may not have the overall system parameters for the extraction of innovation information. Hence it is more desirable to shift the burden to the controller, which has more computational power and more system information; then the inexpensive sensor focuses on transmitting the raw data.
In this section, we propose an algorithm for joint channel decoding and state estimation in a CPS. We consider traditional channel codes with memory (e.g., convolutional codes). Then the physical dynamics system state evolution and the channel codes can be considered as an equivalent concatenated code, as illustrated in Fig. 8.8, in which the outer code is the generation of system observation (we call it a “nature encoded” codeword) while the inner code is the traditional channel coding. The outer code is generated by the physical dynamics in an analog manner (since the value is continuous) while the inner code is carried out by a digital encoder. We will use belief propagation (BP) [168], which has been widely applied in decoding turbo codes and low-density parity-check (LDPC) codes, to decode this equivalent concatenated code. The major challenge is that the Bayesian inference is over a hybrid system which has both continuous- and discrete-valued nodes.
We consider a discrete-time dynamical system with N-dimensional system state x and K-dimensional observation y. The dynamics are described by
where u is the control action taken by the controller, and n and w are both random perturbations, whose probability distributions are assumed to be known.
A special case is linear system dynamics, which is described by
where n and w are both Gaussian noises with zero means and covariance matrices Γn and Γw, respectively.
We assume that y(t) is observed by a sensor.2 It quantizes each dimension of the observation using B bits, thus forming a KB-dimensional binary vector which is given by
We assume that the sensor simply carries out a scalar quantization for each dimension and does not use compression to remove the redundancy between y(t) and y(t − 1). It is straightforward to extend this to the case of vector quantization. However, it is nontrivial to extend it to the case of partial compression of the redundancy, which is beyond the scope of this study.
The information bits b(t) are put into an encoder to generate a codeword c(t). We assume binary phase shift keying (BPSK) modulation for the communication from the sensor to the controller. which is given by
where 2c(t) − 1 converts the alphabet {0, 1} to the antipodal signal {−1, +1}, and e(t) is the additive white Gaussian noise with zero expectation and normalized variance σe2. In this chapter, we do not consider fading, since within one codeword the channel is usually stationary and the channel gain can be incorporated (together with the transmit power) into the noise variance σe2.
As we have explained, there exists information redundancy between the system state in different time slots, as well as the received bits in the communications. Hence we can apply the framework of BP for the procedure of joint decoding and system state estimation.
We first provide a brief introduction to the BP algorithm, in particular a version of Pearl’s BP. We use an example to illustrate the procedure. The details and formal description can be found in Ref. [168].
Take Fig. 8.9 for instance, where a random variable X has parents U1, U2, …, UM and children Y1, Y2, …, YN. Here the parent nodes are characterized by the following equality of conditional probability:
that is, given the random variables in the parent nodes, X is independent of all nonparent nodes. As indicated by the name, we say that a node is a child of X if X is a parent of it. The message passing of Pearl’s BP is illustrated by dotted arrows and dashed arrows in the figure. The dashed arrows transmit π-messages from a parent to its children. For instance, the message passing from Um to X is , which is the prior information of Um given that all the information Um has been received. The dotted arrows transmit λ-messages from child to parent. For instance, the message passed from Yn to X is , which is the likelihood of X given that the information Yn has been received. After X receives all π-messages (i.e., from its parents U1, U2, …, UM) and all λ-messages (i.e., , X from its children Y1, Y2, …, YN), X updates its local belief information BELX(x), and transmits λ-messages to its parents and π-messages to its children. The expressions for these messages are given by
where U = (U1, U2, …, UM) and Y = (Y1, Y2, …, UN).
In the initialization stage of Pearl’s BP, the initial values are defined as
and
Based on the tools of a Bayesian network, we can derive the iterative decoding procedure. Fig. 8.10 shows the procedure of message passing in the decoding of a CPS: xt−2 summarizes all the information obtained from previous time slots and transmits π-message πxt−2, xt−1(xt−2) to xt−1. The BP procedure can be implemented in either synchronous or asynchronous manner. To accelerate the procedure, we implement the asynchronous Pearl BP. The updating order and message passing in one iteration are given in Procedure 9.
The algorithm has been tested in the context of voltage control in smart grids [165]. Numerical results have shown that the performance of both decoding and system state estimation is substantially improved, when compared with traditional separate decoding and estimation. One potential challenge in joint decoding and estimation is the possibility of error propagation; i.e., the decoding error or estimation error will be propagated to the next time slot, since the decoding and estimation procedures in different time slots are correlated. An effective approach to handle error propagation is to monitor the performance and restart the decoding/estimation procedure once performance degradation is detected.
Most channel coding schemes are designed for common purpose data communications. Although they can also be used in the context of controlling a CPS, it is not clear whether these coding schemes designed for pure data communications are optimal for the purpose of control. There have been some studies on designing specific channel codes for control systems [169, 170]. In this section we give a brief introduction to these efforts, which may provide insights for further communication system designs in CPSs, although they have not been implemented in real systems.
Trajectory codes for the purpose of automatic control were proposed in Ref. [169]. The main feature is the online error correction capability for real-time estimation and control.
We assume that the communication channel has binary input and output. The transmitter has a time-varying state xt, which is represented by the vertex of a graph G. The edges in the graph G show the possibility of state transitions. It is assumed that G is known to both the transmitter and receiver. This setup is similar to the random walk on graphs.
The time is divided into rounds and channel use times. In each round, the state of the transmitter makes one move in G, and then the transmitter can use the communication channel M times. The encoded bits are based on all the history of the transmitter state. The goal of the design is to find a coding scheme that enables the receiver to obtain accurate estimation of the transmitter’s state with a large probability. Hence the transmitter can be considered as the combination of physical dynamics and communication transmitter. The coding rate is given by
where Δ is the maximum out-degree or in-degree of nodes in the graph G.
The receiver outputs an estimation on xt, which is denoted by , based on all the received coded bits. The error of decoding is represented by the shortest length between xt and in the graph G, which is denoted by . The communication scheme has an error exponent κ if
It was shown in Ref. [169] that the communication is online efficient if the time and space complexities of coding and decoding are of the order of . If the coding scheme has a positive rate, positive error exponent and is online efficient, then we say that the code is asymptotically good.
Note that the problem considered above is more like a system estimation problem. The control procedure is not considered; i.e., the system state xt evolves independently of the communication performance. However, the system state is closely related to the control problems, since the error of system state estimation substantially determines the performance of control; meanwhile the system state xt can be considered as the system state in which the impact of control has been removed.
The trajectory of the transmitter’s state can be represented by a path in the corresponding graph G, whose initial time is denoted by t0. If two trajectories, γ and γ′, have the same length, the same starting time and the same initial vertex, we denote this by γ ∼ γ′. The distance between two trajectories indicates the number of different states in the two trajectories and is denoted by τ(γ, γ′).
A trajectory code, denoted by χ, maps from a trajectory to a certain alphabet in a concatenation manner:
The Hamming distance between two equal-length codewords is denoted by h. The relative distance of a trajectory code is denoted by
which implies the capability of distinguishing two different trajectories of the transmitter’s state. A trajectory code is said to be asymptotically good if it has a positive rate and provides a positive relative distance.
Obviously, the larger the relative distance δ, the more capable the receiver is of estimating the transmitter’s state. When δ is large, even if there are some transmission errors, the remaining discrepancy between two codewords can still be used to distinguish the two different state trajectories. Then the major challenge is the existence and construction of an asymptotically good trajectory code. The following theorem guarantees the existence of correspondence:
The details of the proof are given in Ref. [169]. Here we provide a sketch of the proof, which is based on the probabilistic approach and random coding, similarly to Shannon’s random coding argument [33]. First we consider a random coding scheme; i.e., the transmitter randomly selects an output from the output alphabet for each possible input (i.e., a state, or equivalently a vertex in G). Consider two trajectories γ1 and γ2, which satisfy γ1 ∼ γ2 but do not have common vertices except for the initial one. We call these two trajectories twins. It is easy to verify that
Then we define the event
If we can prove
then there exists at least one asymptotically good trajectory code. In Ref. [169], Eq. (8.129) is proved by citing the Lovasz Local Lemma.
Although the existence of trajectory codes has been proved, it is still not clear how to construct these codes. In Ref. [169], two approaches are proposed to construct trajectory codes for the special case of d-dimensional grids. In this book, we provide a brief introduction to the first method.
Note that the grid graph is determined by the set of vertices Vn, d to be
Two nodes with distance 1 have a connecting edge. The goal of the construction procedures is to design a trajectory code
which is asymptotically good.
The first approach of construction is based on two codes, where and k is the least even integer no less than .
• Block code: Consider a block code , where R1 is a particular finite alphabet. Intuitively, η encodes each vertex in Vn, d to a block code with codeword length n1. We assume that the block code η has a positive rate and a relative distance (1 + δ)/2. The coding and decoding procedures can be computed in a time of order . η can be rewritten as
where .
• Recursive code: We assume that is a trajectory code with relative distance (1 + δ)/2, where S1 is a finite alphabet. The construction of this code will be provided later.
Now we cover the space Vn, d by overlapping tiles. The tile placed at vertex x = (x1, …, xd, xd+1) ∈ Vn, d is the mapping defined as
which maps from the domain
to S1 × R1.
We assume that n can be divided by kn1. Then we pick out the tiles placed at the locations x having the following form:
where {zi}i satisfy
and
The set of these tiles, which actually form a covering of Vn, d, are labeled using (a1, …, ad+1). Hence there are a total of kd+1 such sets. This procedure is illustrated in Fig. 8.11, in which we set n1 = 4 and k = 2.
The trajectory code is then given by
that is, for each state y, the coder output is the concatenation of all the coder outputs at the tiles satisfying Eq. (8.135).
The intuition behind the complicated procedure of construction is given below:
• The coder for long trajectories (of the order of n) is based on the coders for short trajectories (of the order of ).
• When the transmitter state is at a particular point of Rd, the coder output is determined by the output of the tiles close to it.
• The coder output of each tile in Eq. (8.133) consists of the recursive coder output, which encodes the transmitter state with respect to the center point of the tile, and the output of the block coder, which encodes the location of the center point of the tile.
It was shown in Ref. [169] that the above construction of trajectory codes can achieve the relative distance δ < 1, whose proof is involved. Then the only unsolved problem is the construction of the coder χ1 for each tile. Since the problem size is much smaller, it is possible to obtain the coder by using exhaustive search, thus solving the whole problem.
In this section, we follow the discussion in Ref. [170] to show that it is possible to design the channel codes directly for control.
We consider a linear system with system state x and observations y, which are given by
and
where u(t) is the control action, w(t) and v(t) are bounded noise processes. It is assumed that (F, G) are controllable and (F, H) are observable.
At time t, the sensor observes y(t) and generates a k-bit message, which is a function of all existing observations. Suppose that n bits can be transmitted for the k information bits. Hence the data transmission rate is k/n.
According to the discussion in Chapter 5, the communication should satisfy the anytime reliability in order to stabilize the linear system. We say that an encoder-decoder pair can achieve (R, β, d0)-reliability over a particular communication channel if
where denotes the estimation of bτ (the message transmitted at time τ) given the received messages until time t, and η is a constant. Intuitively Eq. (8.141) indicates that the probability of decoding error decreases exponentially with elapsed time.
Note that this definition of anytime reliability is not literally the same as the original one in Ref. [13]. In Ref. [13], the encoder-decoder pair can achieve α-anytime reliability if
for any t and τ. However, it is easy to see that these two definitions are equivalent. First, if Eq. (8.141) holds, then we have
which implies β-anytime reliability. The first inequality arises because the event that bτ is incorrectly decoded belongs to the event that the first incorrectly decoded message is bs, where s ≤ τ.
On the other hand, if the encoder-decoder pair is α-anytime reliable according to Eq. (8.142), we have
where the first inequality arises because the event that the first decoding error happens for bt−d belongs to the event that bt−d is incorrectly decoded. According to the conclusion in Ref. [13, Theorem 5.2], the anytime reliability can guarantee the stability of linear systems with sufficiently small outage probability.
Ref. [170] proposed the use of linear tree codes to design the anytime reliable code. Note that the concept of tree codes will be explained in the next section. Due to the requirement of causal coding, the output of linear tree codes cr at time slot r is given by
where bk is the k-bit information symbol generated at time k, the subscript r is the current time index, and {Grk} are the n × k generating matrices. This coding procedure is illustrated in Fig. 8.12.
Hence the overall generating matrix can be written as
The parity check matrix of Gn, R is denoted by Hn, R, which satisfies
It is easy to verify that Hn, R also has the lower triangular matrix form.
We assume that maximum likelihood (ML) decoding is used. Since we want to test whether the communication is anytime reliable, we focus on the probability of the event that the earliest wrongly decoded message is d time slots ago. Denoting this probability by , we use the union bound to upper bound :
where is the set of codewords whose earliest nonzero symbol occurs at time t − d, and we assume that an all-zero sequence is transmitted.
It was shown in Ref. [171] that the error probability of ML decoding is bounded by
where ζ is the Bhattacharya parameter, which is defined as (here we assume a discrete channel output alphabet )
Hence according to the union bound in Eq. (8.148), we have
where w is the weight of decoder output c, is the number of codes in having weight w, and is the minimum weight of the codes in . The reason why w ≤ nd is that there is no error before the t − dth message. This motivates the following definition:
The first requirement on the full rank of Hn, R is to guarantee that the encoding procedure is invertible. The second condition implies
where
Based on the above discussion, we have the following proposition:
Now the challenge is how to construct a linear code satisfying the requirement of (α, θ, d0)-anytime distance. In Ref. [170], the following Toeplitz structure was considered:
which assures the causality of the coding procedure.
Then a random construction approach for is proposed in Procedure 10.
The main theorem in Ref. [170] shows that the above construction results in an anytime reliable code with a large probability.
The detailed proof of this theorem in Ref. [170] is quite involved. In this book, we provide an intuitive sketch of the proof. Consider time slot t. Suppose that an all-zero codeword is sent and consider a codeword c≠0. If , then c may be confused with the correct one, which results in a decoding error. Due to the requirement of anytime reliability, we are interested in the locations of errors (or equivalently the nonzero elements of c). Since we require that the messages before time t − d be correctly decoded, we have
where c = (c0, …, ct). This is equivalent to
which can be rewritten as
where and . Since H1 has been fixed in the construction procedure, we have
and Ct−d+1h1 = 0. We abbreviate Eq. (8.162) to
Hence the higher dimensional vector h cannot be arbitrarily chosen due to the linear constraint in Eq. (8.163). So h must be selected within a lower dimensional subspace. Since {hi}, i = 2, …, t, are randomly chosen, the corresponding probability that h falls in a lower dimensional subspace can be bounded by the following lemma:
The detailed evaluation of the upper bound will lead to the desired conclusion.
In the previous subsection, it is rigorously shown that the proposed coding scheme can stabilize the physical dynamics in a CPS. However, the following two issues in the coding scheme hinder its application in real practice:
• The parity check matrices are generated randomly, so it is difficult to control the decoding error probability.
• With a large probability, the matrix Hr is nonzero, which means that even the bits with a long time lapse still have an impact on the current coding procedure; hence all the previous information bits need to be stored, thus requiring infinite memory.
To handle these two challenges, some practical coding schemes have been proposed. In this book we briefly introduce the convolutional LDPC codes [172, 173].
It was proposed in Ref. [172] that the LDPC convolutional codes can be used for assuring anytime reliability for the purpose of controlling dynamics in a CPS. Originally LDPC convolutional codes were proposed for pure data communications, rather than for CPSs. Essentially, the parity check matrix in the LDPC convolutional codes has the following form:
where ms is the memory length. It is easy to verify that the generating matrix G has a similar structure; hence the output of the tth message is given by
Such a scheme handles the above two challenges in the following manner:
• There have been plenty of studies on how to optimize the LDPC codes; moreover, efficient decoding algorithms have been found for the LDPC codes, which makes the LDPC convolutional codes fairly practical.
• The convolutional structure makes the encoding procedure causal. Moreover, the finite memory requires only bounded memory.
It was shown in Ref. [172] that the proposed convolutional LDPC code can achieve anytime reliability. The details can be found therein.
The channel coding schemes in the previous sections are dedicated to system state estimation and control in a CPS. We can also consider state estimation and control as a problem of computing: the agents (sensors or controllers) in a CPS have local parameters or observations on the physical dynamics and want to compute the control actions as functions of the local numbers. Hence the agents can communicate by using an existing protocol of interactive communications (e.g., a sensor sends an observation to a controller; or two controllers exchange their control actions and observations). Such a protocol can always be designed when there is no communication error. Since a noisy communication channel can incur transmission errors, it is important to study how to carry out the interactive communication protocol designed for noiseless communication channels. Although the study on coding for interactive communication in computing is not confined to the purpose of control, it is of significant importance for us to design channel coding schemes in a CPS. Hence in this section, we follow the seminal work of Schulman [174] to introduce the studies on this topic.
For simplicity, we consider two agents A and B, which have local discrete arguments zA and zB, respectively. They are required to compute a function f(A, B). The two agents can communicate with each other, one bit per transmission. The simplest approach is for A to transmit zA to B and then B calculates f(zA, zB). However, in many situations, fewer bits can be transmitted to obtain f(zA, zB), which is encompassed in research on communication complexity [94, 95].
We assume that the protocol for computing f(zA, zB) has been designed, given the assumption that there is no communication error. Now our challenge is how to carry out the communication for computing with a given probability of transmission errors, when the communication channel is noisy (thus the probability of transmission error is nonzero).
The construction of a communication protocol for computing the function f(zA, zB) is based on the concept of tree codes. A d-ary tree with depth n is a tree in which each nonleaf node has d child nodes and the number of levels is n. Then a d-ary tree code over alphabet S with distance parameter α and depth n can be represented by a d-ary tree with depth n, in which each edge corresponds to an element in S. A codeword is generated by tracing from the root to a certain node in the tree and concatenating the outputs of the edges. We denote by W(v) the codeword generated by node v in the tree. Consider two nodes v1 and v2 with the same depth h in the tree, whose least common ancestor has depth h − l. Then Δ(W(v1), W(v2)) ≥ αl, where Δ(⋅, ⋅) is the Hamming distance. An illustration of the tree code is given in Fig. 8.13, where h = 5 and l = 3. Hence if α = 0.5, we have Δ(W(v1), W(v2)) ≥ 2.
In Ref. [174], the existence of good tree code with large relative Hamming distance is only assumed; the detailed construction of the code is not discussed. It was not until recent years that the explicit construction of the tree code was discussed [175], in which some intuitions were provided at the beginning. Since the random coding scheme has achieved great success in traditional information theory, the first idea for the code construction is to try the random coding scheme; i.e., we randomly assign output alphabets to each edge in the tree. This looks reasonable, since we require two paths in the tree with large discrepancies (as illustrated in Fig. 8.14A); otherwise it is hard to distinguish the two trajectories V P′ and V P. Since the outputs are randomly assigned, the output sequences should have a large Hamming distance with a large probability.
However, this is not the only requirement. We should let short divergent paths in the tree have sufficiently large Hamming distances. This nontrivial requirement is illustrated in Fig. 8.14B. Suppose that the transmission errors make the pebbles diverge from the correct path to wrong locations A, A′, B, B′. Assume that these short divergent paths have small relative Hamming distances. Then it is possible that the agents keep making mistakes due to the small relative Hamming distances. For example, the agent may be distracted to the wrong location A and return to the correct path after recognizing the mistake; however, it makes a mistake soon after and diverges to A′. In the subsequent procedure, the agent keeps falling into wrong locations such as B and B′. Hence in Ref. [174] it is required that all paths have large Hamming distances.
However, it is not necessary to require all paths to have large Hamming distances, which incurs too many constraints. It is argued in Ref. [175] that we can allow some branches in the tree to have small relative Hamming distances. As illustrated in Fig. 8.14C, each path from the root to a leaf is allowed to have some small diverged branches that have small relative Hamming distances. It is shown in Ref. [175] that this requirement can assure the success of protocol simulation.
To quantify the above requirement on the tree code, we need the following definition of a potent tree code:
For a detailed construction of potent tree code, it is proposed in Ref. [175] to use the ϵ-biased sample space, which is defined as follows:
It is shown in Ref. [175] that an ϵ-biased sample space can be constructed as follows: consider a prime p > (n/ϵ)2; a point in S is given by a number x in [0, 1, …, p − 1] mapped to the n-bit sequence (r0(x), …, rn−1(x)), where
and χp(x) denotes the quadratic character of x (mod p).
Once an ϵ-biased sample space S is constructed, we can use it to build an (ϵ, α)-potent tree code. For simplicity, we assume that the output of each edge in the tree is binary. Since there are a total of dN edges in a d-ary tree, the outputs of all edges in the tree can be described by a dN-bit sequence: we sort the edges in the tree in a predetermined order and then assign each element in the sequence to an edge. This forms a d-ary small biased tree code.
Small biased tree codes have a useful property defined as follows:
The intuitive explanation of the property of (ϵ, k)-independence is that the corresponding sequence is very close to uniformly distributed for any k-subset. It is shown in Ref. [175] that if a sample space is ϵ-biased then it is also ((1 − 2−k)ϵ, k)-independent, for any k. This property guarantees that, with a large probability, the small divergent branches in a small biased tree code have reasonable relative Hamming distances, since their bit assignments are “very random.”
In Ref. [175], the following theorem guarantees that the construction of small biased tree codes leads to potent tree codes, with a large probability:
The detailed proof is given in Ref. [175]. Here we provide a brief summary of the basic idea of the proof. Consider a node v. It is possible that there exists another node u having the same depth such that u forms a bad interval of l. To that end, we need to check the last l bits leading to v and u, denoted by Wl(v) and Wl(u), respectively. Due to the property of small biasedness in Definition (26), the Hamming distance between Wl(v) and Wl(u) should be large with a large probability. As will be shown later, potent tree codes can accomplish the task of iterative communications.
In the above discussion, the construction of potent tree codes is based on a random coding scheme. It is of substantial theoretic importance since it can prove the existence of potent tree codes. However, it is of no use in practice due to the complexity caused by the lack of efficient coding and decoding schemes.
A breakthrough in the deterministic and efficient construction of tree codes was made by Braverman [176]. The corresponding cost of computation time is subexponential; i.e., the time costs of code construction, encoding, and decoding are all for a tree code with size n, where ϵ is a small number.
In this book, we focus on the deterministic construction of tree code. The corresponding coding and decoding complexities can be found in Ref. [176]. The basic idea of tree code construction is to combine multiple small-sized tree codes and then obtain a large-scale tree code. To that end, we introduce an operation called tree code product, i.e., we construct a tree code with depth d1 × d2 from two tree codes having depths d1 and d2.
First we assume that a tree code with depth d has been constructed. Here we assume that d is small such that we can use exhaustive search to find the tree code. Then we convert it to a local tree code of depth D ≫ d and locality l. Note that a local tree code with depth D and locality l, as well as other parameters, is defined as follows:
The construction of the local tree code with a much larger depth D is carried out by repeating the mapping provided by the original tree code with a much smaller depth d. It is shown in Ref. [176] that this construction satisfies the requirement for local tree code.
Based on the conversion from a tree code to a local tree code with much larger depth, we can combine two tree codes with smaller depths to obtain a new tree code with a larger depth, which is stated in the following theorem:
The procedures of code construction and encoding are illustrated in Fig. 8.15. Essentially, the encoding is a concatenation of an inner code and an outer code To′. The inner code is a local tree code, which is obtained from . It takes care of the divergent paths whose divergence is short. Then the coding output is fed into the outer code To′, which takes care of longer paths. is obtained from an intermediate code . Simply speaking, is obtained by spreading over different blocks. Then the output of is protected by traditional error correction codes, thus forming . The details of the construction can be found in Ref. [176].
We explain the protocol based on the tree codes, as proposed in Ref. [174].
The protocol for computing the function f(zA, zB), denoted by π, can be represented by a 4-tree, in which the trajectory of a communication for computing can be represented by a path from the root to a leaf node. Each level of edges means one round of communications. Note that agents A and B transmit simultaneously within one round. For each node in the tree, the four child nodes led by the four edges 00, 01, 10, and 11 represent the state after this round of communications. For example, the node led by edges 00 is the state if the bits transmitted in this round are both zero. This procedure can be illustrated by the first two rounds:
• In the first round, agents A and B transmit bits πA(zA, ϕ) and πB(zB, ϕ), respectively. The two bits are denoted by m1 = π(z, ϕ), which generates the four child nodes.
• In the second round, the agents A and B transmit bits πA(zA, π(z, ϕ)) and πB(zB, π(z, ϕ)), respectively. The two transmitted bits are denoted by m2.
In a generic round, say round i, the agents A and B transmit bits πA(zA, {mi}j=1, …, i−1) and πB(zB, {mi}j=1, …, i−1), respectively. This procedure can be represented by a trajectory in a tree denoted by . At node v of , agent A (or B) transmits bit πA(zA, v) (or πB(zB, v)).
Given a tree code and the protocol π for noiseless communication channels, we can design the protocol subject to noisy channels by simulating the protocol π. The basic idea is that both agents estimate each other’s current state by using the received bits. If the two agents have different estimations of the current location in , due to errors in the transmissions, they will begin to find that the received bits are possibly different from what they expect. At this time, they will trace back in the tree and try to synchronize their estimated location in .
To that end, the following structures are needed at both agents A and B:
• Pebble: Each agent has a pebble to indicate its conjecture on the current location in the tree , namely which node has been reached in the protocol π. In each round of communications, the pebble of each agent could be moved upstream (action ) or downstream (indicated by one of the four possible edges, 00, 01, 10, and 11) of the tree , or keep its current location (action ). The agent also transmits either 0 or 1 according to the edge in ; e.g., the current location of the protocol tree .
• Agent state: The state of each agent can be represented by another 12-ary tree . Each node has 12 child nodes, indicated by the movement of the pebble (six possibilities) and transmitted bit (two possibilities).
With the two structures explained above, we can describe the protocol for simulating π with noisy communication channels, which is detailed in Procedure 11.
Note that we can fix the total number of rounds at 5T: if the simulation has been completed before time 5T, we let the agents send bits 0 until 5T; if the simulation has not been completed, we still stop at time 5T and claim that the procedure of simulation fails.
Note that, for the potent tree code proposed in Ref. [175], the interactive protocol is still the same.
We first focus on the analysis in Ref. [174], where it is shown that the procedure described in Procedure 11 can simulate the original protocol π with an exponentially small failure probability. This is summarized in the following theorem:
The rigorous proof of this important theorem is given in Ref. [174]. In this book, we provide an intuitive explanation. The key step is to quantify the level of success in the simulation procedure by defining a concept called mark:
It is important to realize that π is successfully simulated if the mark at the termination (time 5T) is at least T: if so, the least common ancestor has a depth of at least T, which means that the two pebbles have reached a node with depth T simultaneously and thus implies the success of the simulation. This is rigorously proved in Lemma 4 of Ref. [174]. Hence the estimation of the error probability is adjusted to the problem of evaluating the probability that the mark is less than T.
The second important point is to realize the impact of a good move (when both agents estimate the system states correctly) or a bad move (when a state estimation error occurs):
• A good move increases the mark by 1.
• A bad move decreases the mark by no more than 3.
Then a sufficient condition for a successful simulation of π is that the proportion of good moves is at least 4/5, since at the termination at time 5T, we have
Therefore the problem becomes one of bounding the proportion of bad moves given the tree code with relative distance 1/2. We denote by l(t) the larger one of the pebble location errors. If there is a bad move at time t, we define the error interval as t − l(t) + 1, …, t, since there must be transmission errors within this error interval. Each bad move must be within an error interval; hence we can use the number of error intervals to bound the number of bad moves. A more detailed analysis leads to the conclusion in Theorem 59.
In Ref. [175], the requirement of the existence of tree code is relaxed to that of the potent tree code, while the interactive protocol is still the same as that in Ref. [174]. The corresponding performance is summarized in the following theorem:
In this chapter, we have discussed the physical dynamics-aware design of the physical layer in the communication network of a CPS. Various approaches have been discussed, ranging from modulation to channel coding. These are still the subject of research in academia. Almost all existing communication protocols of the physical layer in a CPS have not included the awareness of physical dynamics. The main challenge lies in the following aspects:
• The computational complexity of these algorithms is still too high. For example, in the adaptive modulation, the scheduler needs to solve an LMI. Although efficient algorithms from convex optimization can be used, it is still challenging for real-time control in CPSs.
• These algorithms require detailed models and parameters of the physical dynamics, which may be unavailable in many situations. Hence lack of availability of information on physical dynamics could disable these algorithms. Even if the models and parameters can be obtained from system identification or machine learning, it is still not clear whether these algorithms are robust to errors in the models and parameters.
Hence there is still a long way to go before the physical dynamics-aware design of the physical layer becomes useful in practice.