## 3 EC-BER Algorithm  
Underwater channels have various performance degradation factors, such as multiple paths and Doppler shifts. Particularly, it is possible to estimate the channel information by preamble data, which are known on both the transmitter and receiver [10]. With the estimated channel information, coded data are compensated. Because the underwater communication channel is a time-varying channel, as it does fluctuate with time, we cannot guarantee that the estimated channel information in the preamble data field is the same as that of the coded data field. This makes the data field unable to be completely compensated. As shown in Equation (4), a small amount of the remaining Doppler shift in the coded data field can still have a large influence on system performance [21]. Since each band has a different Doppler shift, the performance degradation in a particular band affects the output from all bands. To overcome the performance loss of the multi-band configuration, we propose an EC-BER algorithm in order to allocate lower weight to inferior band. The EC-BER algorithm is a method that can estimate the reliability of received data by checking how many differences there are between the demodulated and decoded symbols. The detailed structure of the EC-BER block of Figure 1 is shown in Figure 2. The EC-BER block counts how many differences there are between the re-encoded and hard-decisioned demodulated symbols. We denote the hard decision of \(z_{k}(t)\) as \(\overline{Z}_{k}=\left\{\overline{z}_{k,1},\,\overline{z}_{k,2},\overline{z}_{k,3}, \cdots,\overline{z}_{k,N}\right\}\) and the re-encoded bit as \(\hat{Z}_{k}=\left\{\hat{Z}_{k,1},\hat{z}_{k,2},\hat{z}_{k,3},\cdots,\hat{z}_{k,N}\right\}\). The error counting processing is shown in Equations (7) and (8):  
\[e_{k,i}=\left\{ \begin{array}{ccc}&1&if\ \ \overline{z}_{k,i}\
eq\hat{z}_{k,i} \ 1<i<N\\ &0&\ \ otherwise\end{array} \right. \tag{7}\]  
\[N_{k,e}=\sum_{i=1}^{N}e_{k,i} \tag{8}\]  
where \(e_{k,i}\) is the index of error for the \(i\)-th bit at the \(k\)-th band, and \(N_{k,e}\) is the total number of errors for the \(k\)-th band. Thus, \(N_{k,e}\) has a close relationship with the decoding performance. If \(N_{k,e}\) is low, the EC-BER would be also small because the errors input to the decoder are small. Figure 3 shows the relation between the EC-BER and decoded BER in a single-band through the simulation. It shows that the EC-BER falls sharply when the decoded BER is perfectly corrected. Therefore, the EC-BER has a close relationship with the performance of each band. Figure 3: Relation of decoded BER and EC-BER. Figure 2: Block diagram of EC-BER block. For the multi-band configuration to avoid performance loss induced from an inferior band, a simulation was conducted to decide the optimal weighting value for each band according to the EC-BER. Employing turbo-coded data with rate of one-third (N = 336 bits) and 4-FSK, to avoid complexity, we used only two bands of \(f_{1}\) and \(f_{2}\) in the simulation. As shown on Figure 4, fixing the error rate of the \(f_{1}\) band to less than 10%, we changed the error rate of the \(f_{2}\) band from 10% to 50%. This is because a maximum demodulation error rate of 10% may be perfectly decoded in the turbo code with a rate of one-third. The weighting value of the \(f_{1}\) band was fixed at 1, we tried the weighting value of the \(f_{2}\) band was changed from 0 to 1 in intervals of 0.1. Figure 4 shows the EC-BER according to weighting values for two bands. For example, less than EC-BER of 20%, the error was perfectly corrected regardless of the weighting value. Less than EC-BER of 30 %, the error is perfectly corrected  
In the simulation result of Figure 5a, to investigate how well the weighting algorithm operates, the specific \(f_{2}\) band is only set to high SNR and the EC-BER of the \(f_{2}\) band decreases rapidly, meaning the decoded error is perfectly corrected. Figure 5b shows the performance gain when weighting is applied or not.