# The Polar Code Construction Method in Free Space Optical Communication
## 4 Construction Method for the Polar Code  
The atmospheric turbulence channel environment changes due to the turbulence effect. When using the MC method to construct the polar code, a large number of simulated codewords are required to calculate the reliability of each sub-channel. UPO is a universal order of reliability over a part of bit positions for polar code. These orders are \"universal\" in the sense that they are applicable to any channel, but they are insufficient to define a full order of the whole sequence covering all N bit positions. Therefore, UPO is unreliable when used to construct polar codes in a specific channel. To solve the above problems, the STPO method was proposed by combining UPO with MC in the turbulence channel. STPO has the basic characters of UPO, and the rules for evaluating channel reliability are as follows [27]:  
When the code length is \(N\), for any two sub-channels \(x,y,0\leq x,y\leq N\), their relative orders with respect to their reliability can be determined with the following three conditions:  
1. If the binary representations of the two channels differ by one digit, then the channel with a digit of 1 is more reliable than the channel with a digit of 0;
2. If the binary representations of the two channels differ by two digits (they may not be adjacent), then from left to right, the channel with the number 10 is more reliable than the channel with the number 01;
3. Conditions 1 and 2 can be satisfied repeatedly or simultaneously to determine channel reliability. To be able to obtain the sub-channel reliability relationship intuitively, this paper proposes a corollary that the binary representation of the channel \(x\) satisfies that the two adjacent numbers are not both 1, i.e., \(\left(2x\right)_{b}\left(x\right)_{b}^{T}=0\) (The subscript \(b\) indicates the conversion of the value to binary). Then the channel reliability satisfies \(x<2x<2x+1\), and they are proved as follows:  
Figure 2: The distribution probability density function of the Gamma–Gamma. When the length of code \(N=16\), suppose \(x_{b}=(a,b,c,d)\), then \(\left(2x\right)_{b}=(a,b,c,d,0)\), \(\left(2x\right)_{b}(x)_{b}^{T}\) can be expressed as follows:  
\[\left(2x\right)_{b}(x)_{b}^{T}=(a,b,c,d,0)\left( \begin{array}{c}0\\ a\\ b\\ c\\ d\end{array} \right)=ab+bc+cd \tag{7}\]  
When \(\left(2x\right)_{b}(x)_{b}^{T}=0\), i.e., \(ab+bc+cd=0\), then _a,b,c,d_ satisfy that the two adjacent numbers are not both 1, so \(x_{b}\) can be divided into 0 and 01 combinations of the form. By condition 2, the reliability relationship is \(2(0,01)_{d}\in 2N>\left(0,01\right)_{d}\) (The subscript \(d\) indicates the conversion of the value to decimal), and the reliability relationship is \(2(0,01)_{d}+1>2(0,01)_{d}\) by condition 1, this proves that this inference is valid. Using this corollary, the reliability relationship for some of the channels can be derived, with the ratios shown in Table 1.  
It can be seen that as the code length increases, the proportion of sub-channel reliability relations obtained by this inference decreases, but at a code length of 32. The reliability relation of more than 30% can still be obtained at a code length of 32, which reduces the complexity of the sequence construction. Based on the above properties and inferences, STPO can give the reliability sequence of some sub-channels, and the sub-channel reliability sequence can be represented by the Haas diagram. As Figure 3 shows the Haas diagram for code length \(N\) of 16, the sub-channel reliability increases sequentially from left to right, and we can obtain the reliability relationship of sub-channels 3 and 5 according to condition 2 but cannot give the reliability of sub-channels 3 and 4. From Figure 3, when the code length is 16, the relationship among sub-channels (3,4), (3,8), (6,9), and (7,12) is uncertain. In this paper, a strong turbulence channel with turbulence intensity \(\sigma_{R}^{2}=3.5\) was selected, and a polar code sequence with \(N=16\) was constructed by MC.