# Carrier phase recovery of LDPC-coded systems based on the likelihood difference algorithm

Rodrigue Imad, Sébastien Houcke

► To cite this version:

Rodrigue Imad, Sébastien Houcke. Carrier phase recovery of LDPC-coded systems based on the likelihood difference algorithm. EURASIP Journal on Advances in Signal Processing, 2023, 2023, 10.1186/s13634-023-00975-7. hal-04001860

HAL Id: hal-04001860

https://hal.science/hal-04001860

Submitted on 23 Feb 2023

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# Carrier phase recovery of LDPC-coded
systems based on the likelihood difference
algorithm

Rodrigue Imad<fnref n="1" />* and Sebastien Houcke<fnref n="2" />

**Abstract**

The problem of blind phase offset recovery of low density parity-check (LDPC)-coded
systems is considered in this paper. We propose a new algorithm of phase offset
estimation that involves the computation and maximization of a likelihood difference
(LD)-based cost function calculated from the parity-check matrix of the code. We show
in this paper that the new cost function has a simplified form compared to another
algorithm proposed in the literature and presents similar estimation performance.
Mean squared error (MSE) curves show very good performance of the proposed phase
offset estimation algorithm, even at low signal-to-noise ratios.

**Keywords:** Phase offset estimation, LDPC codes, Likelihood functions, Parity-check matrix

# 1 Introduction

In the Fifth-Generation (5G) New Radio (NR) standards, low density parity-check (LDPC) codes have been adopted. This is due to their high throughput, variable code rate and length, and high error-correcting capability [1]. The excellent decoding performance of LDPC codes is based on the assumption of ideal coherent detection. However, a degradation in their performance is seen when a phase offset is present in the system. Therefore, an accurate estimation of this phase offset is needed before data decoding and detection.

A classical algorithm based on the hard decision directed (HDD) approach is often
used for phase recovery [2]. Code Aided synchronization algorithms were also proposed
as in [3–5]. These algorithms use the information provided by the decoder to perform
synchronization. In [6, 7] the authors introduced novel algorithms of phase and carrier
frequency offsets estimation for coded systems. Phase synchronization techniques for
non-binary codes were also proposed in [8].

The algorithm proposed in [6] involved the minimization of cost functions, which
were based on log-likelihood ratios (LLRs), and obtained from the parity-check
matrix of the error-correcting code used in the system. In [9–11], the authors solved
the problem of blind recognition of LDPC codes by using a function of the likelihood

<figure><img src="image_2.png" /></figure>

<footnote>*Correspondence:
rodrigue.imad@balamand.edu.lb</footnote>

<footnote n="1">¹ Department of Computer
Engineering, University
of Balamand, Balamand, Lebanon</footnote>

<footnote n="2">² Mathematical and Electrical
Engineering (MEE) Department,
IMT Atlantique, Brest, France</footnote>
difference (LD). A similar function was used in [12] to deal with the problem of frame synchronization of LDPC codes.

In this paper, we propose a new technique of phase offset recovery that is based on the same concept of [6] but using new simplified cost functions that use the LD instead of the LLR. We will show in this paper that these functions are more simplified than the ones introduced in [6] and can achieve similar performance.

This paper is organized as follows. In Sect. 2, the context of our study and the blind phase offset estimation technique of [6] are presented. The simplified algorithm proposed in this paper is presented in Sect. 3. Simulation results are shown in Sect. 4 where a comparison with existing phase offset estimation algorithms is also shown. Section 5 concludes the work.

## 2 Blind phase offset estimation

We consider in this paper that information bits are encoded before transmission by an LDPC code of rate $R = \frac{k}{n}$, with k the length of information bits and n the length of a coded block. Encoded bits are then modulated by a binary phase shift keying (BPSK) modulation and transmitted over an additive white Gaussian channel. Note that the BPSK modulation is chosen for simplicity reasons, and the blind phase recovery algorithm proposed in this paper is not restrictive to this type of modulation. An extension of the proposed algorithm to any type of modulation is also given in this paper.

