## 4 Results and Discussion
### Computation Data Visualisation  
Table 1 maps the \(h_{f}\) solutions to the curve sets with the underlying configurations. The computations for the three use cases were performed for \(h_{f}\) with pulse rms widths (pw) {0.25, 0.35} with different sets of binary OOK amplitudes {a0, a1}and different AGTN noise power \(N_{0}\). The implementation of the use cases covers \(r_{sig}\) without and with ISI in two sets of curves within the set figure. The \(h_{c}\) was computed based on the DGF channel impulse response for Coastal waters [6] (see Figure 2). Due to the paper size limitation, we are presenting only results for the transmitted pw = 0.25. The eye diagrams show that the SNR suffers when ISI is part of \(r_{sig}\) for all use cases. This outcome is highly expected. The discussions above show that the new MGF design modelling works well in balancing the various impairments (AGTN and ISI). The resulting optimal optical receiver filter \(h_{f}\) provides improved power performance. Figure 2 shows the received optical pulse \(r_{opt}\) due to the convolution of the transmitted optical pulse \(h_{p}\) (pulse width = 0.25) and the DGF underwater channel response function \(h_{c}\). \begin{table}
\begin{tabular}{l c c c c c c c} \hline \hline  & & & **Equation** & & **ISI** & & \\ \cline{3-8}
**Use Case** & **Water Type** & **General** & **Optimum** & **Filter** & \begin{tabular}{c} **Without** \\ **(Signal Only \\ **= Path Loss** \\ **Channel)** \\ \end{tabular} & **With** & \begin{tabular}{c} **Computation** \\ **Attributes** \\ **\{N\({}_{0}\), \(a_{0}\), \(a_{1}\), \(pw\)}** \\ \end{tabular} \\ \hline III (Figure 4) & Coastal & (15) & (20) & (15) & {a, b, c} & {d, e, f} & {0.0, 3.0, 13., 0.25} \\ \hline III (Figure 5) & Coastal & (17) & (21) & (18, 23) & {a, b, c} & {d, e, f} & {2.75,10, 20, 0.25} \\ \hline III (Figure 6) & \
\begin{tabular}{c} Coastal, \\ Harbour \\ \end{tabular} & (19) & (22) & & & {a, b, c, d, e, f} &
\begin{tabular}{c} Several sets in \\ Figure 6 \\ \end{tabular} \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Mapping the use cases to the figures and equations. Figure 4 presents the computation results of use case I, which includes DGF for Coastal water. This use case covers two scenarios: (a) without ISI, which represents a path-loss-oriented propagation channel, and (b) with ISI, which represents limited scattering and potential scintillation impairments. Figure 4a demonstrates that the normalized curves of \(h_{f}\) (of Equations (15) and (23)) without ISI overlap. Their corresponding outputs \(r_{f}\) do the same. Figure 4d shows that the curves of \(h_{f}\) and its corresponding \(r_{f}\) exhibit undershoot due to the ISI inclusion to the main body of \(r_{sig}\) (see Equation (6c)). The undershoots in our results are relatively more than that reported by [12; 13; 14; 15; 16]. Such curve tails could be due to the inflated internal smoothing of the Python libraries. However, it is Interesting to note that, although not explicitly constrained by the \(J\) optimization step, near-zero ISI results support the zero-forcing inclination used in many practical receivers [9], like RC filters. Figure 5 depicts the computation results of use case II, which includes DGF for Coastal water. This use case covers two scenarios: (a) without ISI, which represents a path-loss-oriented propagation channel, and (b) with ISI, which represents limited scattering and potential scintillation impairments. Here, we should keep in mind that the AWTN noise is due to the electronic circuitry of the photodetector backend (see Figure 3). Figure 5a without ISI indicates that the normalized curve of \(h_{f}\) of Equation (18) has a distinctive profile from that of Equation (21). While the optimum solution shows no undershoot, the general solution exhibits a small false one. We believe this is due to unnecessary internal curve smoothing, allowing a distortion at the tail-end of \(h_{f}\). The optimum \(r_{f}\) profile looks as expected, while the general \(r_{f}\) exhibits small, false undershoot.