*3.1. At the Transmitter Side*

The original signal was hidden using a known 3D Lorenz chaotic signal. Lorenz used *θ*<sup>1</sup> = 10, *θ*<sup>2</sup> = 28, and *θ*<sup>3</sup> = 8/3. This system shows chaotic behavior [65]. Three phases applied chaotic masking. First, we used the fourth-order Runge–Kutta (RK4) to solve the 3D Lorenz chaotic system equation to create the chaotic signal. RK4 examines iterative steps in four places [66,67]. Runge–Kutta was run three times for each point in phase space with *h* = 0.01 [49–52].

$$
\stackrel{\rightarrow}{k\_2} = h \stackrel{\rightarrow}{f} \left( \stackrel{\rightarrow}{\mathcal{X}}\_{\mathcal{L}} + \frac{1}{2} \stackrel{\rightarrow}{k\_1} \right) \tag{36}
$$

$$
\stackrel{\rightarrow}{k\_3} = h \stackrel{\rightarrow}{f} \left( \stackrel{\rightarrow}{\mathbf{x}}\_c + \frac{1}{2} \stackrel{\rightarrow}{k\_2} \right) , \tag{37}
$$

$$
\stackrel{\rightarrow}{k\_4} = h \stackrel{\rightarrow}{f} \left( \stackrel{\rightarrow}{\mathbf{x}}\_c + \frac{1}{2} \stackrel{\rightarrow}{k\_3} \right) , \tag{38}
$$

$$
\stackrel{\rightarrow}{\mathbf{x}}\_{\varepsilon}(t\_0 + h) = \stackrel{\rightarrow}{\mathbf{x}}\_{\varepsilon}(t\_0) + (\stackrel{\rightarrow}{k}\_1 + 2\stackrel{\rightarrow}{k}\_2 + 2\stackrel{\rightarrow}{k}\_3 + \stackrel{\rightarrow}{k}\_4),
\tag{39}
$$

$$
\stackrel{\rightarrow}{k\_1} = \stackrel{\rightarrow}{h} \stackrel{\rightarrow}{f} \begin{pmatrix} \stackrel{\rightarrow}{\mathbf{x}}\_c \\ \end{pmatrix}, \tag{40}
$$

$$
\stackrel{\rightarrow}{\mathbf{x}}\_{\varepsilon}(t\_0 + h) = \stackrel{\rightarrow}{\mathbf{x}}\_{\varepsilon}(t\_0) + (\stackrel{\rightarrow}{k}\_1 + 2\stackrel{\rightarrow}{k}\_2 + 2\stackrel{\rightarrow}{k}\_3 + \stackrel{\rightarrow}{k}\_4),
\tag{41}
$$

$$\stackrel{\rightarrow}{k\_1} = \begin{bmatrix} k\_{1x} \\ k\_{1y} \\ k\_{1z} \end{bmatrix} = h \stackrel{\rightarrow}{f} \begin{pmatrix} \stackrel{\rightarrow}{x}\_c \\ \stackrel{\rightarrow}{x}\_c \end{pmatrix} = h \stackrel{\rightarrow}{f} \begin{bmatrix} \mathbf{x}\_c \\ \mathbf{y}\_c \\ \mathbf{z}\_c \end{bmatrix} = h \stackrel{\rightarrow}{f} \begin{bmatrix} \mathbf{x}\_{c0} \\ \mathbf{y}\_{c0} \\ \mathbf{z}\_{c0} \end{bmatrix} = h \begin{bmatrix} \theta\_1 (y\_{c0} - \mathbf{x}\_{c0}) \\ \theta\_2 \mathbf{x}\_{c0} - \mathbf{y}\_{c0} - \mathbf{x}\_{c0} \mathbf{z}\_{c0} \\ -\theta\_3 \mathbf{z}\_{c0} + \mathbf{x}\_{c0} \mathbf{y}\_{c0} \end{bmatrix} \tag{42}$$