By assuming perfect timing recovery and frame synchronization at the receiver side, and a negligible frequency offset between local oscillators within the transmitter and the receiver, a received sample can be written as:

$$r(i) = x(i)e^{j\theta_0} + w(i), \qquad (1)$$

where $x(i)$ is the ith encoded and modulated symbol, $w(i)$ is a white Gaussian noise sample and $\theta_0$ is the phase offset of the channel. Note that in the context of our paper, we considered that the phase offset $\theta_0$ is constant on an LDPC code and that it varies from a block to another.

The blind phase offset estimation algorithm proposed in [6] is based on a Maximum A Posteriori (MAP) approach and it maximizes the probability that a phase corresponds to the correct phase offset, for a given number of received samples.

In a noise-free channel and after correcting the received samples by the phase offset, the resultant block should be a valid codeword. As shown in [13], the most efficient way to prove that a block is a codeword is by calculating its syndrome, which is obtained from the parity-check matrix of the code used at the transmission. The blind phase estimation method proposed in [6] consists of the following:

Once a codeword is received, its corresponding samples are rotated by phase $\tilde{\theta}$ as per the following equation:

$$r_{\tilde{\theta}}(i) = r(i)e^{-j\tilde{\theta}}, \qquad (2)$$

Then, from the real and imaginary parts of the resulting samples, two log-likelihood ratio (LLR) functions inspired by [14] are calculated:
$$L_{SP_R}(\tilde{\theta}) = E \left[ \sum_{i=1}^{n-k} \left( (-1)^{u_i+1} \text{atanh} \left( \prod_{j=1}^{u_i} \tanh \left( \Re \left( \frac{r_{\tilde{\theta}}(i_j)}{\sigma^2} \right) \right) \right) \right) \right] \quad (3)$$

and

$$L_{SP_I}(\tilde{\theta}) = E \left[ \sum_{i=1}^{n-k} \left( (-1)^{u_i+1} \text{atanh} \left( \prod_{j=1}^{u_i} \tanh \left( \Im \left( \frac{r_{\tilde{\theta}}(i_j)}{\sigma^2} \right) \right) \right) \right) \right], \quad (4)$$

with:

* k: Length of information bits,

* n: Length of a coded block,

* $u_i$: Number of nonzero elements in the ith row of the parity-check matrix of the LDPC code,

* $i_j$: Position of the jth nonzero element in the ith row of the parity-check matrix of the code,

* $\sigma^2$: Variance of the noise,

* E: Statistical expectation operator,

* $\Re$: Real component of a complex number,

* $\Im$: Imaginary component of a complex number,

The method proposed in [6] then computes the following function:

$$J_{SP}(\tilde{\theta}) = L_{SP_R}(\tilde{\theta}) - L_{SP_I}(\tilde{\theta}), \quad (5)$$

which was shown to be minimum at a phase $\tilde{\theta} = \theta_0$.

By applying the gradient descent algorithm, the method in [6] estimates the phase offset of the channel by:

$$\hat{\theta}_{SP} = \underset{\tilde{\theta}}{\operatorname{argmin}} J_{SP}(\tilde{\theta}). \quad (6)$$

# 3 Proposed algorithm of blind phase offset estimation

In [9–11], the authors used a function of the likelihood difference (LD) to solve the problem of blind recognition of LDPC codes. This function was also used in [12] for the blind frame synchronization of LDPC-coded systems.

We propose in this section a new algorithm of blind estimation of the phase offset of the channel, based on a new LD function to be applied on the real and imaginary parts of the received samples. Note that the proposed estimation algorithm is blind in the sense that it does not require any training sequence to be added to the encoded bits.

## 3.1 Likelihood difference of parity-checks

The likelihood difference of the parity-checks of the code was first introduced in [9] to solve the problem of blind recognition of channel codes. By applying this algorithm, very good identification performance and a reduced computational complexity were reached.

