This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Iterative Joint Detection of Kalman Filter and Channel Decoder for Sensor-to-Controller Link in Wireless Networked Control Systems

Jinnan Piao, Dong Li, Yiming Sun, Zhibo Li, Ming Yang, and Xueting Yu This work is supported in part by the National Key R&D Program of China under Grant 2024YFF0509700, in part by the National Natural Science Foundation of China under Grant 62201562, 62303449, and 92367301, in part by the Liaoning Provincial Natural Science Foundation of China under Grant 2024–BSBA–51, and in part by the Fundamental Research Project of SIA under Grant 2022JC1K08. (Corresponding Author: Dong Li) The authors are with the State Key Laboratory of Robotics, Shenyang Institute of Automation, Chinese Academy of Sciences, Shenyang 110016, China. (e-mail: piaojinnan@sia.cn; lidong@sia.cn; sunyiming@sia.cn; lizhibo@sia.cn; yangming@sia.cn; yuxueting@sia.cn)
Abstract

In this letter, we propose an iterative joint detection algorithm of Kalman filter (KF) and channel decoder for the sensor-to-controller link of wireless networked control systems, which utilizes the prior information of control system to improve control and communication performance. In this algorithm, we first use the KF to estimate the probability density of the control system outputs and calculate the prior probability of received signals to assist decoder. Then, the possible outputs of the control system are traversed to update the prior probability in order to implement iterative detection. The simulation results show that the prior information and the iterative structure can reduce the block error rate performance of communications while improving the root mean square error performance of controls.

Index Terms:
Iterative joint detection, Kalman filter, channel decoder, wireless networked control systems, LDPC codes.

I Introduction

Wireless networked control systems (WNCSs) are control systems with the components, i.e., controllers, sensors and actuators, distributed and connected via wireless communication channels, where transmission error tightly relates to the control stability and performance [1, 2]. Kalman filter (KF) plays a fundamental role in estimating system states when transmission error occurs [3]. The major researches of KF model the wireless channels as independent and identically distributed (i.i.d.) Bernoulli processes [4, 5, 6] or Markov processes [7, 8, 9] to reduce the influence of transmission error on control performance.

From the view of communication, channel codes can effectively reduce transmission errors[10] and a simple on-off error control coding scheme can improve the control quality [11]. To ensure a wide range of application scenarios, channel codes are generally designed assuming that the transmitted bits obey uniform distribution and no prior information is considered. To improve the control and communication performance with the prior information of control system, [12] proposes a maximum a posteriori (MAP) receiver for each element of system states with cyclic redundancy check (CRC) codes, and exhibits potential in optimizing the block error rate (BLER) performance of communications and the root mean square error (RMSE) performance of controls with the prior information. However, the prior information directly calculated by the system states cannot be used in channel decoding.

To utilize the prior information for channel decoding, we propose an iterative joint detection algorithm in this letter, which exchanges the prior information of quantized bits and the decoding probabilities of outputs between KF and channel decoder. In the algorithm, we first use the KF to estimate the probability density of the predicted system states. Then, the probability density is transformed into the prior logarithmic likelihood ratios (LLRs) of quantized bits to assist decoder and obtain the decoded probabilities of outputs. Finally, the possible outputs are traversed to update the prior LLRs of quantized bits in order to implement iterative detection. The simulation results show that the prior information and the iterative structure can reduce the BLER performance of communications while improving the RMSE performance of controls, which shows the advantage of the joint design of controls and communications.

Notation Conventions: In this letter, the lowercase letters, e.g., xx, are used to denote scalars. The bold lowercase letters, e.g., 𝐱{\mathbf{x}}, are used to denote vectors. Notation xix_{i} denotes the ii-th element of 𝐱{\mathbf{x}}. The sets are denoted by calligraphic characters, e.g., 𝒳\mathcal{X}, and the notation |𝒳||\mathcal{X}| denotes the cardinality of 𝒳\mathcal{X}. The bold capital letters, e.g., 𝐗\mathbf{X}, are used to denote matrices. Throughout this paper, 𝟎\mathbf{0} means an all-zero vector. {\mathbb{R}} represents the real number field. [[N]]\left[\!\left[N\right]\!\right] denotes the set {1,2,,N}\left\{1,2,\cdots,N\right\}.

II System Model

The considered system structure of WNCSs in this letter is shown in Fig. 1, which consists of control layer and communication layer.

II-A Control Layer

Refer to caption
Figure 1: The system structure of WNCSs with control layer, communication layer and iterative joint detection.

We consider a discrete linear time-invariant system as

𝐱[k+1]\displaystyle\mathbf{x}\left[k+1\right] =𝐀𝐱[k]+𝐁𝐮[k]+𝐰[k],\displaystyle=\mathbf{Ax}\left[k\right]+\mathbf{Bu}\left[k\right]+\mathbf{w}\left[k\right], (1)
𝐲[k]\displaystyle\mathbf{y}\left[k\right] =𝐂𝐱[k]+𝐯[k],\displaystyle=\mathbf{Cx}\left[k\right]+\mathbf{v}\left[k\right], (2)

where 𝐱[k]Nx\mathbf{x}\left[k\right]\in{{\mathbb{R}}^{{{N}_{x}}}}, 𝐮[k]Nu\mathbf{u}\left[k\right]\in{{\mathbb{R}}^{{{N}_{u}}}} and 𝐲[k]Ny\mathbf{y}\left[k\right]\in{{\mathbb{R}}^{{{N}_{y}}}} are the state vector, the input vector and the output vector at time index kk, respectively. 𝐀Nx×Nx\mathbf{A}\in{{\mathbb{R}}^{{{N}_{x}}\times{{N}_{x}}}}, 𝐁Nx×Nu\mathbf{B}\in{{\mathbb{R}}^{{{N}_{x}}\times{{N}_{u}}}} and 𝐂Ny×Nx\mathbf{C}\in{{\mathbb{R}}^{{{N}_{y}}\times{{N}_{x}}}} are the known system parameter matrices with appropriate dimensions. 𝐰[k]Nx\mathbf{w}\left[k\right]\in{{\mathbb{R}}^{{{N}_{x}}}} and 𝐯[k]Ny\mathbf{v}\left[k\right]\in{{\mathbb{R}}^{{{N}_{y}}}} are Gaussian noises with zero means and covariance matrices 𝐖{\mathbf{W}} and 𝐕{\mathbf{V}}, respectively.

