# Natural Brain-Inspired Intelligence for Non-Gaussian and Nonlinear Environments with Finite Memory
## 5 CDS Implementation Case Study: OFDM Long-Haul Fiber Optic Communications
### Simulation Results and Discussions
#### 5.2.4 CDS Complexity for Proof-Concept Case Study on Long-Haul OFDM Fiber Optic Link  
In order to calculate the computational cost, we distinguish two types of CDS modes: (i) Modeling extraction mode and (ii) Steady-state mode. The complexity of a CDS varies depending on the perceptor mode. When the CDS operates in the BER improvement mode, the BER converges after \(N\) OFDM frames (in simulation \(N=28\),000) and each frame has \(D\) data-carrying subcarriers (From Table 1, it is 126). To create the histogram (i.e., to calculate \(P(\mathbf{X}_{n}|\mathbf{Y}_{n}^{m})\)) based on the discretized data, we need \(N\times D\) simple additions (just counting the samples within the tiny surface). To calculate \(P(\mathbf{X}_{n}|\mathbf{Y}_{n}^{m})\), we need \(S\) real multiplications where \(S\) is the order of QAM (in our example, \(S=16\)), then, we save the maximum probability for the related QAM alphabet. For simplicity, we assume that the minimum and maximum of the probability box in all focus levels are \(y_{\min}^{k,m}=x_{\min}^{k,m}=-6\) and \(y_{\max}^{k,m}=x_{\max}^{k,m}=6\), respectively for this proof-of-concept example. As a result, the storage requirement depends on the precision factor. For example, with a \(\mathbf{PF}^{k,m=0}\) of 2 in focus level zero, we need to store a matrix of \begin{table}
\begin{tabular}{c c} \hline \hline
**Results or CDS Parameters** & **Value** \\ \hline Data rate (\(k=9\)) & 280 Gb/s \\ \(p_{i=0}^{k=1,2,-9}\) & 2 \\ \(p_{i=1}^{k=9,6,-9}\) & 5 \\ BER (\(k=9\)) & \(4.4\times 10^{-3}\) \\ Q-factor improvement (\(k=9\)) & 6.98 dB \\ \hline \hline \end{tabular}
\end{table} 
Table 4: The CDS parameters at steady state. dimension \(N_{x}^{k,0}\times N_{y}^{k,0}=60\times 60\) (see, Equations (6) and (7), \(\max(F_{m=0}^{total,k})=3600\)). Also, the storage requirement in focus level one with a \(\mathbf{PF}^{k,m=0}\) of 2 and a \(\mathbf{PF}^{k,m=1}\) of 5, we need to store the matrix which has a dimension of \(N_{x}^{k,1}\times N_{y}^{k,1}\times N_{x}^{k,0}\times N_{y}^{k,0}=12\) by 12 by 60 (see, Equations (6) and (7), \(\max(F_{m=1}^{total,k})=518,400\)). These matrices can be stored in a hard disk and can be loaded into RAM when needed. Therefore, the complexity threshold (here, it is \(10^{6}\)) is the predefined maximum available storage for saving in a hard disk or loading into RAM, when needed. When the CDS operates in the steady-state mode, there is no cost associated with model extraction (i.e., to calculate \(P(\mathbf{X}_{n}|\mathbf{Y}_{n}^{m})\)). Therefore, no multiplication or addition is needed in steady state. For validating, we need to process 28,000 frames (see Table 3) using digital back propagation (DBP), and this cannot be done using typical processors. Therefore, we assumed the DBP processing the 28,000 frames as ~55 blocks of 512 frames. The computational cost associated with DBP for processing 512 OFDM frames is as follows. In each propagation step, \(J\log_{2}(J)\) complex multiplications are required where \(J\) is the number of samples in time domain. If there are \(B\) propagation steps, the complex multiplication is \(O(B\times J\log_{2}J)\)[43; 44]. For example, for a 20-span system, assuming 10 steps per span and with \(J=16\),384, we need 45,875,200 complex multiplications! Besides, this computation needs to be done continuously for each block of data. Three complex vectors of length \(J\) (the total size of 98,304) needs to be stored. In contrast, most of the computational complexity of the CDS is present only when there is a fluctuation in the fiber optic channel. Under steady-state, the computational cost is minimal. It is useful to compare the complexity of the proposed method in this paper with the DBP method for Q-factor enhancement using the simulation parameters in Table 3 and processing 28,000 OFDM frames. We run both algorithms on a Microsoft Surface-Pro with Intel @Core TM i706650U CPU @ 2.20 GHz 2.21 GHz, 16 GB RAM, system type 64-bit Operating System x64-Based processor using MATLAB.