In [9], the authors define the a posteriori LD of a parity-check by:
$$D(S_i) = p_0 - p_1 \qquad (7)$$

where $S_i$ is the ith parity-check of the code, $p_0 = P(S_i \text{satisfied}/r)$, $p_1 = P(S_i \text{unsatisfied}/r)$, and r is the received block.

The LD of parity-check $S_i$ is calculated by:

$$D(S_i) = \prod_{j=1}^{u_i} \tanh \left( \frac{-r(t + i_j)}{\sigma^2} \right) \qquad (8)$$

## 3.2 Proposed phase offset estimation algorithm for a BPSK modulation

In [10], the authors propose to maximize the average of the LD value in their codes recognition problem. In this paper, we propose to estimate the phase offset of the channel by maximizing new cost functions that are based on the LD concept. Hence, our new phase offset estimation technique is based on the following:

Once a codeword is received, we rotate its samples by a phase $\tilde{\theta}$, we get:

$$r_{\tilde{\theta}}(k) = r(k)e^{-j\tilde{\theta}}. \qquad (9)$$

Then, we compute two LD based functions that can be written as:

$$L_{LD_R}(\tilde{\theta}) = E \left[ \sum_{i=1}^{n-k} \left( \prod_{j=1}^{u_i} \tanh \left( -\Re \left( \frac{r_{\tilde{\theta}}(i_j)}{\sigma^2} \right) \right) \right) \right] \qquad (10)$$

and

$$L_{LD_I}(\tilde{\theta}) = E \left[ \sum_{i=1}^{n-k} \left( \prod_{j=1}^{u_i} \tanh \left( -\Im \left( \frac{r_{\tilde{\theta}}(i_j)}{\sigma^2} \right) \right) \right) \right]. \qquad (11)$$

The functions in (10) and (11) can be estimated by:

$$\hat{L}_{LD_R}(\tilde{\theta}) = \frac{1}{K} \sum_{l=0}^{K-1} \left[ \sum_{i=1}^{n-k} \left( \prod_{j=1}^{u_i} \tanh \left( -\Re \left( \frac{r_{\tilde{\theta}}(i_j)}{\sigma^2} \right) \right) \right) \right] \qquad (12)$$

and

$$\hat{L}_{LD_I}(\tilde{\theta}) = \frac{1}{K} \sum_{l=0}^{K-1} \left[ \sum_{i=1}^{n-k} \left( \prod_{j=1}^{u_i} \tanh \left( -\Im \left( \frac{r_{\tilde{\theta}}(i_j)}{\sigma^2} \right) \right) \right) \right] \qquad (13)$$

where K is the number of codewords used to estimate $L_{LD_R}$ and $L_{LD_I}$. In the remaining of this paper and for simplicity reasons, we assume that $K = 1$.

The variations of $L_{LD_R}$ and $L_{LD_I}$ in terms of the phase offset estimation error $\tilde{\theta} - \theta_0$ are plotted in Figs. 1 and 2, respectively, in a noise-free channel. The LDPC code used in these figures has a length $n = 512$ bits, a rate $R = 1/2$ and 4 nonzero elements in each row of its parity-check matrix. As shown in Figs. 1 and 2, $L_{LD_R}$ is maximal for $\tilde{\theta} = \theta_0$, while $L_{LD_I}$ is minimal.
<figure><img src="image_3.png" /><figcaption>Fig. 1 $L_{LD_R}(\tilde{\theta})$ curve versus the phase offset estimation error $\tilde{\theta} - \theta_0$ in a noise-free channel</figcaption></figure>

<figure><img src="image_4.png" /><figcaption>Fig. 2 $L_{LD_I}(\tilde{\theta})$ curve versus the phase offset estimation error $\tilde{\theta} - \theta_0$ in a noise-free channel</figcaption></figure>

Therefore we define a new cost function computed from functions $L_{LD_R}$ and $L_{LD_I}$, which is given by:

$$J_{LD}(\tilde{\theta}) = L_{LD_R}(\tilde{\theta}) - L_{LD_I}(\tilde{\theta}). \qquad (14)$$
Function $J_{LD}$ is plotted in Fig. 3 with the same code as in Figs. 1 and 2, and in a noise-free channel. From Fig. 3, it is clear that $J_{LD}$ is maximal for $\tilde{\theta} - \theta_0$. Therefore our new phase recovery algorithm proposed in this paper estimates the phase offset of the channel by:

$$ \hat{\theta}_{LD} = \underset{\tilde{\theta}}{\operatorname{argmax}} J_{LD}(\tilde{\theta}). \qquad (15) $$

Function $J_{LD}$ being maximal at $\tilde{\theta} - \theta_0$, applying the gradient descent algorithm to find an estimate of the phase offset of the channel should give good results.

Note that the main advantage of using the LD approach in the estimation of the phase offset of the channel is the simplified form of the cost function compared to the one introduced in [6]. This will also yield to a more simplified formula for the partial derivative of $J_{LD}$, which will be used in the gradient descent algorithm. The partial derivative of $J_{LD}$ is computed in Appendix of this paper.

Note also that function $J_{LD}$ involves the use of the variance of the noise $\sigma^2$. However, since $\sigma^2$ is considered constant during the transmission of a codeword, it can be omitted from functions (10) and (11) without affecting our algorithm performance, as will be shown in the simulation section of this paper.

### 3.3 Proposed algorithm for a higher-order modulation

The algorithm proposed in Sect. 3.2 is only applicable for a BPSK modulation. However, our cost function can be easily updated for any type of modulation. Indeed, once the higher-order modulated sample is received and rotated by a phase $\tilde{\theta}$, the Log-Likelihood Ratio (LLR) of each bit constituting the sample can be estimated by [15]:

<figure><img src="image_5.png" /><figcaption>Fig. 3 $J_{LD}(\tilde{\theta})$ curve versus the phase offset estimation error $\tilde{\theta} - \theta_0$ in a noise-free channel</figcaption></figure>
$$ \hat{\Gamma}(a_{\tilde{\theta}}((i-1)q+j)) = \min_{\substack{\gamma \in Q \\ a(j)=0}} \frac{|r_{\tilde{\theta}}(i) - \gamma|^2}{\sigma^2} - \min_{\substack{\gamma \in Q \\ a(j)=1}} \frac{|r_{\tilde{\theta}}(i) - \gamma|^2}{\sigma^2}, \quad j=1, \dots, q \qquad (16) $$

with:

* $Q$: Set of symbols of the higher-order modulation,

* $\gamma$: Possible symbol of $Q$,

* $a_{\tilde{\theta}}(i)$: ith coded bit obtained after the received samples are rotated by a phase $\tilde{\theta}$.

When the LLRs of all the bits are calculated, the functions in (10), (11) and (14) are computed but with $r_{\tilde{\theta}}$ replaced by $\hat{\Gamma}(a_{\tilde{\theta}})$. The obtained cost function is then maximized using the gradient descent algorithm.

## 4 Results and discussion

The performance of the proposed phase recovery algorithm is evaluated in this section and compared to existing methods. Monte Carlo simulations were carried out on different LDPC codes where for each realization, we chose the information bits, the additive white Gaussian noise, and the phase offset to be random. A BPSK modulation was considered in our system.

An LDPC code of length $n = 512$ bits, rate $R = 1/2$ and having 4 nonzero elements in each row of its parity-check matrix was considered in Fig. 4. The mean squared error (MSE) curve of the proposed algorithm was plotted in terms of the signal to noise ratio.

Based on Figs. 1 and 2 and in addition to the algorithm proposed in this paper which maximizes (14), we plotted in Fig. 4 two additional MSE curves obtained after