$$\stackrel{\rightarrow}{k\_{2}} = \begin{bmatrix} k\_{2x} \\ k\_{2y} \\ k\_{2z} \end{bmatrix} = h \stackrel{\rightarrow}{f} \left( \stackrel{\rightarrow}{\mathbf{x}}\_{c} + \frac{1}{2} \stackrel{\rightarrow}{k\_{1}} \right) = h \stackrel{\rightarrow}{f} \left( \begin{bmatrix} \mathbf{x}\_{c} \\ y\_{c} \\ z\_{c} \end{bmatrix}\_{t=0} + \frac{1}{2} \begin{bmatrix} \mathbf{x}\_{1x} \\ y\_{1y} \\ z\_{1z} \end{bmatrix} \right) \tag{43}$$

$$\stackrel{\rightarrow}{k}\_3 = \begin{bmatrix} k\_{3x} \\ k\_{3y} \\ k\_{3z} \end{bmatrix} = h \stackrel{\rightarrow}{f} \left( \stackrel{\rightarrow}{\mathbf{x}}\_c + \frac{1}{2} \stackrel{\rightarrow}{k}\_2 \right) = h \stackrel{\rightarrow}{f} \left( \begin{bmatrix} \mathbf{x}\_c \\ y\_c \\ z\_c \end{bmatrix}\_{t=0} + \frac{1}{2} \begin{bmatrix} \mathbf{x}\_{2x} \\ y\_{2y} \\ z\_{2z} \end{bmatrix} \right) \tag{44}$$

$$\stackrel{\rightarrow}{k}\_{4} = \begin{bmatrix} k\_{4x} \\ k\_{4y} \\ k\_{4z} \end{bmatrix} = h \stackrel{\rightarrow}{f} \left( \stackrel{\rightarrow}{x}\_{c} + \frac{1}{2} \stackrel{\rightarrow}{k}\_{3} \right) = h \stackrel{\rightarrow}{f} \left( \begin{bmatrix} \chi\_{c} \\ y\_{c} \\ z\_{c} \end{bmatrix}\_{t=0} + \frac{1}{2} \begin{bmatrix} \chi\_{3x} \\ y\_{3y} \\ z\_{3z} \end{bmatrix} \right) \tag{45}$$

$$\stackrel{\rightarrow}{c}(t) = \begin{bmatrix} k\_{4x} \\ k\_{4y} \\ k\_{4z} \end{bmatrix} = \begin{bmatrix} \chi\_{c0} \\ \chi\_{c0} \\ \chi\_{c0} \end{bmatrix} + \frac{1}{6} \begin{pmatrix} \rightarrow & \rightarrow & \rightarrow & \rightarrow \\ \end{pmatrix} \tag{46}$$

The second stage involved sampling the original input to create a discrete signal or accumulating an analogue or continuous signal [47]. Sampling is described by the following arithmetic statement, where *δ*(*t*) represents the impulse train of period *Ts* [68]:

$$\text{Sample Signal } \mathbf{x}\_{\mathbf{s}}(t) = \mathbf{x}(t) \cdot \delta(t) \tag{47}$$

$$\delta(t) = a\_0 + \sum\_{n=1}^{\infty} \left( a\_n \cos(nw\_s t) + b\_n \sin(nw\_s t) \right) \tag{48}$$

$$a\_0 = \frac{1}{T\_s} \int\_{\frac{-T}{2}}^{\frac{T}{2}} \delta(t)dt = \frac{1}{T\_s} \delta(0) = \frac{1}{T\_s} \tag{49}$$

$$a\_n = \frac{2}{T\_s} \int\_{\frac{T}{2}}^{\frac{T}{2}} \delta(t) \cos(nw\_s) dt = \frac{2}{T\_s} \delta(0) = \frac{1}{T\_s} \cos(nw\_s 0) = \frac{2}{T\_s} \tag{50}$$

$$b\_n = \frac{2}{T\_s} \int\_{\frac{-T}{T}}^{\frac{T}{2}} \delta(t) \sin(nw\_s) dt = \frac{2}{T\_s} \delta(0) = \frac{1}{T\_s} \sin(nw\_s 0) = 0\tag{51}$$

