# Tensor-Based Approaches for Nonlinear and Multilinear Systems Modeling and Identification
## 5 Tensor-Based Approaches for Nonlinear Systems
### Block-Oriented Models
#### 5.5.4 Tensor Rank and Structure Identification  
Given the Volterra model associated with a block-oriented system among the three previously considered, it was shown in [51] that the inherent structure of the system can be inferred from analyzing the tensor rank of the \(p\)th-order Volterra kernel \(\mathcal{H}^{(p)}\). Indeed, from the results established in Sections 5.5.1-5.5.3, we can conclude that the tensor \(\mathcal{H}^{(p)}\) has a rank less than or equal to \(M_{g}\). It is precisely rank 1 for a Wiener model and diagonal for a Hammerstein one. However, the PARAFAC decomposition of \(\mathcal{H}^{(p)}\) is not guaranteed to be of minimal rank. The method is based on a filtering of the system output with a FIR filter with nonzero random coefficients. The Volterra kernel of this augmented system is ensured to have minimal rank. For an order \(M_{f}\) FIR filter with an impulse response coefficients vector \(\mathbf{f}\), the tensor corresponding to the \(p\)th order Volterra kernel of the augmented system is given by  
\[\bar{\mathcal{H}}^{(p)}=c_{p}\mathcal{I}\underset{i=1}{\times}\bar{\mathbf{A} }^{(i)}, \tag{68}\]  
where \(\bar{\mathbf{A}}^{(i)}=\mathcal{T}_{M_{g},M_{g}}(\mathbf{1})\), \(i\in\langle p-1\rangle\), \(\bar{\mathbf{A}}^{(p)}=\mathcal{T}_{M_{g},M_{g}}(\mathbf{1})diag(\bar{ \mathbf{g}})\), \(\bar{\mathbf{g}}=\mathcal{T}_{M_{g},M_{g}}(\mathbf{f})\mathbf{g}\), \(\bar{M}_{g}=M_{f}+M_{g}-1\), and \(\bar{M}_{v}=M_{v}+M_{f}-1\). The factor matrices are generically full column rank. Therefore, the matrix unfolding of the tensor along the \(p\)th dimension is full rank and reflects the tensor rank. This leads to the following decision rule  
\[rank(\bar{\mathcal{H}}^{(p)})=\bar{M}_{v}\Longrightarrow\text{ Hammerstein structure (Nonlinear-Linear)}\] \[rank(\bar{\mathcal{H}}^{(p)})=M_{f}\Longrightarrow\text{ Wiener structure (Linear-Nonlinear)}\] \[rank(\bar{\mathcal{H}}^{(p)})\in\Big{]}M_{f},\bar{M}_{v}\Big{[} \Longrightarrow\text{Wiener-Hammerstein structure (Linear-Nonlinear-Linear).}\]  
Since the factor matrices are full column rank, the tensor rank is precisely given by the rank of the \(p\)th unfolding of tensor, hereafter denoted \(\bar{\mathbf{H}}_{p}\). However, in presence of Volterra kernel estimation errors, \(\bar{\mathbf{H}}_{p}\) is often full column rank, which can lead to an erroneous selection of the Hammerstein structure. Thus, it is necessary to check the diagonal structure of the tensor in order to confirm the decision or not. This is performed by checking if the sum of diagonal entries of the tensor is much higher than those of off-diagonal ones. If the matrix is rank deficient, an interesting rule for computing the rank \(r\) from the singular values of the matrix is given in [87] as  
\[r=\arg\min_{i}\rho(i),\quad\rho(i)=\frac{\sigma_{i+1}^{2}}{\sigma_{i}^{2}-2 \sigma_{i+1}^{2}}\;\;\text{if}\;\;\sigma_{i+1}^{2}\leq\frac{\sigma_{i}^{2}}{3} \;\;\text{else}\;\;\rho(i)=1. \tag{69}\]  
The algorithm for detecting the structure of a block-oriented nonlinear system is then described in Algorithm 2:
```
Given the coefficients \(h^{(p)}_{i_{1},i_{2},\cdots,i_{p}}\) of the \(p\)th order kernel of the Volterra model associated with the block-oriented nonlinear system with memory \(M_{p}\):
1. Generate the impulse response \(\mathbf{f}\) of an \(M_{f}\geq M_{p}\) order FIR filter with random coefficients. 2. Form the tensor \(\mathcal{\bar{H}}^{(p)}\) of the augmented system by filtering the Volterra kernel as \[\bar{h}^{(p)}_{i_{1},i_{2},\cdots,i_{p}}=\sum_{i=0}^{M_{f}-1}f_{i}h^{(p)}_{i_{ 1}-i,j_{2}-i,\cdots,i_{p}-i}.\]
3. Compute the singular values \(\sigma_{i}\) of the matrix unfolding \(\bar{\mathbf{H}}_{p}\). 4. Compute the rank \(r\) of \(\bar{\mathbf{H}}_{p}\) as the smallest integer such that \[\sum_{i=1}^{k-1}\sigma_{i}<\epsilon\sum_{i=1}^{M_{p}+M_{f}-1}\sigma_{i}\leq \sum_{i=1}^{k}\sigma_{i},\] where \(\epsilon\) is a constant close to \(1\). 5. If \(r=\bar{M}_{v}=M_{v}+Mf-1\), test if \(\mathcal{\bar{H}}^{(p)}\) is diagonal.