<figure><img src="image_6.png" /><figcaption>Fig. 4 MSE curves of the proposed algorithm applied to an LDPC code of length $n = 512$ bits, rate $R = 1/2$ and $u_i = 4$.</figcaption></figure>
maximizing (12) and minimizing (13), respectively. For the gradient descent algorithm used in the three curves plotted in this figure, a step $\epsilon_i = \frac{1}{30i}$ and 50 iterations were set. As can be seen in Fig. 4, the proposed phase offset algorithm that maximizes (14) is the most powerful algorithm. An MSE of $6.10^{-3}$ is reached at 3 dB.

In Fig. 5, our proposed phase offset recovery algorithm was tested on two LDPC codes that have same length ($n = 648$), same rate ($R = 1/2$), but differ only with the number of nonzero elements in each row of their parity-check matrix. Codes $C_1$ and $C_2$ have $u_i = 4$ and 6, respectively. As can be seen from Fig. 5, the performance of the proposed algorithm is improved when the number of nonzero elements in the parity-check matrix of the code decreases. In this same figure, we also plotted the MSE curves of the blind synchronization method proposed in [6], and this for both codes. From Fig. 5, it is clear that the algorithm proposed in this paper and the one introduced in [6] have almost the same performance. However, the algorithm proposed in this paper has a computational complexity less than that proposed in [6]. Indeed, and as shown in Appendix, the partial derivative of the cost function $J_{LD}$ is much more simplified than that proposed in [6]. Therefore, for the same number of iterations of the gradient descent, the algorithm proposed in this paper will be faster to find an estimate of the phase offset of the channel, than the one proposed in [6]. Moreover and as shown in Sect. 3, the cost function $J_{LD}$ that we are maximizing in the algorithm proposed in this paper does not require the knowledge of the variance of the noise.

In Fig. 6, we applied the proposed phase offset estimation algorithm to an LDPC code of length $n = 648$ bits, rate $R = 1/3$, which has 4 nonzero elements in each row of its parity-check matrix. In this figure, we also plotted the MSE curves of the method proposed in [6], the HDD technique of [2], and the classical algorithm of [16]. Again, the proposed algorithm has a performance similar to the one proposed in [6], despite the

<figure><img src="image_7.png" /><figcaption>**Fig. 5** MSE curves of the proposed algorithm applied to two LDPC codes of length $n = 648$ bits and rate $R = 1/2$. Code $C_1$: $u_i = 4$, Code $C_2$: $u_i = 6$</figcaption></figure>
<figure><img src="image_8.png" /><figcaption>**Fig. 6** Comparison between the proposed and existing phase offset estimation methods applied to an LDPC code of length $n = 648$ bits, rate $R = 1/3$ and $u_i = 4$</figcaption></figure>

<figure><img src="image_9.png" /><figcaption>**Fig. 7** MSE curves of the proposed algorithm for an LDPC code of length $n = 1944$ bits, rate $R = 1/2$, and $u_i = 6$, for different number of iterations of the gradient descent</figcaption></figure>

fact the algorithm proposed in this paper has a lower computational complexity. Furthermore, it is seen from Fig. 6 that the algorithm proposed in this paper clearly outperforms the HDD algorithm and the one proposed in [16]. By applying the proposed algorithm, an MSE of $4.10^{-3}$ is obtained at 4 dB.

In Fig. 7, the performance of the proposed algorithm was studied for different number of iterations of the gradient descent algorithm. The LDPC code used in this simulation
<table><caption>**Table 1** Order of complexity in terms of number of multiplications</caption><thead><tr><td>Algorithm</td><td>Complexity</td></tr></thead><tbody><tr><td>HDD algorithm</td><td>O(N)</td></tr><tr><td>Algorithm of [16]</td><td>O(N)</td></tr><tr><td>Algorithm of [6]</td><td>O((n - k)u<sub>i</sub>M)</td></tr><tr><td>Proposed algorithm</td><td>O((n - k)u<sub>i</sub>M)</td></tr></tbody></table>

