## 2 Two-Stage n-PSK Partitioning Scheme for C-mQAM  
The C-mQAM constellations studied in this paper have been proposed in [15] and are illustrated in Figure 1 for C-16 QAM and C-64 QAM. Figure 1 also shows the bit mapping, differential sector decoding, and amplitude odd/even symbol classes, which were proposed in [14] and are employed in this paper. The proposed CPR scheme is divided in two stages, and its block diagram is depicted in Figure 2. The first stage corresponds to the n-PSK partitioning CPR algorithm [14]. The second stage is composed of the same functional blocks as the first stage. However, symbol classification in the second stage is performed using optimal decision boundaries on the output data of the first stage. Optimal decision boundaries are defined in this section and for the rest of the paper as optimal in the presence of only additive white Gaussian noise (AWGN) in order to relax the overall complexity of the algorithm. However, we notice that large \(\Delta vT_{s}\)-values will result in residual phase noise requiring a different, higher complex approach for optimal symbol classification.  
Figure 1: (**a**) Distribution of the constellation points in a C-16 QAM constellation. (**b**) Distribution of the constellation points in a C-64 QAM. The bit mapping, differential sector encoding, and symbol amplitude classes are also illustrated for both cases.  
The amplitude of the received symbols in Figure 2 (inset _a_) is firstly calculated in the first stage to classify the symbols into an odd or even class. Then, a \(e^{-j\frac{2\pi}{N}}\) phase rotation is performed for the symbols belonging to even classes, where \(N\) represents the total number of different phases of the C-mQAM constellation points. After this process, it is notable that the modulation components of the symbols belonging to odd and even amplitudes are aligned. The N/2-_th_ power operation is then performed in the Viterbi and Viterbi (V&V) module over a block of \(M_{1}\) symbols, which is considered for averaging the AWGN. This results in a phase noise estimator \(\hat{\theta}_{1}\) for the symbol in the middle of the block after the unwrap operation. The phase noise estimator is used to compensate for the phase noise of the input symbols, and the corrected symbols in Figure 2 (inset _b_) are fed into the second stage of the CPR scheme. The input symbols in the second stage therefore correspond to an estimation of the received constellation. This constellation estimation is then used for a better classification of the input symbols of the first stage in Figure 2 (inset _a_) into odd or even classes. It is noticeable that the ring selection process is now avoided as symbols are classified using optimal decision boundaries in Figure 2 (inset _c_) in the symbol decision module, which increases the accuracy of the classification process. Sub-optimal decision boundaries in Figure 2 (inset _d_) can also be considered for a computational complexity reduction of the symbol decision process, as explained in Section 5. The rest of the modules in the second stage are performed as explained for the first stage. However, a different block size M\({}_{2}\) can be considered for the second stage. Finally, a phase noise estimator \(\hat{\theta}_{2}\) is used to compensate for the phase noise of the input symbols, and the final corrected symbols are shown in Figure 2 (inset _e_). It is notable that symmetrical rotations of the constellation due to cycle slips occurring in the first stage of the algorithm do not affect the odd/even classification in the symbol decision module of the second stage and consequently have no impact on the overall performance of the CPR scheme.