# An Improved Blind Recognition Algorithm of Frame Parameters Based on Self-Correlation
## 3 Frame Parameters Recognition Algorithm Based on Self-Correlation  
The frame synchronization code sequence has a local self-correlation function with sharp unimodal characteristics. Therefore, the frame synchronization parameters can be recognized by analyzing the self-correlation property. First, the mathematical model is analyzed and derived. The signal transmitted \(s(t)\) can be calculated through the following equation:  
\[s(t)\ =\sum_{i=0}^{N-1}c_{i}g_{T}(t-iT) \tag{5}\]  
In Equation (5), \(g_{T}\) represents signal generation filter while \(T\) represents symbol interval. The received signal \(r(t)\) can be calculated as:  
\[r(t)=a\ \exp[j\theta]s(t-\tau)+w(t) \tag{6}\]  
Figure 1: Frame sequence structure diagram. In Equation (6), \(a\) represents channel attenuation factor, \(\theta\) represents the phase shift during transmission, \(\tau\) represents the channel group delay, \(w(t)\) represents complex Gaussian white noise. At the receiving end, the signal is determined by the ADC sampling to become a discrete time signal. The sampling interval is \(T_{s}\), and then \(T=T_{s}N_{s}\) (\(N_{s}\) is an integer). The sampling signal at the receiving end can be expressed as:  
\[r(n\,T_{s})=a\,\,exp[j\theta]\,\sum_{i=0}^{N-1}c_{i}g(n\,T_{s}-iT-\tau)+w(n) \tag{7}\]  
Under cooperative communication conditions, maximum likelihood estimation is a common algorithm for the implementation of frame synchronization. The method uses a sliding time window to sample the signal and calculate a likelihood function between the sampled data and a known sequence of frame synchronization codes. The frame synchronization parameter is identified by searching for the maximum likelihood function value. When the sliding window obtains the optimal delay estimate, its corresponding likelihood function takes the maximum value, which can be expressed as:  
\[\hat{\tau}=\arg\arg_{\tau_{0}}\Lambda(\tau_{0},c) \tag{8}\]  
Likelihood function can be expressed as:  
\[\Lambda(\tau_{0},c)=\exp(\frac{\int_{T_{0}}|r(t)-a\,\,\exp[j\theta]s(t-\tau_{ 0})|^{2}dt}{N_{0}}) \tag{9}\]  
In Equation (9), \(T_{0}\) is the observation interval of the sliding time window. Equation (9) can be simplified as Equation (10) according to the reference [11]. \[\Lambda(\tau_{0},c)=\prod_{i=0}^{N-1}\exp\left(2\frac{\text{Re}\{(a\,\,\exp(j \theta))\,^{*}y_{\tau_{0}}^{i}\,{}^{*}c_{i}{}^{*}\}}{N_{0}}\right) \tag{10}\]  
After obtaining the logarithm of Equation (10), it can generate:  
\[\Lambda(\tau_{0},c)=\sum_{i=0}^{N-1}\text{Re}\{(a\,\,\exp(j\theta))\,^{*}y_{ \tau_{0}}^{i}\,{}^{*}c_{i}{}^{*}\} \tag{11}\]  
In Equations (10) and (11), \(y_{\tau_{0}}^{i}\) represents discrete data sampled by the ADC. Using the known frame synchronization word sequence to perform cross-correlation calculation with the sampled data in the sliding window, Equation (11) can be equivalently simplified to:  
\[\Lambda_{\text{op}}(\tau_{m},c)=\frac{1}{M}\left|\sum_{i=0}^{M-1}y_{\tau_{m}} ^{i}p_{i}^{*}\right|^{2} \tag{12}\]  
In Equation (12), \(M\) represents the length of synchronization code sequence, \(p_{i}\) represents the \(i\)th data in the sync code sequence while \(\tau_{m}\) indicates the starting moment of the sliding window. In the context of non-cooperative communication, since the bits of synchronization word sequence are unknown, the cross-correlation calculation in Equation (12) cannot be directly used to recognize the frame synchronization word sequence. Therefore, the cross-correlation calculation in Equation (12) should be changed to the self-correlation calculation, which is shown in Equation (13). \[\Lambda_{\text{op}}(\tau_{m},\tau_{n},c)=\frac{1}{M}\left|\sum_{i=0}^{M-1}y_{ \tau_{m}}^{i}\,(y_{\tau_{n}}^{i})\,{}^{*}\right|^{2} \tag{13}\]In Equation (13), \(y^{i}_{\tau_{m}}\) and \(y^{i}_{\tau_{n}}\) are the sampling data of different times in the sliding windows while the interval of the two sliding time windows are integer multiples of \(M\).