## 2 System Structure
### Receiving Processing  
After receiving the signal, we use the chirp signal in front of the data frame for synchronization. Then, we intercept the signal symbol by symbol, as shown in Figure 1. The received signal most related to the local reference signal is searched in two dimensions of spread spectrum code domain and Doppler domain. The search range is using all of the spreading codes and the expected Doppler factor range. One symbol for a received signal affected by Doppler is expressed as  
\[r_{n}(t)=\Re\left\{\sum_{k=0}^{N-1}d_{n}[k]g((1+\Delta_{n})t-nT_{s}-kT_{c})e^{ \beta 2\pi f_{c}(1+\Delta_{n})t}\right\}+n(t) \tag{12}\]  
where \(d_{n}\) is the spreading sequence obtained by Equations (1)-(3). \(d_{n}\in\mathbb{P}\).  
\(s_{r}^{ij}(t)\) represents the passband reference signal.  
\[s_{r}^{ij}(t)=\sum_{m=0}^{N-1}c_{i}[m]g(t-mT_{c})e^{\beta 2\pi f_{c}(1+\Delta_{j})t} \tag{13}\]  
where \(1\leq i\leq M\), \(1\leq j\leq(2f_{d}/U)\), and \(f_{d}\) represents the max Doppler frequency offset. The search range for Doppler is \([-f_{d},f_{d}]\), \(U\) represents the search step in Doppler domain, and \(M\) is the number of spread spectrum sequences used by the MSS system.  
Figure 1: System receiving and processing flow chart.  
In the additive white Gaussian noise channel, the optimal receiver is the one with the maximum amplitude in the correlator group  
\[\hat{i},\hat{j}=\arg\max_{\begin{array}{c}1\leq i\leq M\\ 1\leq j\leq(2f_{d}/Q)\end{array}}\int_{0}^{T_{s}}r_{n}(t)s_{r}^{ij}(t)dt \tag{14}\]  
Then the cross-correlation result between the n_th_ intercepted symbol and the passband reference signal is  
\[R_{nr}(\tau)=\int\limits_{-\infty}^{\infty}r_{n}(t)s_{r}^{ij*}(t+\tau)dt=R_{c} ((1+\Delta_{n})\tau-nT_{s})e^{2\pi f_{c}(\Delta_{n}-\Delta_{j})\tau}+w(\tau) \tag{15}\]  
where \(R_{c}(\tau)\) is the cross-correlation between the one-symbol-received signal and a passband reference signal with spreading sequence, \(c_{i}\), and the Doppler factor, \(\Delta_{j}\). \(w(\tau)\) represents the equivalent correlation noise term, and the superscript stands for conjugation.  
According to Equation (14), each symbol requires \(M\frac{2f_{c}}{U}\) correlation operations to find the maximum peak value and obtain the spreading sequence number, \(i\), which is used by the reference signal when the correlation result reaches maximum value.  
\[\hat{D}[i],\hat{\Delta}_{n}=\operatorname*{argmax}_{c_{i},\Delta_{j}}\Bigl{\{} \Bigl{|}R_{c}((1+\Delta_{n})\tau-nT_{s})e^{2\pi f_{c}(\Delta_{n}-\Delta_{j}) \tau}\Bigr{|}\Bigr{\}} \tag{16}\]  
According to the mapping relationship between the spreading code number and the decimal number, \(\hat{D}[i]\) is obtained. The data are recovered by the corresponding relationship between information bits and decimal numbers; \(\hat{a}[i]\), \(1\leq i\leq K\), and the decoding of the current symbol are implemented.  
Using the Doppler estimation, \(\hat{\Delta}_{n}\), of the present symbol, we adjust the data length of the current symbol to accomplish the next symbol synchronization.  
\[V_{n+1}=V_{n}+len(1+\hat{\Delta}_{n}),1\leq n\leq L-1 \tag{17}\]  
where \(V_{n}\) is the starting position of the n_th_ received signal, and \(len\) is the length of the single transmitted symbol. Then we intercept the next symbol according to the single transmitted symbol length, repeat the above process, and finish the decoding of all symbols.