<table><caption>**Table 2** Execution time of the proposed and existing algorithms</caption><thead><tr><td></td><td>Proposed algorithm</td><td>Algorithm of [6]</td></tr></thead><tbody><tr><td>C<sub>1</sub>, M = 50 iter.</td><td>113 ms</td><td>143 ms</td></tr><tr><td>C<sub>1</sub>, M = 150 iter.</td><td>238 ms</td><td>310 ms</td></tr><tr><td>C<sub>3</sub>, M = 50 iter.</td><td>322 ms</td><td>412 ms</td></tr><tr><td>C<sub>3</sub>, M = 150 iter.</td><td>911 ms</td><td>1210 ms</td></tr></tbody></table>

has a length $n = 1944$ bits, rate $R = 1/2$, and 6 nonzero elements in each row of its parity-check matrix. As seen from Fig. 7, very good performance of the proposed algorithm is obtained for only 15 iterations of the gradient descent. From this figure, it is also shown that no improvement in the algorithm performance is seen after 30 iterations of the gradient descent.

## 4.1 Complexity study

Table 1 shows the order of complexity of the phase estimation algorithms studied in this paper, with:

* $N$: Number of samples used by the HDD algorithm and the algorithm of [16],

* $M$: Number of iterations of the gradient descent algorithm applied in the proposed algorithm and the algorithm of [6].

As shown in Table 1, the algorithm proposed in this paper and the existing algorithm of [6] have a similar order of complexity.

However, in order to have a better understanding of the computational complexity of each algorithm, we ran the proposed algorithm and the existing algorithm of [6] and calculated their execution time. We considered two LDPC codes that have same rate ($R = 1/2$) and same number of nonzero elements in each row of their parity-check matrix ($u_i = 4$). Codes $C_1$ and $C_3$ have $n = 648$ bits and 1944 bits, respectively. The execution time of both algorithms for a different number of iterations of the gradient descent algorithm is shown in Table 2. As shown in this table, the algorithm proposed in this paper has a lower execution time than the one proposed in [6].

## 5 Conclusion

The problem of carrier phase recovery of LDPC codes has been considered in this paper. We have proposed a novel blind phase offset estimation algorithm that involves the calculation and maximization of a likelihood Difference (LD) cost function. Using the LD
approach yields to a simplified cost function, hence an algorithm with reduced computational complexity. The simulation results have shown that the proposed algorithm has similar performance to a very powerful technique proposed in the literature, despite the fact that the technique proposed in this paper has lower computational complexity.

# Appendix

## Calculation of the partial derivative of $J_{LD}(\tilde{\theta})$

Our target is to find

$$ \frac{\partial J_{LD}(\tilde{\theta})}{\partial \tilde{\theta}} = \frac{\partial L_{LD_R}(\tilde{\theta})}{\partial \tilde{\theta}} - \frac{\partial L_{LD_I}(\tilde{\theta})}{\partial \tilde{\theta}}, \quad (17) $$

For this, the partial derivatives of $L_{LD_R}(\tilde{\theta})$ and $L_{LD_I}(\tilde{\theta})$ should be first computed. In (12), we consider $K = 1$ and omit $\sigma^2$ since it will not affect our maximization problem as stated earlier in this paper. We get:

$$ \begin{aligned} \frac{\partial L_{LD_R}(\tilde{\theta})}{\partial \tilde{\theta}} &= \sum_{i=1}^{n-k} \frac{\partial}{\partial \tilde{\theta}} \left[ \prod_{j=1}^{u_i} \tanh \left( -\Re(r(i_j)e^{-j\tilde{\theta}}) \right) \right] \\ &= \sum_{i=1}^{n-k} \sum_{j=1}^{u_i} \left( \frac{\partial}{\partial \tilde{\theta}} \left[ \tanh \left( -\Re(r(i_j)e^{-j\tilde{\theta}}) \right) \right] \prod_{l \neq i}^{u_i} \tanh \left( -\Re(r(i_l)e^{-j\tilde{\theta}}) \right) \right) \end{aligned} \quad (18) $$