Each element of 𝐲[k]\mathbf{y}\left[k\right] is quantized by a nn-bit uniform quantizer with the quantization range [Z,Z)\left[-Z,Z\right). Defining α(x)z^l=0.5(zl+zl+1)\alpha\left(x\right)\triangleq{\hat{z}}_{l}=0.5\left({{z}_{l}}+{{z}_{l+1}}\right) as the midpoint of quantized interval x[zl,zl+1)x\in\left[{{z}_{l}},{{z}_{l+1}}\right), β(x)l\beta\left(x\right)\triangleq l as the index of quantized interval with z0=Zz_{0}=-Z, zl=zl1+Δz_{l}=z_{l-1}+\Delta and Δ=Z/(2n1)\Delta={Z}/{\left({2}^{n-1}\right)}, and 𝐛m=[bn1m,,b1m,b0m]{\mathbf{b}}^{m}=\left[b_{n-1}^{m},\cdots,b_{1}^{m},b_{0}^{m}\right] as the binary representation of mm with the most and the least significant bits bn1mb_{n-1}^{m} and b0mb_{0}^{m}, the NyN_{y}-length quantized vector and the (Nyn)\left(N_{y}n\right)-bit vector are 𝐪[k]=[α(y1[k]),α(y2[k]),,α(yNy[k])]\mathbf{q}\left[k\right]=\left[\alpha\left({{y}_{1}}\left[k\right]\right),\alpha\left({{y}_{2}}\left[k\right]\right),\cdots,\alpha\left({{y}_{{{N}_{y}}}}\left[k\right]\right)\right] and 𝐛[k]=[𝐛β(y1[k]),𝐛β(y2[k]),,𝐛β(yNy[k])]\mathbf{b}\left[k\right]=\left[{{\mathbf{b}}^{\beta\left({{y}_{1}}\left[k\right]\right)}},{{\mathbf{b}}^{\beta\left({{y}_{2}}\left[k\right]\right)}},\cdots,{{\mathbf{b}}^{\beta\left({{y}_{{{N}_{y}}}}\left[k\right]\right)}}\right], respectively. 𝐛[k]\mathbf{b}\left[k\right] is sent to the communication layer.

After the iterative joint detection, the estimation 𝐪^[k]\mathbf{\hat{q}}\left[k\right] of 𝐪[k]\mathbf{{q}}\left[k\right] is obtained and KF is used to estimate the system states 𝐱~[k]\mathbf{\tilde{x}}\left[k\right] and the covariance matrix 𝐏~[k]\mathbf{\tilde{P}}\left[k\right] in Algorithm 1 with the inputs 𝐱~[k1]\mathbf{\tilde{x}}\left[k-1\right], 𝐏~[k1]\mathbf{\tilde{P}}\left[k-1\right], 𝐪^[k]\mathbf{\hat{q}}\left[k\right] and fcrcf_{\text{crc}}, where fcrc=0f_{\text{crc}}=0 if the decoded bits pass CRC, and fcrc=1f_{\text{crc}}=1 otherwise. Then, controller uses 𝐱~[k]\mathbf{\tilde{x}}\left[k\right] and the reference state vector 𝐱ref[k]Nx{{\mathbf{x}}_{\text{ref}}}\left[k\right]\in{\mathbb{R}}^{N_{x}} to calculate the input vector as

𝐮[k]=𝐊con(𝐱ref[k]𝐱~[k]),\mathbf{u}\left[k\right]=\mathbf{K}_{\text{con}}\left({{\mathbf{x}}_{\text{ref}}}\left[k\right]-\mathbf{\tilde{x}}\left[k\right]\right), (3)

where 𝐊conNu×Nx\mathbf{K}_{\text{con}}\in{\mathbb{R}}^{N_{u}\times N_{x}} is the controller gain matrix.

1
2𝐱~[k]=𝐀𝐱~[k1]+𝐁𝐮[k1]\mathbf{\tilde{x}}_{-}\left[k\right]=\mathbf{A}\mathbf{\tilde{x}}\left[k-1\right]+\mathbf{Bu}\left[k-1\right] ;
3
4𝐏~[k]=𝐀𝐏~[k1]𝐀T+𝐖\mathbf{\tilde{P}}_{-}\left[k\right]=\mathbf{A\tilde{P}}\left[k-1\right]{{\mathbf{A}}^{T}}+\mathbf{W} ;
5
6𝐊[k]=𝐏~[k]𝐂T(𝐂𝐏~[k]𝐂T+𝐕)1\mathbf{K}\left[k\right]=\mathbf{\tilde{P}}_{-}\left[k\right]{{\mathbf{C}}^{T}}{{\left(\mathbf{C}\mathbf{\tilde{P}}_{-}\left[k\right]{{\mathbf{C}}^{T}}+\mathbf{V}\right)}^{-1}} ;
7
8if fcrcf_{\text{crc}} is 0 then
9       𝐱~[k]=𝐱~[k]+𝐊[k](𝐪^[k]𝐂𝐱~[k])\mathbf{\tilde{x}}\left[k\right]=\mathbf{\tilde{x}}_{-}\left[k\right]+\mathbf{K}\left[k\right]\left(\mathbf{\hat{q}}\left[k\right]-\mathbf{C}\mathbf{\tilde{x}}_{-}\left[k\right]\right);
10      
11      𝐏~[k]=(𝐈𝐊[k]𝐂)𝐏~[k]\mathbf{\tilde{P}}\left[k\right]=\left(\mathbf{I}-\mathbf{K}\left[k\right]\mathbf{C}\right)\mathbf{\tilde{P}}_{-}\left[k\right];
12      
13else
14       𝐱~[k]=𝐱~[k]\mathbf{\tilde{x}}\left[k\right]=\mathbf{\tilde{x}}_{-}\left[k\right] and 𝐏~[k]=𝐏~[k]\mathbf{\tilde{P}}\left[k\right]=\mathbf{\tilde{P}}_{-}\left[k\right];
15      
16
Algorithm 1 Kalman Filter: (𝐱~[k]\mathbf{\tilde{x}}\left[k\right], 𝐏~[k]\mathbf{\tilde{P}}\left[k\right]) = KF(𝐱~[k1]\mathbf{\tilde{x}}\left[k-1\right], 𝐏~[k1]\mathbf{\tilde{P}}\left[k-1\right], 𝐪^[k]\mathbf{\hat{q}}\left[k\right], fcrcf_{\text{crc}})

II-B Communication Layer

In the communication layer, the outer code is an (Nout,K=Nyn)\left(N_{\text{out}},K=N_{y}n\right) CRC code, the inner code is an (Nin,Nout)\left(N_{\text{in}},N_{\text{out}}\right) channel code and the code rate is R=K/NinR=K/N_{\text{in}}. 𝐛[k]\mathbf{b}\left[k\right] is encoded into the CRC code by 𝐬[k]=𝐛[k]𝐆out\mathbf{s}\left[k\right]=\mathbf{b}\left[k\right]\mathbf{G}_{\text{out}} and 𝐬[k]\mathbf{s}\left[k\right] is encoded into the codeword by 𝐜[k]=𝐬[k]𝐆in\mathbf{c}\left[k\right]=\mathbf{s}\left[k\right]\mathbf{G}_{\text{in}}, where 𝐆out\mathbf{G}_{\text{out}} and 𝐆in\mathbf{G}_{\text{in}} are the generator matrices of the CRC code and the channel code, respectively. Each coded bit ci[k]c_{i}\left[k\right] is modulated into the transmitted signal by binary phase shift keying (BPSK), i.e., ti[k]=12ci[k]t_{i}\left[k\right]=1-2c_{i}\left[k\right]. The received vector is 𝐫[k]=𝐭[k]+𝐧[k]\mathbf{r}\left[k\right]=\mathbf{t}\left[k\right]+\mathbf{n}\left[k\right], where ni[k]n_{i}\left[k\right] is i.i.d. additive white Gaussian noise (AWGN) with zero mean and variance σ2\sigma^{2}. After BPSK demodulator, 𝐫[k]\mathbf{r}\left[k\right] is transformed into the received LLR vector 𝜽rec[k]{\bm{\theta}}_{\text{rec}}\left[k\right] with

