# A New LoRa-like Transceiver Suited for LEO Satellite Communications +
## 3 Proposed Transceiver
### Differential Chirp Spread Spectrum
#### 3.1.2 Additional Processing at the Receiver  
In the presence of the time varying Doppler shift, it is judicious to implement more precise estimation of the \(argmax\) of each FFT module. To address this, many techniques have been developed in the literature. For instance:  
* Quadratic interpolation;
* Secant method;
* [PERSON]'s method;
* Bisection method.  
For more details on the latter methods, the reader can refer to [29]. In this work, we used a low-complexity technique based on the Bisection method. Thus, we consider the interval \([a=\omega_{\hat{D}_{p}-1},b=\omega_{\hat{D}_{p}+1}]\), with \(\omega_{\hat{D}_{p}}=\frac{2\pi(\hat{D}_{p}-1)}{M}\) being the pulse that matches the symbol \(\hat{D}_{p}\), and we maximize the following function:  
\[R(\omega)=\Bigg{|}\sum_{n=0}^{M-1}z(n,p)e^{-j(n-1)\omega}\Bigg{|},\ \omega\in[a,b] \tag{21}\]  
With \(z(n,p)\) defined as in (16), with the transmitted symbol as \(\hat{D}_{p}\). We considered a non-coherent demodulation to take advantage of the robustness of DCSS against the phase variation.  
We propose to numerically compute an approximation of \(\hat{D}_{p}\) with an error less than a given maximum permissible error \(\phi\). A trivial solution is to consider \(N\) equidistant points \(y_{1}=a<y_{2}<\cdots<y_{N}=b\) with \(N>\frac{b-a}{\phi}\), to calculate \(R(y_{1}),R(y_{2}),\ldots,R(y_{N})\) and to find the index of the maximum of this sequence. This method requires the calculation of \(R(\omega)\) over \(N\) points. Therefore, it has a complexity in the order of \(O(M)=O(\frac{b-a}{\phi})\).  
However, taking into account the concave nature of \(R(\omega)\), the number of points at which the calculation of \(R(\omega)\) is performed can be significantly reduced by performing a binary search.  
The proposed algorithm is as follows:  
1. Consider a number of points that are of a power of two. More precisely, \(p=log_{2}(\frac{b-a}{\phi})+1\) and \(N=2^{p}\) are taken. The starting analysis interval is \([a,b]=[y_{1},y_{2^{p}}]\).
2. Estimate \(R(\omega)\) at the extremities \(y_{1}=a\) and \(y_{2^{p}}=b\), and also at the two points \"in the middle\" of the analysis interval, i.e., \(y_{2^{p-1}}\) and \(y_{2^{p-1}+1}\). If the maximum of \(R(\omega)\) calculated in these four points is reached for for one of the two extremities of \"half\" left \([y_{1},y_{2^{p-1}}]\), this interval becomes the new analysis interval, otherwise the new analysis interval will be the \"half\" right \([y_{2^{p-1}+1},y_{2^{p}}]\).
3. Loop on step 2 by processing the new analysis interval and continue until step 4 criteria is reached.  
After \(p\) iterations, the extremities of the analysis interval are two points at a distance of \(\frac{b_{p}-a}{2^{p}}\). The highest value of \(R(\omega)\) computed from these points is decided to be the sought solution.  
The association between the DCSS technique and the latter interpolation method would allow the proposed receiver to have high robustness against the time-varying CFO. To take advantage of this robustness, we propose in the next paragraph an original synchronization algorithm.