We know that:

$$ \frac{\partial}{\partial \tilde{\theta}} \left[ \tanh \left( -\Re(r(i_j)e^{-j\tilde{\theta}}) \right) \right] = \frac{\frac{\partial}{\partial \tilde{\theta}} \left[ -\Re(r(i_j)e^{-j\tilde{\theta}}) \right]}{\left( \cosh \left( -\Re(r(i_j)e^{-j\tilde{\theta}}) \right) \right)^2} \quad (19) $$

and

$$ \frac{\partial}{\partial \tilde{\theta}} \left[ -\Re(r(i_j)e^{-j\tilde{\theta}}) \right] = x(i_j) \cos(\theta_0) \sin(\tilde{\theta}) - x(i_j) \sin(\theta_0) \cos(\tilde{\theta}) \\ + \Re(w(i_j)) \sin(\tilde{\theta}) - \Im(w(i_j)) \cos(\tilde{\theta}) $$

The above equation cannot be computed due to unknown variables involved in it. However, it can be approximated by:

$$ \frac{\partial}{\partial \tilde{\theta}} \left[ -\Re(r(i_j)e^{-j\tilde{\theta}}) \right] \approx \Re(r(i_j)) \sin(\tilde{\theta}) - \Im(r(i_j)) \cos(\tilde{\theta}). \quad (20) $$

Note that (20) is precise in a noise-free channel. Using the approximation of (20), (18) becomes equal to:
$$ \frac{\partial L_{LD_R}(\tilde{\theta})}{\partial \tilde{\theta}} = \sum_{i=1}^{n-k} \sum_{j=1}^{u_i} \left( \frac{\Re(r(i_j)) \sin(\tilde{\theta}) - \Im(r(i_j)) \cos(\tilde{\theta})}{\left( \cosh(-\Re(r(i_j)e^{-j\tilde{\theta}})) \right)^2} \prod_{\substack{l=1 \\ l \neq j}}^{u_i} \tanh(-\Re(r(i_l)e^{-j\tilde{\theta}})) \right) \quad (21) $$

The partial derivative of $L_{LD_I}(\tilde{\theta})$ is calculated the same way as above. (17) becomes equal to:

$$ \frac{\partial J_{LD}(\tilde{\theta})}{\partial \tilde{\theta}} = \sum_{i=1}^{n-k} \left[ \sum_{j=1}^{u_i} \left( \frac{\Re(r(i_j)) \sin(\tilde{\theta}) - \Im(r(i_j)) \cos(\tilde{\theta})}{\left( \cosh(-\Re(r(i_j)e^{-j\tilde{\theta}})) \right)^2} \prod_{\substack{l=1 \\ l \neq j}}^{u_i} \tanh(-\Re(r(i_l)e^{-j\tilde{\theta}})) \right) \right. \\ \left. - \sum_{j=1}^{u_i} \left( \frac{\Im(r(i_j)) \sin(\tilde{\theta}) + \Re(r(i_j)) \cos(\tilde{\theta})}{\left( \cosh(-\Im(r(i_j)e^{-j\tilde{\theta}})) \right)^2} \prod_{\substack{l=1 \\ l \neq j}}^{u_i} \tanh(-\Im(r(i_l)e^{-j\tilde{\theta}})) \right) \right] \quad (22) $$

From the above equation, it is clear that the proposed algorithm has a reduced computational complexity compared to the one proposed in [6]. In addition, the value of the variance of the noise $\sigma^2$ is not needed for the computation of the cost function.

### Abbreviations

* 5G Fifth generation

* BPSK Binary phase shift keying

* HDD Hard decision directed

* LD Likelihood difference

* LDPC Low density parity-check

* LLR Log-likelihood ratio

* MAP Maximum A posteriori

* MSE Mean squared error