θrec,i[k]=lnp(ri[k]|ci[k]=0)p(ri[k]|ci[k]=1)=2ri[k]σ2,i[[Nin]]\theta_{\text{rec},i}\left[k\right]=\ln\frac{p\left(\left.{r_{i}}\left[k\right]\right|{{c}_{i}}\left[k\right]=0\right)}{p\left(\left.{{r}_{i}}\left[k\right]\right|{{c}_{i}}\left[k\right]=1\right)}=\frac{2{{r}_{i}}\left[k\right]}{{{\sigma}^{2}}},i\in\left[\!\left[N_{\text{in}}\right]\!\right] (4)

Then, we send 𝜽rec[k]{\bm{\theta}}_{\text{rec}}\left[k\right] to the iterative joint detection.

III Iterative Joint Detection

The structure of iterative joint detection is also provided in Fig. 1, which consists of KF and channel decoder. The prior LLR vector 𝜽pri[k]{\bm{\theta}}_{\text{pri}}\left[k\right] is sent from the KF to the channel decoder and the decoded LLR vector 𝝀dec[k]{\bm{\lambda}}_{\text{dec}}\left[k\right] is sent oppositely, where

θpri,i[k]\displaystyle{\theta}_{\text{pri},i}\left[k\right] =lnP(ci[k]=0)P(ci[k]=1),i[[Nin]],\displaystyle=\ln\frac{P\left({{c}_{i}}\left[k\right]=0\right)}{P\left({{c}_{i}}\left[k\right]=1\right)},i\in\left[\!\left[N_{\text{in}}\right]\!\right], (5)
λdec,j[k]\displaystyle{\lambda}_{\text{dec},j}\left[k\right] =lnP(bj[k]=0|𝐫[k])P(bj[k]=1|𝐫[k]),j[[K]].\displaystyle=\ln\frac{P\left(\left.{{b}_{j}}\left[k\right]=0\right|\mathbf{r}\left[k\right]\right)}{P\left(\left.{{b}_{j}}\left[k\right]=1\right|\mathbf{r}\left[k\right]\right)},j\in\left[\!\left[K\right]\!\right]. (6)

The channel decoding algorithm, such as the belief propagation (BP) decoding of LDPC code [10], is abstracted as a function (𝝀dec[k],fcrc)=𝖢𝗁𝖺𝗇𝗇𝖾𝗅𝖣𝖾𝖼𝗈𝖽𝗂𝗇𝗀(𝜽[k])\left({\bm{\lambda}}_{\text{dec}}\left[k\right],f_{\text{crc}}\right)={\sf ChannelDecoding}\left({\bm{\theta}}\left[k\right]\right), where

θi[k]=lnP(ci[k]=0|ri[k])P(ci[k]=1|ri[k])=θpri,i[k]+θrec,i[k],{{\theta}_{i}}\left[k\right]=\ln\frac{P\left(\left.{{c}_{i}}\left[k\right]=0\right|{{r}_{i}}\left[k\right]\right)}{P\left(\left.{{c}_{i}}\left[k\right]=1\right|{{r}_{i}}\left[k\right]\right)}={{\theta}_{\text{pri},i}}\left[k\right]+{{\theta}_{\text{rec},i}}\left[k\right], (7)

The proposed detection algorithm iteratively update θpri,i[k]{{\theta}_{\text{pri},i}}\left[k\right] by utilizing the prior information of 𝐱~[k1]\mathbf{\tilde{x}}\left[k-1\right] to improve the control and communication performance, which is divided into the three steps as follows.

Step 1: Initializing 𝜽pri[k]{\bm{\theta}}_{\text{pri}}\left[k\right]. We first use the KF to predict the system states 𝐱^[k]\mathbf{\hat{x}}\left[k\right] and the covariance matrix 𝐏^x[k]\mathbf{\hat{P}}_{x}\left[k\right] as

(𝐱^[k],𝐏^x[k])=𝖪𝖥(𝐱~[k1],𝐏~[k1],𝟎,1).\left(\mathbf{\hat{x}}\left[k\right],\mathbf{\hat{P}}_{x}\left[k\right]\right)={\sf KF}\left(\mathbf{\tilde{x}}\left[k-1\right],\mathbf{\tilde{P}}\left[k-1\right],\mathbf{0},1\right). (8)

Then, the predicted sensor output is 𝐲^[k]=𝐂𝐱^[k]\mathbf{\hat{y}}\left[k\right]=\mathbf{C}\mathbf{\hat{x}}\left[k\right] and the corresponding covariance matrix is 𝐏^y[k]=𝐂𝐏^x[k]𝐂T+𝐕\mathbf{\hat{P}}_{y}\left[k\right]=\mathbf{C}\mathbf{\hat{P}}_{x}\left[k\right]\mathbf{C}^{T}+\mathbf{V}. Thus, 𝐲[k]\mathbf{y}\left[k\right] obeys Gaussian distribution with mean 𝐲^[k]\mathbf{\hat{y}}\left[k\right] and covariance matrix 𝐏^y[k]\mathbf{\hat{P}}_{y}\left[k\right], i.e.,

𝐲[k]𝒩(𝐲^[k],𝐏^y[k]).\displaystyle\mathbf{y}\left[k\right]\sim\mathcal{N}\left(\mathbf{\hat{y}}\left[k\right],\mathbf{\hat{P}}_{y}\left[k\right]\right). (9)
Refer to caption
Figure 2: An example of P(bi2β(yi1[k])=0|yi1[k])P\left(\left.b_{i_{2}}^{\beta\left(y_{i_{1}}\left[k\right]\right)}=0\right|{{y}_{i_{1}}\left[k\right]}\right) with n=4n=4.

Since 𝐲[k]{\mathbf{y}}\left[k\right] is transformed into 𝐪[k]{\mathbf{q}}\left[k\right] and 𝐛[k]{\mathbf{b}}\left[k\right] by quantizer, the probability of quantized bit bi2β(yi1[k]){0,1}b_{i_{2}}^{\beta\left(y_{i_{1}}\left[k\right]\right)}\in\left\{0,1\right\}, i1[[Ny]]{i_{1}}\in\left[\!\left[N_{y}\right]\!\right], i2=n1,,1,0{i_{2}}=n-1,\cdots,1,0, is

P(bi2β(yi1[k]))=yi1[k]p(bi2β(yi1[k]),yi1[k])𝑑yi1[k]=yi1[k]P(bi2β(yi1[k])|yi1[k])p(yi1[k])𝑑yi1[k],\begin{gathered}P\left({{b_{i_{2}}^{\beta\left(y_{i_{1}}\left[k\right]\right)}}}\right)=\int\limits_{y_{i_{1}}\left[k\right]\in\mathbb{R}}{p\left({{b_{i_{2}}^{\beta\left(y_{i_{1}}\left[k\right]\right)},y_{i_{1}}\left[k\right]}}\right)}dy_{i_{1}}\left[k\right]\hfill\\ =\int\limits_{y_{i_{1}}\left[k\right]\in\mathbb{R}}{P\left({\left.b_{i_{2}}^{\beta\left(y_{i_{1}}\left[k\right]\right)}\right|{y_{i_{1}}\left[k\right]}}\right)p\left({y_{i_{1}}\left[k\right]}\right)}dy_{i_{1}}\left[k\right],\hfill\\ \end{gathered} (10)

