## 2 Principles  
### Principal Component-Based Phase Estimation Algorithm  
The flowchart of the PCPE algorithm is shown in Figure 1. The main idea of this algorithm is to square the received constellation, and then extract the principal component (PC) vector corresponding to the major axis of the squared constellation through the principal component analysis (PCA) algorithm. Since there is a linear relationship between the angle of the PC vector and the phase noise suffered by the signal, the phase recovery process can be performed based on the results of PCA analysis [17]. The specific implementation process of the PCPE algorithm can be expressed by the following mathematical formulas.  
Considering the situation of implementing the PCPE algorithm in a block-wise way, for the \(k\)-th data block \(x_{k}=[x_{k}[1],\ x_{k}[2],\ \cdots,x_{k}[N]]^{T}\) with a length of \(N\), the first thing that needs to be performed is to obtain \(x_{k}^{2}\) by the square operation, and then separate the real and imaginary parts are separated to construct a \(2\times N\) matrix \(A_{k}\)[17]:  
\[A_{k}=\begin{bmatrix}Re\big{(}x_{k}^{2}\big{)}\\ Im\big{(}x_{k}^{2}\big{)}\end{bmatrix}=\begin{bmatrix}Re(x_{k}^{2}[1]),&Re(x_{ k}^{2}[2]),&\cdots,&Re(x_{k}^{2}[N])\\ Im(x_{k}^{2}[1]),&Im(x_{k}^{2}[2]),&\cdots,&Im(x_{k}^{2}[N])\end{bmatrix} \tag{1}\]  
where \(Re(.)\) and \(Im(.)\) denote the real and imaginary parts of a complex number, respectively. Next, the covariance matrix \(C_{k}\) corresponding to the current block of data can be calculated as:  
\[C_{k}=A_{k}{A_{k}}^{T} \tag{2}\]  
After obtaining the covariance matrix, the power iteration method (PIM) commonly used in PCA is performed to update and normalize the principal component \(v_{k}=\begin{bmatrix}v_{k}[1]&v_{k}[2]\end{bmatrix}^{T}\):  
\[v_{k}=C_{k}v_{k-1} \tag{3}\]  
\[v_{k}=\frac{v_{k}}{\sqrt{v_{k}^{2}[1]{+}v_{k}^{2}[2]}} \tag{4}\]  
Figure 1: Block diagram of PCPE.  
It should be noted that the initial PC vector is set as \(v_{o}=\begin{bmatrix}1&0\end{bmatrix}^{T}\), in order to avoid the performance degradation caused by the mismatch between the initial value and the actual phase rotation corresponding to the first data block, the operations in (3) and (4) are usually repeated for three times using \(C_{1}\) when extracting the PC of the first data block.  
Finally, for each data block, the estimation of the phase noise can be achieved by utilizing the linear relationship between the angle corresponding to the PC and the phase rotation of the signal block \(\hat{\mathcal{O}}_{k}\), which can be expressed as:  
\[\hat{\mathcal{O}}_{k}=\frac{1}{2}arctan\left\{\frac{v_{k}[2]}{v_{k}[1]}\right\} -\frac{\pi}{4} \tag{5}\]  
In addition, in order to circumvent the phase ambiguity problem caused by the four-fold symmetry of the QAM signal [21], it is necessary to perform the phase unwrapping operation, so as to enhance the reliability of phase estimation. The process of updating the \(\hat{\mathcal{O}}_{k}\) of the current signal block according to the \(\hat{\mathcal{O}}_{k-1}\) corresponding to the previous block can be expressed as [17]:  
\[\hat{\mathcal{O}}_{k}\leftarrow\hat{\mathcal{O}}_{k}+\left\lfloor\frac{1}{2} +\frac{\hat{\mathcal{O}}_{k-1}-\hat{\mathcal{O}}_{k}}{\pi/2}\right\rfloor\frac {\pi}{2} \tag{6}\]