* NR New radio

### Acknowledgements

Not applicable.

### Author contributions

The research and results of this specific publication are a long-term collaboration between the authors.

### Funding

Not applicable.

### Data availability

Please contact authors for data requests.

### Declarations

#### Ethics approval and consent to participate

The authors declare that the studies in this work do not involve any human participants, human data, human tissue, and animal.

#### Consent for publication

The authors declare that the manuscript does not contain any individual person's data in any form (including individual details, images or videos).

#### Competing interests

The authors declare that they have no competing interests.
## References

1. J. H. Bae, A. Abotabl, H.-P. Lin, K.-B. Song, J. Lee, An overview of channel coding for 5G NR cellular communications, in APSIPA transactions on signal and information processing. 8, (2019)

2. H. Meyr, M. Moeneclaey, S.A. Fechtel, Digital Communication Receivers. Channel Estimation and Signal Processing (J. Wiley and Sons, Synchronization, 1998)

3. H. Wymeersch, H. Steendam, H. Bruneel, M. Moeneclaey, Code-aided frame synchronization and phase ambiguity resolution. IEEE Trans. Signals Process. 54(7), 2747-2757 (2006)

4. C. Herzet, N. Noels, V. Lottici, H. Wymeersch, M. Luise, M. Moeneclaey, L. Vandendorpe, Code-aided turbo synchronization. Proceed. IEEE 95(6), 1255-1271 (2007)

5. X. Man, Z. Xi, K. Gao, E. Zhang, A novel code-aided carrier recovery algorithm for coded systems. IEEE Commun. Lett. 17(2), 405-408 (2013)

6. R. Imad, S. Houcke, M. Ghogho, Blind estimation of the phase and carrier frequency offsets for ldpc coded systems. EURASIP J. Adv. Signal Process. 2010, 1-13 (2010)

7. R. Imad, S. Houcke, M. Ghogho, Effective techniques for blind phase offset estimation in LDPC coded systems, in IEEE 10th workshop on signal processing advances in wireless communications. IEEE 2009, 638-642 (2009)

8. K. Saied, A. Al Ghouwayel, E. Boutillon, Phase synchronization for non-binary coded CCSK short frames, in IEEE 95th vehicular technology conference:(VTC2022), (2022)

9. P. Yu, J. Li, H. Peng, Gibbs sampling based parameter estimation for rsc sub-codes of turbo codes, in Proceeding under of Wireless communications and signal processing (WCSP), (2014)

10. P. Yu, H. Peng, J. Li, On blind recognition of channel codes within a candidate set. IEEE Commun. Lett. 20(4), 375-377 (2016)

11. Q. Liu, H. Zhang, P. Yu, G. Wang, An improved method for identification of LDPC codes within a candidate set. IEEE Access 9, 1896-1903 (2021)

12. R. Imad, S. Houcke, On blind frame synchronization of LDPC codes. IEEE Commun. Lett. 25(10), 3190-3194 (2021)

13. R. Imad, G. Sicot, S. Houcke, Blind frame synchronization for error correcting codes having a sparse parity check matrix. IEEE Trans. Commun. 57(6), 1574-1577 (2009)

14. F. Kschischang, B. Frey, H.A. Loeliger, Factor graphs and the sum product algorithm. IEEE Trans. Inf. Theory 47(2), 498-519 (2001)

15. R. Pyndiah, Near-optimum decoding of product codes: block turbo codes. IEEE Trans. Commun. 46(8), 1003-1010 (1998)

16. A.N. d'Andrea, U. Mengali, R. Reggianini, Carrier phase recovery for narrow-band polyphase-shift keyed signals. Alta Frequenza 57(10), 575-581 (1988)

## Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Submit your manuscript to a SpringerOpen journal and benefit from:

* Convenient online submission

* Rigorous peer review

* Open access: articles freely available online

* High visibility within the field

* Retaining the copyright to your article

Submit your next manuscript at ► springeropen.com