0 | Generate a phase matrix Φ of size L×N with initial phase values, for designing code set (L, N, M). |
1 | Determine the initial temperature T0, and set c=0. |
2 | Calculate the energy at current temperature TC, and set the phase perturbation number as i=0. |
3 | Randomly choose a phase from the L×N elements in the matrix Φ and replace it with a phase value randomly chosen from the other M−1 phase values, and set i=i+1. |
4 | Evaluate energy change ΔE from current energy Ei−1 to next energy Ei, and calculate the probability P in (8). |
5 | Accept the new phase value with the probability P. |
6 | If i<Ie go to step 3 and repeat steps 3, 4, 5. |
If i≥Ie go to step 7. |
7 | Compare the current energy with the energy in step 2. |
If there is energy change, then go to step 8. |
Else go to step 9. |
8 | Set c=c+1, TC=αTC−1. |
Go to step 2, and repeat same procedure. |
9 | If termination condition is satisfied or there is no energy change, then stop the process. Else go to step 8. |