where

yi1[k]𝒩(y^i1[k],σy^i1[k]),\displaystyle y_{i_{1}}\left[k\right]\sim{\mathcal{N}}\left({\hat{y}}_{i_{1}}\left[k\right],\sigma_{{\hat{y}}_{i_{1}}\left[k\right]}\right), (11)
P(bi2β(yi1[k])=0|yi1[k])={1,if yi1[k][zl×2(i2+1),zl×2(i2+1)+2i2Δ),0,otherwise.\displaystyle\begin{aligned} &P\left(\left.b_{i_{2}}^{\beta\left(y_{i_{1}}\left[k\right]\right)}=0\right|{{y}_{i_{1}}\left[k\right]}\right)\\ &=\left\{\begin{aligned} &1,\text{if }{{y}_{i_{1}}\left[k\right]}\in\left[{{z}_{l\times{{2}^{(i_{2}+1)}}}},{{z}_{l\times{{2}^{(i_{2}+1)}}+2^{i_{2}}\Delta}}\right),\\ &0,\text{otherwise}.\\ \end{aligned}\right.\\ \end{aligned} (12)

where l=0,1,,2ni211l=0,1,\cdots,{{2}^{n-{i_{2}}-1}}-1 and σy^i1[k]2\sigma_{{\hat{y}}_{i_{1}}\left[k\right]}^{2} is the i1{i_{1}}-th element of the diagonal of 𝐏^y[k]\mathbf{\hat{P}}_{y}\left[k\right]. (11) can be easily obtained by (9). For (12), since bi2β(yi1[k])b_{i_{2}}^{\beta\left(y_{i_{1}}\left[k\right]\right)} is decided by quantizing yi1[k]y_{i_{1}}\left[k\right] directly, we have P(bi2β(yi1[k])|yi1[k]){0,1}P\left(\left.b_{i_{2}}^{\beta\left(y_{i_{1}}\left[k\right]\right)}\right|{{y}_{i_{1}}\left[k\right]}\right)\in\left\{0,1\right\}. An example of P(bi2β(yi1[k])=0|yi1[k])P\left(\left.b_{i_{2}}^{\beta\left(y_{i_{1}}\left[k\right]\right)}=0\right|{{y}_{i_{1}}\left[k\right]}\right) with n=4n=4 is provided in Fig. 2. In Fig. 2, P(bi2β(yi1[k])=0|yi1[k])P\left(\left.b_{i_{2}}^{\beta\left(y_{i_{1}}\left[k\right]\right)}=0\right|{{y}_{i_{1}}\left[k\right]}\right), i2=3,2,1,0i_{2}=3,2,1,0, changes from 0 to 11 or from 11 to 0 every 2i2{{2}^{{{i}_{2}}}} quantized interval.

Then, we use bj[k]b_{j}\left[k\right] to represent the jj-th element in 𝐛[k]{\mathbf{b}}\left[k\right]. There is a mapping between bj[k]b_{j}\left[k\right] and bi2β(yi1[k])b_{i_{2}}^{\beta\left({{y}_{i_{1}}\left[k\right]}\right)}, i.e.,

j=(i1,i2)=(i11)n+ni2=i1ni2.j={\mathcal{M}}\left(i_{1},i_{2}\right)=(i_{1}-1)n+n-i_{2}=i_{1}n-i_{2}. (13)

Thus, P(bj[k])P\left({{b_{j}}\left[k\right]}\right) can be calculated by (10) and the prior LLR of bj[k]b_{j}\left[k\right] is

λpri,j[k]=ln(P(bi2β(yi1[k])=0)/P(bi2β(yi1[k])=1)).{{\lambda}_{\text{pri},j}}\left[k\right]=\ln\left({P\left(b_{{{i}_{2}}}^{\beta\left({{y}_{{{i}_{1}}}}\left[k\right]\right)}=0\right)}/{P\left(b_{{{i}_{2}}}^{\beta\left({{y}_{{{i}_{1}}}}\left[k\right]\right)}=1\right)}\;\right). (14)

Given 𝐆=𝐆out𝐆in{\mathbf{G}}=\mathbf{G}_{\text{out}}\mathbf{G}_{\text{in}}, the jj-th row and the ii-th column element gj,ig_{j,i} of 𝐆\mathbf{G} and 𝒢(i)={j|gj,i=1,j[[K]]},i[[Nin]]{\mathcal{G}}\left(i\right)=\left\{\left.j\right|{{g}_{j,i}}=1,j\in\left[\!\left[K\right]\!\right]\right\},i\in\left[\!\left[{{N}_{\text{in}}}\right]\!\right], we have ci[k]=j𝒢(i)bj[k]{{c}_{i}}\left[k\right]=\sum\nolimits_{j\in{\mathcal{G}}\left(i\right)}{{{b}_{j}\left[k\right]}} and the prior LLR of ci[k]c_{i}\left[k\right] is

θpri,i[k]=2tanh1(j𝒢(i)tanh(12λpri,j[k])).{{\theta}_{\text{pri},i}}\left[k\right]=2{{\tanh}^{-1}}\left(\prod\limits_{j\in\mathsf{\mathcal{G}}\left(i\right)}{\tanh\left(\frac{1}{2}{{\lambda}_{\text{pri},j}\left[k\right]}\right)}\right). (15)

Step 2: Decoding θ[k]{\bm{\theta}}\left[k\right]. θi[k]{\theta}_{i}\left[k\right] is calculated by (7), where θrec,i[k]\theta_{\text{rec},i}\left[k\right] is decided by (4) and θpri,i[k]{\theta}_{\text{pri},i}\left[k\right] is initialized by step 1 and updated by step 3. Then, the decoded LLR vector is obtained by (𝝀dec[k],fcrc)=𝖢𝗁𝖺𝗇𝗇𝖾𝗅𝖣𝖾𝖼𝗈𝖽𝗂𝗇𝗀(𝜽[k])\left({\bm{\lambda}}_{\text{dec}}\left[k\right],f_{\text{crc}}\right)={\sf ChannelDecoding}\left({\bm{\theta}}\left[k\right]\right), the estimation 𝐛^[k]{\mathbf{\hat{b}}}\left[k\right] of 𝐛[k]{\mathbf{b}}\left[k\right] is decided by 𝝀dec[k]{\bm{\lambda}}_{\text{dec}}\left[k\right] and 𝐪^[k]\mathbf{\hat{q}}\left[k\right] is recovered from 𝐛^[k]{\mathbf{\hat{b}}}\left[k\right]. If fcrcf_{\text{crc}} is 0, the state vector 𝐱~[k]\mathbf{\tilde{x}}\left[k\right] and the input vector 𝐮[k]{\mathbf{u}}\left[k\right] are calculated by Algorithm 1 and (3), respectively. If fcrcf_{\text{crc}} is 11, we use 𝝀dec[k]{\bm{\lambda}}_{\text{dec}}\left[k\right] and KF to update 𝜽pri[k]{\bm{\theta}}_{\text{pri}}\left[k\right] in step 3 to implement iterative detection.

When continuous decoding errors occur, the estimated probability density of 𝐲[k]{\mathbf{y}}\left[k\right] is away from the real value, which further deteriorates the control and communication performance. To avoid the error propagation, if the maximum iteration number II is reached and fcrcf_{\text{crc}} is 11, a conventional channel decoding (𝝀dec[k],fcrc)=𝖢𝗁𝖺𝗇𝗇𝖾𝗅𝖣𝖾𝖼𝗈𝖽𝗂𝗇𝗀(𝜽rec[k])\left({\bm{\lambda}}_{\text{dec}}\left[k\right],f_{\text{crc}}\right)={\sf ChannelDecoding}\left({\bm{\theta}}_{\text{rec}}\left[k\right]\right) is used, since 𝜽rec[k]{\bm{\theta}}_{\text{rec}}\left[k\right] is related to the i.i.d. AWGN and received signals.

Step 3: Updating 𝜽pri[k]{\bm{\theta}}_{\text{pri}}\left[k\right]. We have the probability P(bj[k]|𝐫[k])=(e(2bj[k]1)λdec,j[k]+1)1P\left(\left.b_{j}\left[k\right]\right|{\mathbf{r}}\left[k\right]\right)=\left(e^{\left(2b_{j}\left[k\right]-1\right)\lambda_{\text{dec},j}\left[k\right]}+1\right)^{-1}. Given the set 𝒵={z^l|l=0,1,,2n1}{\mathcal{Z}}=\left\{\left.{\hat{z}}_{l}\right|l=0,1,\cdots,2^{n}-1\right\} of the midpoint z^l{\hat{z}}_{l}, the probability of 𝐪^[k]𝒵Ny{\hat{\mathbf{q}}}\left[k\right]\in{\mathcal{Z}}^{N_{y}} given 𝐫[k]{\mathbf{r}}\left[k\right] is

P(𝐪^[k]|𝐫[k])=i1[[Ny]]P(q^i1[k]|𝐫[k])\displaystyle P\left(\left.{\hat{\mathbf{q}}}\left[k\right]\right|{\mathbf{r}}\left[k\right]\right)=\prod\limits_{{{i}_{1}}\in\left[\!\left[{{N}_{y}}\right]\!\right]}{P\left(\left.{{\hat{q}}_{{{i}_{1}}}\left[k\right]}\right|{\mathbf{r}}\left[k\right]\right)} (16)
=i1[[Ny]]i2=n1,,0P(bi2β(q^i1[k])|𝐫[k])\displaystyle=\prod\limits_{{{i}_{1}}\in\left[\!\left[{{N}_{y}}\right]\!\right]}{\prod\limits_{{{i}_{2}}=n-1,\cdots,0}{P\left(\left.b_{{{i}_{2}}}^{\beta\left({{\hat{q}}_{{{i}_{1}}}\left[k\right]}\right)}\right|{\mathbf{r}}\left[k\right]\right)}}
=j[[K]]P(bj[k]|𝐫[k]).\displaystyle=\prod\limits_{j\in\left[\!\left[K\right]\!\right]}P\left(\left.b_{j}\left[k\right]\right|{\mathbf{r}}\left[k\right]\right).

Given 𝐪^[k]\hat{\mathbf{q}}\left[k\right], the estimated system states 𝐱^[k]\mathbf{\hat{x}}\left[k\right] and the covariance matrix 𝐏^x[k]\mathbf{\hat{P}}_{x}\left[k\right] are

(𝐱^[k],𝐏^x[k])=𝖪𝖥(𝐱~[k1],𝐏~[k1],𝐪^[k],0).\left(\mathbf{\hat{x}}\left[k\right],\mathbf{\hat{P}}_{x}\left[k\right]\right)={\sf KF}\left(\mathbf{\tilde{x}}\left[k-1\right],\mathbf{\tilde{P}}\left[k-1\right],\hat{\mathbf{q}}\left[k\right],0\right). (17)

The estimated sensor output is 𝐲^[k]=𝐂𝐱^[k]\mathbf{\hat{y}}\left[k\right]=\mathbf{C}\mathbf{\hat{x}}\left[k\right] and the corresponding covariance matrix is 𝐏^y[k]=𝐂𝐏^x[k]𝐂T+𝐕\mathbf{\hat{P}}_{y}\left[k\right]=\mathbf{C}\mathbf{\hat{P}}_{x}\left[k\right]\mathbf{C}^{T}+\mathbf{V}. Thus, 𝐲[k]\mathbf{y}\left[k\right] given 𝐪^[k]\hat{\mathbf{q}}\left[k\right] obeys Gaussian distribution with mean 𝐲^[k]\mathbf{\hat{y}}\left[k\right] and covariance matrix 𝐏^y[k]\mathbf{\hat{P}}_{y}\left[k\right], i.e.,

𝐲[k]|𝐪^[k]𝒩(𝐲^[k],𝐏^y[k]).\displaystyle\left.\mathbf{y}\left[k\right]\right|\hat{\mathbf{q}}\left[k\right]\sim\mathcal{N}\left(\mathbf{\hat{y}}\left[k\right],\mathbf{\hat{P}}_{y}\left[k\right]\right). (18)

The probability of quantized bit bi2β(q^i1[k]){0,1}b_{i_{2}}^{\beta\left(\hat{q}_{i_{1}}\left[k\right]\right)}\in\left\{0,1\right\} is

P(bi2β(yi1[k]))=𝐪^[k]𝒵NyP(𝐪^[k])P(bi2β(yi1[k])|𝐪^[k])\displaystyle P\left(b_{{{i}_{2}}}^{\beta\left({{y}_{{{i}_{1}}}\left[k\right]}\right)}\right)=\sum\limits_{\hat{\mathbf{q}}\left[k\right]\in{\mathsf{\mathcal{Z}}}^{N_{y}}}{P\left(\hat{\mathbf{q}}\left[k\right]\right)P\left(\left.b_{{{i}_{2}}}^{\beta\left({{y}_{{{i}_{1}}}\left[k\right]}\right)}\right|\hat{\mathbf{q}}\left[k\right]\right)} (19)
=𝐪^[k]𝒵NyP(𝐪^[k])×\displaystyle=\sum\limits_{{\hat{\mathbf{q}}\left[k\right]}\in{\mathcal{Z}^{{N_{y}}}}}P\left({\hat{\mathbf{q}}\left[k\right]}\right)\times
yi1[k]P(bi2β(yi1[k])|yi1[k])p(yi1[k]|𝐪^[k])𝑑yi1[k],\displaystyle\int\limits_{{y_{{i_{1}}}\left[k\right]}\in\mathbb{R}}{P\left({\left.{b_{{i_{2}}}^{\beta\left({{y_{{i_{1}}}\left[k\right]}}\right)}}\right|{y_{{i_{1}}}\left[k\right]}}\right)p\left({\left.{{y_{{i_{1}}}\left[k\right]}}\right|{\hat{\mathbf{q}}\left[k\right]}}\right)}d{y_{{i_{1}}}\left[k\right]},

where P(𝐪^[k])P\left(\hat{\mathbf{q}}\left[k\right]\right) is set as P(𝐪^[k]|𝐫[k])P\left(\left.\hat{\mathbf{q}}\left[k\right]\right|{\mathbf{r}}\left[k\right]\right) by (16). The calculation processes of p(yi1[k]|𝐪^[k])p\left({\left.{{y_{{i_{1}}}}\left[k\right]}\right|{\hat{\mathbf{q}}\left[k\right]}}\right) and P(bi2β(yi1[k])|yi1[k])P\left({\left.{b_{{i_{2}}}^{\beta\left({{y_{{i_{1}}}\left[k\right]}}\right)}}\right|{y_{{i_{1}}}\left[k\right]}}\right) are similar to (11) and (12), respectively. With (19), we calculate λpri,j[k]{{\lambda}_{\text{pri},j}}\left[k\right] by (14) and update θpri,i[k]{\theta}_{\text{pri},i}\left[k\right] by (15) to implement iterative detection in step 2. To reduce the complexity, we traverse nλn_{\lambda} quantized bits with the least |λdec,j|\left|\lambda_{\text{dec},j}\right|, j[[K]]j\in\left[\!\left[K\right]\!\right], and use the 2nλ2^{n_{\lambda}} results to decide P(𝐪^[k]|𝐫[k])P\left(\left.\hat{\mathbf{q}}\left[k\right]\right|\mathbf{r}\left[k\right]\right) with normalization and calculate (19).

1
Input: The received LLR vector 𝜽rec[k]{\bm{\theta}}_{\text{rec}}\left[k\right], the maximum iteration number II, the traversed bit number nλn_{\lambda}, the estimated system states 𝐱~[k1]\mathbf{\tilde{x}}\left[k-1\right] and the covariance matrix 𝐏~[k1]\mathbf{\tilde{P}}\left[k-1\right];
Output: The estimated state vector 𝐱~[k]\mathbf{\tilde{x}}\left[k\right] and the covariance matrix 𝐏~[k]\mathbf{\tilde{P}}\left[k\right];
2
3Initialize iite=1i_{\text{ite}}=1;
4
5(𝐱^[k],𝐏^x[k])=𝖪𝖥(𝐱~[k1],𝐏~[k1],𝟎,1)\left(\mathbf{\hat{x}}\left[k\right],\mathbf{\hat{P}}_{x}\left[k\right]\right)={\sf KF}\left(\mathbf{\tilde{x}}\left[k-1\right],\mathbf{\tilde{P}}\left[k-1\right],\mathbf{0},1\right);
6
7𝐲^[k]=𝐂𝐱^[k]\mathbf{\hat{y}}\left[k\right]=\mathbf{C}\mathbf{\hat{x}}\left[k\right] and 𝐏^y[k]=𝐂𝐏^x[k]𝐂T+𝐕\mathbf{\hat{P}}_{y}\left[k\right]=\mathbf{C}\mathbf{\hat{P}}_{x}\left[k\right]\mathbf{C}^{T}+\mathbf{V};
8
9Initialize θpri,i[k]\theta_{{\text{pri}},i}\left[k\right] by (15);
10
11while iiteIi_{\textup{ite}}\leq I do
12       iite=iite+1i_{\text{ite}}=i_{\text{ite}}+1 and 𝜽[k]=𝜽pri[k]+𝜽rec[k]{{\bm{\theta}}}\left[k\right]={{\bm{\theta}}_{\text{pri}}\left[k\right]}+{{\bm{\theta}}_{\text{rec}}\left[k\right]};
13      
14      (𝝀dec[k],fcrc)=𝖢𝗁𝖺𝗇𝗇𝖾𝗅𝖣𝖾𝖼𝗈𝖽𝗂𝗇𝗀(𝜽[k])\left({\bm{\lambda}}_{\text{dec}}\left[k\right],f_{\text{crc}}\right)={\sf ChannelDecoding}\left({\bm{\theta}}\left[k\right]\right);
15      
16      if fcrcf_{\textup{crc}} is 0 then
17             Recover 𝐪^[k]\mathbf{\hat{q}}\left[k\right] from 𝝀dec[k]{\bm{\lambda}}_{\text{dec}}\left[k\right];
18            
19            return (𝐱~[k],𝐏~[k])=𝖪𝖥(𝐱~[k1],𝐏~[k1],𝐪^[k],0)\left(\mathbf{\tilde{x}}\left[k\right],\mathbf{\tilde{P}}\left[k\right]\right)={\sf KF}\left(\mathbf{\tilde{x}}\left[k-1\right],\mathbf{\tilde{P}}\left[k-1\right],\mathbf{\hat{q}}\left[k\right],0\right);
20            
21      else
22             Initialize Ti1,i2=0T_{i_{1},i_{2}}=0, i1[[Ny]]{i_{1}}\in\left[\!\left[N_{y}\right]\!\right], i2=n1,,0{i_{2}}=n-1,\cdots,0;
23            
24            Traverse nλn_{\lambda} quantized bits with the least |λdec,j|\left|\lambda_{\text{dec},j}\right|, j[[K]]j\in\left[\!\left[K\right]\!\right] and the set of the 2nλ2^{n_{\lambda}} results is 𝒬\mathcal{Q};
25            
26            for 𝐪^[k]𝒬\hat{\mathbf{q}}\left[k\right]\in\mathcal{Q} do
27                   (𝐱^[k],𝐏^x[k])=𝖪𝖥(𝐱~[k1],𝐏~[k1],𝐪^[k],0)\left(\mathbf{\hat{x}}\left[k\right],\mathbf{\hat{P}}_{x}\left[k\right]\right)={\sf KF}\left(\mathbf{\tilde{x}}\left[k-1\right],\mathbf{\tilde{P}}\left[k-1\right],\hat{\mathbf{q}}\left[k\right],0\right);
28                  
29                  𝐲^[k]=𝐂𝐱^[k]\mathbf{\hat{y}}\left[k\right]=\mathbf{C}\mathbf{\hat{x}}\left[k\right], 𝐏^y[k]=𝐂𝐏^x[k]𝐂T+𝐕\mathbf{\hat{P}}_{y}\left[k\right]=\mathbf{C}\mathbf{\hat{P}}_{x}\left[k\right]\mathbf{C}^{T}+\mathbf{V};
30                  
31                  Calculate P(𝐪^[k]|𝐫[k])P\left(\left.\hat{\mathbf{q}}\left[k\right]\right|\mathbf{r}\left[k\right]\right) by (16);
32                  
33                  for i1[[Ny]]{i_{1}}\in\left[\!\left[N_{y}\right]\!\right], i2=n1,,0{i_{2}}=n-1,\cdots,0 do
34                         Pi1,i2=P(bi2β(yi1[k])=0|𝐪^[k])P_{i_{1},i_{2}}=P\left(\left.b_{i_{2}}^{\beta\left({y_{i_{1}}\left[k\right]}\right)}=0\right|\hat{\mathbf{q}}\left[k\right]\right);
35                        
36                        Ti1,i2=Ti1,i2+P(𝐪^[k]|𝐫[k])𝐪^[k]𝒬P(𝐪^[k]|𝐫[k])Pi1,i2{{T}_{{{i}_{1}},{{i}_{2}}}}={{T}_{{{i}_{1}},{{i}_{2}}}}+\frac{P\left(\left.\widehat{\mathbf{q}}\left[k\right]\right|\mathbf{r}\left[k\right]\right)}{\sum\nolimits_{\widehat{\mathbf{q}}\left[k\right]\in\mathsf{\mathcal{Q}}}{P\left(\left.\widehat{\mathbf{q}}\left[k\right]\right|\mathbf{r}\left[k\right]\right)}}{{P}_{{{i}_{1}},{{i}_{2}}}};
37                        
38                  
39            λpri,j[k]=lnTi1,i21Ti1,i2{{\lambda}_{\text{pri},j}\left[k\right]}=\ln\frac{T_{i_{1},i_{2}}}{1-{T_{{i_{1}},{{i}_{2}}}}} and set θpri,i[k]\theta_{{\text{pri}},i}\left[k\right] by (15);
40            
41      
42
43(𝝀dec[k],fcrc)=𝖢𝗁𝖺𝗇𝗇𝖾𝗅𝖣𝖾𝖼𝗈𝖽𝗂𝗇𝗀(𝜽rec[k])\left({\bm{\lambda}}_{\text{dec}}\left[k\right],f_{\text{crc}}\right)={\sf ChannelDecoding}\left({\bm{\theta}}_{\text{rec}}\left[k\right]\right) and recover 𝐪^[k]\mathbf{\hat{q}}\left[k\right] from 𝝀dec[k]{\bm{\lambda}}_{\text{dec}}\left[k\right];
44
45(𝐱~[k],𝐏~x[k])=𝖪𝖥(𝐱~[k1],𝐏~[k1],𝐪^[k],fcrc)\left(\mathbf{\tilde{x}}\left[k\right],\mathbf{\tilde{P}}_{x}\left[k\right]\right)={\sf KF}\left(\mathbf{\tilde{x}}\left[k-1\right],\mathbf{\tilde{P}}\left[k-1\right],\mathbf{\hat{q}}\left[k\right],f_{\text{crc}}\right);
46
Algorithm 2 Iterative joint detection

The whole process of the proposed iterative joint detection algorithm is summarized in Algorithm 2. In Algorithm 2, we first initialize 𝜽pri[k]{{\bm{\theta}}_{\text{pri}}}\left[k\right] with (15) and calculate 𝜽[k]{\bm{\theta}}\left[k\right] by (7). Then, channel decoding is used as (𝝀dec[k],fcrc)=𝖢𝗁𝖺𝗇𝗇𝖾𝗅𝖣𝖾𝖼𝗈𝖽𝗂𝗇𝗀(𝜽[k])\left({\bm{\lambda}}_{\text{dec}}\left[k\right],f_{\text{crc}}\right)={\sf ChannelDecoding}\left({\bm{\theta}}\left[k\right]\right). If fcrcf_{\text{crc}} is 0, we assume the decoded results are correct and estimate 𝐱~[k]\mathbf{\tilde{x}}\left[k\right] and 𝐏~[k]\mathbf{\tilde{P}}\left[k\right] by KF directly. If fcrcf_{\text{crc}} is 11, we use 𝝀dec[k]{\bm{\lambda}}_{\text{dec}}\left[k\right] and 𝐱~[k1]\mathbf{\tilde{x}}\left[k-1\right] to update 𝜽pri[k]{{\bm{\theta}}_{\text{pri}}}\left[k\right] in order to implement iterative detection until the maximum number of iteration II is reached. When II is reached and fcrcf_{\text{crc}} is 11, a conventional channel decoding (𝝀dec[k],fcrc)=𝖢𝗁𝖺𝗇𝗇𝖾𝗅𝖣𝖾𝖼𝗈𝖽𝗂𝗇𝗀(𝜽rec[k])\left({\bm{\lambda}}_{\text{dec}}\left[k\right],f_{\text{crc}}\right)={\sf ChannelDecoding}\left({\bm{\theta}}_{\text{rec}}\left[k\right]\right) is used to avoid error propagation.

IV Complexity and Time Step Analysis

The complexity of the proposed iterative joint detection is shown in TABLE I. The complexity of step 1 is O(Nx3+2nK)O\left(N_{x}^{3}+2^{n}K\right), where the complexity of KF is O(Nx3)O\left(N_{x}^{3}\right) and the complexity of calculating the probability of quantized bits is O(2nK)O\left(2^{n}K\right) when lookup table is used for integrals. Given the decoding complexity O(D)O\left(D\right), the complexity of step 2 is O(Nx3+D)O\left(N_{x}^{3}+D\right). For step 3, the complexity is O(2nλ(Nx3+2nK))O\left(2^{n_{\lambda}}\left(N_{x}^{3}+2^{n}K\right)\right). Hence, the complexity of the iterative joint detection is O(I(D+2nλ(Nx3+2nK)))O\left(I\left(D+2^{n_{\lambda}}\left(N_{x}^{3}+2^{n}K\right)\right)\right).

Though the iterative joint detection has high complexity, it can be implemented in parallel for real-time systems. The main time steps are shown in TABLE I. Assume τ𝗄𝖿\tau_{\sf kf} and τ𝖽𝖾𝖼\tau_{\sf dec} are the time steps of KF and decoding, respectively. For step 1, since the time step of calculating the probability of one quantized bit is nn and KK bits can be calculated in parallel, the time step of step 1 is τ𝗄𝖿+n\tau_{\sf kf}+n. The time step of step 2 is τ𝗄𝖿+τ𝖽𝖾𝖼\tau_{\sf kf}+\tau_{\sf dec}. Then, since the time step of (16) is nλn_{\lambda} and the 2nλ2^{n_{\lambda}} results can be calculated in parallel, the time step of step 3 is τ𝗄𝖿+n+nλ\tau_{\sf kf}+n+n_{\lambda}. Thus, the time step of the iterative joint detection is 2τ𝗄𝖿+n+τ𝖽𝖾𝖼+I(τ𝗄𝖿+τ𝖽𝖾𝖼+n+nλ)2\tau_{\sf kf}+n+\tau_{\sf dec}+I\left(\tau_{\sf kf}+\tau_{\sf dec}+n+n_{\lambda}\right), which can satisfy the latency constraint of real-time systems with small II.

TABLE I: The complexity and the main time step of the iterative joint detection
Step Complexity Main Time Step
1 O(Nx3+2nK)O\left(N_{x}^{3}+2^{n}K\right) τ𝗄𝖿+n\tau_{\sf kf}+n
2 O(Nx3+D)O\left(N_{x}^{3}+D\right) τ𝗄𝖿+τ𝖽𝖾𝖼\tau_{\sf kf}+\tau_{\sf dec}
3 O(2nλ(Nx3+2nK))O\left(2^{n_{\lambda}}\left(N_{x}^{3}+2^{n}K\right)\right) τ𝗄𝖿+n+nλ\tau_{\sf kf}+n+n_{\lambda}
Total O(I(D+2nλ(Nx3+2nK)))O\left(I\left(D+2^{n_{\lambda}}\left(N_{x}^{3}+2^{n}K\right)\right)\right) 2τ𝗄𝖿+n+τ𝖽𝖾𝖼+2\tau_{\sf kf}+n+\tau_{\sf dec}+
I(τ𝗄𝖿+τ𝖽𝖾𝖼+n+nλ)I\left(\tau_{\sf kf}+\tau_{\sf dec}+n+n_{\lambda}\right)

V Simulation Results

For control layer, a rotary inverted pendulum with n=16n=16, Z=πZ=\pi is employed as the plant. The system parameter matrices 𝐀\mathbf{A}, 𝐁\mathbf{B} and 𝐂\mathbf{C}, the controller gain matrix 𝐊con\mathbf{K}_{\text{con}} and the reference state vector 𝐱ref[k]{{\mathbf{x}}_{{\text{ref}}}}\left[k\right] are identical to those in [12]. 𝐖\mathbf{W} and 𝐕\mathbf{V} are diagonal matrices with the diagonal elements σW2\sigma_{W}^{2} and σV2\sigma_{V}^{2}, respectively. The sampling interval is 1010ms, the simulation time is 100100s and the number of simulation runs is 100100. Once the pendulum falls, the simulation run is terminated. The performance of control layer is evaluated by the RMSE of the state vector against the ideal control case. For communication layer, (48,32)\left(48,32\right) 16-bit CRC code [13] and (96,48)\left(96,48\right) LDPC code [14] are used. The traversed bit number nλn_{\lambda} is 4. The iteration number of BP decoding is 50.

Fig. 3 provides the BLER performance of iterative joint detection with I=1I=1 and different system disturbances. In Fig. 3, as σW2\sigma_{W}^{2} and σV2\sigma_{V}^{2} decrease, the calculated prior probability is more accurate to improve the BLER performance of the iterative joint detection and [12]. Then, the BLER performance of [14] is same under different system disturbances, since the prior probability is not used in the BP decoding. Specifically, the iterative joint detection with σW2=106\sigma_{W}^{2}=10^{-6} and σV2=106\sigma_{V}^{2}=10^{-6} has about 0.780.78dB and 2.52.5dB performance gain at BLER 10110^{-1} compared with [14] and [12], respectively. Hence, the prior information obtained from the system model can improve the BLER performance of communication layer.

Fig. 4 provides the RMSE performance of the iterative joint detection with I=1I=1 and different system disturbances. In Fig. 4, we observe that the RMSE with different system disturbances is reduced and converged as the SNR increases. Then, the converged SNR of the iterative joint detection is less than those of [12] and [14]. Specifically, the performance gap between the iterative joint detection and [14] is about 0.670.67dB with σW2=106\sigma_{W}^{2}=10^{-6} and σV2=106\sigma_{V}^{2}=10^{-6} at RMSE 10110^{-1}. Thus, the iterative joint detection can enhance the BLER performance of communications while improving the RMSE performance of controls, which shows the advantage of the joint design of controls and communications with prior information.

Fig. 5 shows the BLER performance of the iterative joint detection with σW2=108\sigma_{W}^{2}=10^{-8}, σV2=108\sigma_{V}^{2}=10^{-8} and different II. In Fig. 5, we observe that as II increases, the BLER performance is improved and converged. The performance gap between I=1I=1 and I=128I=128 is about 0.610.61dB at BLER 10310^{-3}. Thus, updating the prior information can further improve the BLER performance of the iterative joint detection.

Refer to caption
Figure 3: The BLER performance of the iterative joint detection with I=1I=1 and different system disturbances.
Refer to caption
Figure 4: The RMSE performance of the iterative joint detection with I=1I=1 and different system disturbances.
Refer to caption
Figure 5: The BLER performance of the iterative joint detection with σW2=108\sigma_{W}^{2}=10^{-8}, σV2=108\sigma_{V}^{2}=10^{-8} and different II.

VI Conclusion

In this letter, an iterative joint detection algorithm of KF and channel decoder is proposed by utilizing the prior information of control system to improve the control and communication performance. In the algorithm, the prior information is initialized by KF and updated by traversing the possible outputs of control system in order to implement iterative detection. The simulation results show that the prior information and the iterative structure can improve the control and communication performance.

References

  • [1] L. Zhang, H. Gao, and O. Kaynak, “Network-induced constraints in networked control systems—a survey,” IEEE Transactions on Industrial Informatics, vol. 9, no. 1, pp. 403–416, 2013.
  • [2] P. Park, S. Coleri Ergen, C. Fischione, C. Lu, and K. H. Johansson, “Wireless network design for control systems: A survey,” IEEE Communications Surveys & Tutorials, vol. 20, no. 2, pp. 978–1013, 2018.
  • [3] L. Schenato, B. Sinopoli, M. Franceschetti, K. Poolla, and S. S. Sastry, “Foundations of control and estimation over lossy networks,” Proceedings of the IEEE, vol. 95, no. 1, pp. 163–187, 2007.
  • [4] B. Sinopoli, L. Schenato, M. Franceschetti, K. Poolla, M. Jordan, and S. Sastry, “Kalman filtering with intermittent observations,” in 42nd IEEE International Conference on Decision and Control (IEEE Cat. No.03CH37475), vol. 1, 2003, pp. 701–708 Vol.1.
  • [5] X. Liu and A. Goldsmith, “Kalman filtering with partial observation losses,” in 2004 43rd IEEE Conference on Decision and Control (CDC) (IEEE Cat. No.04CH37601), vol. 4, 2004, pp. 4180–4186 Vol.4.
  • [6] L. Shi, M. Epstein, and R. M. Murray, “Kalman filtering over a packet-dropping network: A probabilistic perspective,” IEEE Transactions on Automatic Control, vol. 55, no. 3, pp. 594–604, 2010.
  • [7] M. Huang and S. Dey, “Stability of kalman filtering with Markovian packet losses,” Automatica, vol. 43, no. 4, pp. 598–607, 2007.
  • [8] Y. Mo and B. Sinopoli, “Kalman filtering with intermittent observations: Tail distribution and critical value,” IEEE Transactions on Automatic Control, vol. 57, no. 3, pp. 677–689, 2012.
  • [9] D. E. Quevedo, A. Ahlen, and K. H. Johansson, “State estimation over sensor networks with correlated wireless fading channels,” IEEE Transactions on Automatic Control, vol. 58, no. 3, pp. 581–593, 2013.
  • [10] S. Lin and D. J. Costello, Error Control Coding (2nd ed.).   PrenticeHall, Inc., 2004.
  • [11] S. Hattori, K. Kobayashi, H. Okada, and M. Katayama, “On-off error control coding scheme for minimizing tracking error in wireless feedback control systems,” IEEE Transactions on Industrial Informatics, vol. 11, no. 6, pp. 1411–1421, 2015.
  • [12] K. Kobayashi, H. Okada, and M. Katayama, “A cross-layer optimized receiver design for wireless feedback control systems,” IEEE Transactions on Communications, vol. 66, no. 1, pp. 320–329, 2018.
  • [13] 3rd{}^{\text{rd}} Generation Partnership Project (3GPP), “Multiplexing and channel coding,” Tech. Rep. 3GPP TS 38.212 V15.0.0, Sophia Antipolis Cedex, France, 2017.
  • [14] D. MacKay, “Good error-correcting codes based on very sparse matrices,” IEEE Transactions on Information Theory, vol. 45, no. 2, pp. 399–431, 1999. http://www.inference.org.uk/mackay/CodesFiles.html.