$$\delta(t) = \frac{1}{T\_s} \sum\_{n=1}^{\infty} \frac{2}{T\_s} \delta(t) \cos(n w\_s t) + 0\tag{52}$$

$$\mathbf{x}\_{s}(t) = \mathbf{x}(t)[\frac{1}{T\_s} + \sum\_{n=1}^{\infty} \left(\frac{2}{T\_s}\cos(n\_t t)\right) + 0] \mathbf{j} = \frac{1}{T\_s} [\mathbf{x}(t) + 2\sum\_{n=1}^{\infty} (\cos(n w\_{s} t))\mathbf{x}(t)] \tag{53}$$

$$\mathbf{x}\_s(t) = \frac{1}{T\_s} [\mathbf{x}(t) + 2\cos(n w\_s t).\mathbf{x}(t) + 2\cos(n 2w\_s t).\mathbf{x}(t) + 2\cos(n 3w\_s t).\mathbf{x}(t) + \dots] \tag{54}$$

After sampling the original signal, downsampling reduced the signal's sampling rate by *M*. When a signal is downsampled, only every *M*th sample is taken and all others are discarded. Downsampling balances a dataset by matching the majority class (3D original signal) with minority class samples (3D chaotic signal). In the third stage, the downsampled original signal <sup>→</sup> *x <sup>d</sup>*(*t*) was added, or masked, to the chaotic oscillator output at the transmitter before transmission. The transmitter is represented as follows:

$$
\overrightarrow{\mathcal{L}}\,(t) = \mathcal{K}(\overrightarrow{\mathcal{X}}\_{\mathcal{L}}(t)),
\tag{55}
$$

→ *c* (*t*) is the chaotic system's output after applying RK4. <sup>→</sup> *x <sup>m</sup>* is formed by adding <sup>→</sup> *c* (*t*) to <sup>→</sup> *x <sup>d</sup>*(*t*)

$$
\stackrel{\rightarrow}{\mathfrak{x}\_{\mathfrak{m}}}(t) = \stackrel{\rightarrow}{\mathcal{c}}(t) + \stackrel{\rightarrow}{\mathfrak{x}\_{d}}(t) \tag{56}
$$

$$\stackrel{\rightarrow}{\mathcal{X}}\_{\mathfrak{m}} = \begin{bmatrix} \mathfrak{x}\_{\mathfrak{m}} \\ y\_{\mathfrak{m}} \\ z\_{\mathfrak{m}} \end{bmatrix} \quad \stackrel{\rightarrow}{\mathcal{X}}\_{\mathfrak{m}} = \begin{bmatrix} \mathfrak{x}\_{d} \\ y\_{d} \\ z\_{d} \end{bmatrix} \tag{57}$$

Before transmitting the signal via the channel, upsampling and interpolation were used to rebuild it. The upsampling procedure increases the sampling rate by an integer factor *M* (interpolation factor) by adding *M-*1 evenly spaced zeroes between each pair of samples. Mathematically, upsampling is provided by the following equations, where *l* = 0, ±1, ±2, . . . . The impulse train [*n*] represents the sampling function.

$$\mathbf{x}\_{II}[n] = \begin{cases} \mathbf{x}\_{m} \begin{bmatrix} \frac{\mathbf{n}}{M} \end{bmatrix}. & n = 0, \pm M, \pm 2M, \dots \\ 0 & \text{otherwise} \end{cases} \tag{58}$$

$$\mathbb{1}\mathfrak{x}\_{\mathrm{II}}[n] = \mathbb{x}\_{\mathrm{m}}[n]p[n] = \sum\_{l=-\infty}^{+\infty} \mathfrak{x}\_{\mathrm{m}}[l]\delta[n-lM] \tag{59}$$

$$p[n] = \sum\_{\tau=-8}^{+\infty} \delta[n-IM] \tag{60}$$

After upsampling, interpolation was used to create new data points within a specified range. If the sampling instants are near enough, the signal can be accurately recreated by low-pass filter interpolation. Low-pass filtering *xU*[*n*] reconstructs *xm*[*n*]. The interpolated signal *xT*[*n*] is calculated as [69]:

$$\mathbf{x}\_T[N] = \mathbf{x}\_{\mathrm{II}}[n] \* h[n] \tag{61}$$

*h*[*n*] denotes the impulse response of the low-pass filter:

$$h[n] = \frac{M\Omega\_{\mathbb{C}}}{2\pi} \text{sinc}\left(\frac{n\Omega\_{\mathbb{C}}}{\pi}\right) \tag{62}$$

Ω*<sup>C</sup>* is the cutoff frequency of the discrete time filter. So, the equivalent interpolation formula can be written as:

$$\mathbf{x}\_T[n] = \sum\_{l=-\infty}^{+\infty} \mathbf{x}\_m[lM] h\_T[n-lM] \tag{63}$$

$$\log\_T[n-IM] = \frac{M\Omega\_\mathbb{C}}{2\pi}\text{sinc}\left[\frac{\Omega\_\mathbb{C}}{\pi}(n-IM)\right] \tag{64}$$

*h*[*n*] is the impulse response of the interpolating filter. The interpolation using the *sinc* function is commonly referred to as band limited interpolation.

#### *3.2. On the Receiver Side*

On the receiver side, the received signal (masked original signal) was downsampled. To use chaotic communications, two identical chaotic oscillators were needed in the transmitter (or master) and receiver (or slave). Unknown receiver-side parameters (*θ* 1, *θ* 2, *θ* 3) needed to be approximated. The quantum fruit fly optimization algorithm (QFOA) estimates the 3D Lorenz chaotic system's unknown parameters. The fundamental QFOA includes a setup step and a cycle of smelling, evaluating, and flocking [15,43,70]. The QFOA control parameters were set, including the maximum number of generations and population size, and the fruit fly swarm's location was randomized. As the original FOA can only solve continuous optimization issues, it was adapted to tackle synchronization in chaos-based communication networks. Each fly picked randomly from the search space group, including *θ* 1, *θ* 2, and *θ* 3. As stated in [71], the search space for unknown chaotic system parameters is [9 11], [20 30], and [2 3]. Given these initial answers, QFOA repeated the following steps [72]:


This stage outputs the 3D Lorenz chaotic system's ideal parameters. The second stage of synchronization used these characteristics as inputs. RK4 was used again to create the estimated 3D chaotic signal. The third stage received this estimated signal and the downsampled received signal. We then subtracted the two signals to get the sampled signal. The original signal was reconstructed using upsampling and interpolation. Perfect synchronization is key to reconstructing the original signal. Table 1 provides the link between QFOA parameters and the parameters estimation problem of the chaotic system.

**Table 1.** The link between QFOA parameters and the parameters estimation problem of the chaotic system.


### **4. Results**

This section analyses the model's efficiency. Experiments were performed to test the model's reliability in estimating chaotic system parameters. The suggested approach optimized synchronization with the Lorenz chaotic system and speech signal. The 20 to 30 dB weaker speech signal was combined with the chaotic mask signal to create a broadcast signal. Table 2 shows the experiment's algorithm settings. The recommended model was implemented in MATLAB R2017b (9.3.0.713579) 64-bit. The model was constructed using a laptop with an Intel (R), Core (TM) i5-8250U CPU@ 1.60 GHZ @ 1.80 GHz, 8 GB, and 64-bit operating system, with a x64 processor.

In the proposed chaotic parameters estimate model, various statistical parameters were employed to evaluate model performance. These evaluations included [45] the mean (average) of best fitness values and standard deviations. For a robust model, these means (mean of best fitness) needed to be as low as possible, where optimum fitness quantifies the difference between estimated and sent signals. Standard deviations (Std.) shows how measurements for a group are spread apart from the average (mean) or anticipated value. A low standard deviation suggests that most data points are near to the mean (more reliable). A large standard deviation suggests the data points are widely scattered (less reliable).


**Table 2.** The parameters of the optimization algorithms (Reference parameters collected from previous studies).
