## 3 Realization of Proposed QCD-OCC System  
### Implementation of Proposed QCD-OCC Transmitter Simulation  
A simulator is proposed to study challenges for the practical implementation of the proposed QCD-OCC system. Similar to the proposed system, the simulator had a Tx and an Rx. Figure 4 shows the components of Rx simulation. A random binary data generator function generates binary streams of variable lengths. For example, if \(P\) is a pseudorandom number between 0 and 1, and \(S\) is the size limit, then the generated data \(D_{G}\) are as shown in Equation (9):  
\[D_{G}=[x_{1},x_{2},x_{3},\ldots,x_{N}] \tag{9}\]  
where \(N=\lceil P\times S\rceil\) and  
\[x=\begin{cases}1,&\text{if }0.5>P\\ 0,&\text{otherwise}\end{cases}\]  
Figure 4: Block diagram of the proposed QCD–OCC transmitter simulator.  
These streams are written into three files to simulate three individual data sources. The maximal stream length (\(L_{max}\)) across the three files is computed as per Equation (10), where \(L_{1},L_{2},L_{3}\) are lengths of data stream in Files 1, 2, and 3, respectively.  
\[L_{max}=\max(L_{1},L_{2},L_{3}) \tag{10}\]  
The lengths of each data stream were equalized by padding 0 s. The number of zeros (\(Z_{i}\)) to be padded is determined according to Equation (11), where \(i\) is the file number.  
\[Z_{i}=(48\times\lceil\frac{L_{i}}{48}\rceil)-(L_{max}\mod 48) \tag{11}\]  
The individual data streams are appended with the corresponding number of zeros to obtain new data streams of lengths \(L_{i}^{new}\), where \(L_{i}^{new}=L_{i}+Z_{i}\). The lengths of the resultant data streams are equal to and multiples of 48. The total number of frames (\(N_{F}\)) required to transmit each file is \(L_{1}^{new}\div 48\). Thus, each frame consists of 48 bits for individual files. The 1 \(\times\) 48 scalar is vectorized into 6 \(\times\) 8 binary matrices. These 6 \(\times\) 8 matrices are further converted into 8 \(\times\) 8 matrices as per the proposed Tx frame format shown in Figure 4(a), where \(A_{i}\) and \(D_{i}\) are the anchor and data positions, respectively. The corner 2 \(\times\) 2 matrices are zeros and overwritten by an anchor pattern postmultiplexing. Each frame with common indices is forwarded to a color channel multiplexer, where an 8 \(\times\) 8 matrix from three file frames, namely, \(R_{8\times\ 8}^{Tx}\), \(G_{8\times\ 8}^{Tx}\) and \(B_{8\times\ 8}^{Tx}\) are multiplexed into a single 8 \(\times\ 8\ \times\ 3\) matrix \(O_{8\times\ 8\ \times\ 3}^{Tx}\). Figure 4(b) represents steps involved in color channel multiplexing. An 8 \(\times\ 8\) anchoring pattern is added across three channels obtaining the output 8 \(\times\) 8 \(\times\) 3 matrix. The anchor pattern values are assigned to be [\(A_{1}\), \(A_{2}\), \(A_{3}\), \(A_{4}\)] = [0, 0, 0, 0] and [\(A_{5}\),..., \(A_{16}\)] = [1,..., 1]. In the next step, the colors for each cell of the final 8 \(\times\) 8 matrix are defined per the baryon-color-model-inspired bit color mapping table.  
As an 8 \(\times\) 8 image is very small in terms of pixels, the image was rescaled to 64 \(\times\) 64. The final generated colored image was overlapped on a camouflage base image sized 1920 \(\times\) 1080 \(\times\) 3 using submatrix substitution, and Gaussian noise was added to simulate the process involved in RoI extraction. A magnification factor was integrated to simulate the change in Tx size according to the distance from the Rx. The resultant image underwent a rotation of 45\({}^{\circ}\) or 90\({}^{\circ}\) to verify the rotation support of the proposed system. Each image was named according to the frame number and stored in a folder.  
Figure 5: Proposed OCC modulation scheme frame format and color channel multiplexing process.