## 3 Performance Analysis of the PSI Technique
### Computational Complexity Comparison  
As demonstrated in previous sections, simplicity and EVM performance makes the PSI algorithm a practical method. In this section computational complexity of PSI is analysed and compared with previous techniques. Comparison of the proposed technique was first performed with respect to a PAPR reduction technique implemented on an IC [13]. This technique is an implemented version of a clipping technique [12; 14; 35]. In general, when analysing the computational complexity, the number of additions and number of multiplications are studied. It should be noted that if an algorithm requires complex multiplications, or complex divisions, they all have to be transformed into real multiplications and additions. For example, as mentioned earlier about SLM based techniques [17; 20; 36], at the receiver, a compensation block including a complex division is required in order to extract the original transmitted signal [37]. The second parameter that plays an important role in implementing a PAPR reduction technique in hardware is the the memory that is required. Here we analyse the number of bits that are required for implementing a technique. By referring to the simplest example of a clipping based technique presented in Figure 3, it is observed that number of multiplications can be measured by the following:  
\[n_{mul,CF}=n_{mul,Clipping}+n_{mul,FFT}+n_{mul,Filtering}+n_{mul,IFFT}, \tag{8}\]  
where \(n_{mul,Clipping}\) is the number of multiplications needed for clipping; and as seen in Figure 3, it involves peak detection block, the defining threshold block, and at least one if/else for iterating each loop. The number of multiplications required for a filtering process is presented by \(n_{mul,Filtering}\), and number of multiplications required for performing FFT and IFFT processes is indicated by \(n_{mul,FFT}\), and \(n_{mul,IFFT}\). For FFT or IFFT, the number of needed multiplications is calculated from the following equation:  
\[n_{mul,IFFT}=K\log k \tag{9}\]  
where \(n_{mul,IFFT}=3072\), and here it is assumed that \(K=1024\). It should be noted that for understanding the filtration process, it can be considered a convolution of two signals with same length in domain of frequency. Number of required multiplications for filtration, \(n_{mul,Filtering}\) can be calculated by following formula:  
\[n_{mul,IFFT}=K^{2} \tag{10}\]  
where here is it assumed that \(K=1024\), and therefore, \(n_{mul,Filtering}=1048576\). Figure 10: CCDF result versus SR value. It is known that for storage of complex numbers, \(\log_{2}n\) bits is required for absolute of each complex number, and \(\log_{2}n\) is required for storing every angle of every complex number. For example, if we assume a complex number with length of \(n\), the number of needed bits is \(2\log_{2}n\), in order to implement it digitally. When \(K=1024\), considering the length of each filter, total \(2K\log_{2}n=20,480\) is required in order to implement CF technique. However, for implementing PSI technique, by referring to Figures 5 and 11, the number of needed multiplications, \(n_{mul,PSI}\) can be calculated as:  
\[n_{mul,PSI}=n_{mul,Peak}+n_{mul,Borders}+n_{mul,Extracting}+n_{mul, Shrinking}+n_{mul,Smoothing}, \tag{11}\]  
where the \(n_{mul,Peak}\) is the number of multiplications required for peak detection. It should be noted that the process of detecting peaks, or enforcing the threshold, is very similar to CF technique. In the PSI technique there is a process for defining the borders, and the number of modifications required to do this process, \(n_{mul,Boarders}\) is two, which are for indicating the left border, \(L_{index}\) and right border, \(R_{index}\). However, these pieces of information need to be temporarily stored, and therefore, two bits of memory are occupied. These indexes are replace by every run, so they do not have to be multiplied into the number of iterating loops.