## 3 System Architecture
### CPM-OFDM Transmitter  
The CPM-OFDM transmitter is shown in Figure 1. Let a stream of binary bits denoted by a matrix \(B\) be the input into a BCH encoder. The matrix \(B\) can be represented as  
\[B=\begin{bmatrix}B_{1}\\ B_{2}\\ \vdots\\ B_{k}\end{bmatrix} \tag{8}\]  
where  
\[B_{i}=[b_{i,1},b_{i,2},\dots,b_{i,m}] \tag{9}\]  
\(b_{i,u}\) is the \(u\)th data bit out of the \(m\) total bits in \(i\)th uncoded binary word while \(k\) is the total number of uncoded binary words that will be sent to the transmitter. These uncoded binary words pass through an \((n,m)\) BCH encoder as \(m\)-bit words at a time. The encoder outputs \(n\)-bit encoded words represented by \(E_{i}\) while the matrix of all the encoded words is represented by \(E\), as shown below.  
\[E=\begin{bmatrix}E_{1}\\ E_{2}\\ \vdots\\ E_{k}\end{bmatrix} \tag{10}\]  
where  
\[E_{i}=[e_{i,1},e_{i,2},\dots,e_{i,n}] \tag{11}\]  
\(e_{i,u}\) is the \(u\)th data bit out of the \(n\) total encoded bits in \(i\)th encoded binary word while \(k\) is the total number of encoded binary words that will be output by the BCH encoder. Next, the encoded bits pass through the serial to parallel converter--shown as S/P block in Figure 1. This block has \(N\) outputs, where \(N\) is the total number of subcarriers in the system. Each output of the S/P block is a data symbol \(\alpha_{i}\) drawn from an \(M\)-ary alphabet, where \(M\) is the CPM modulation order. The data symbols \(\alpha_{i}\) then pass through the CPM mapper. The outputs of the \(N\) CPM mappers can be represented as a vector of complex numbers \(C_{u}\) given by  
\[C_{u}=\begin{bmatrix}c_{u,0}\\ c_{u,1}\\ \vdots\\ c_{u,N-1}\end{bmatrix} \tag{12}\]  
where, for the \(u\)th OFDM block and for the \(l\)th subcarrier, the complex number \(c_{u,l}\) is defined as [55].  
\[c_{u,l}=\cos\psi_{u,l}(t;\alpha)+j\sin\psi_{u,l}(t;\alpha) \tag{13}\]  
The phase \(\psi_{u,l}(t;\alpha)\) for \(u\)th OFDM block and \(l\)th subcarrier has been defined in Equation (2). The complex numbers from the output of the CPM mapper are input into the IFFT block. The output of the IFFT block is a discrete time signal \(\Phi\) whose \(p\)th sample for the \(u\)th OFDM symbol is given by  
\[\Phi_{u,p}=\frac{1}{\sqrt{N}}\sum_{l=0}^{N-1}\phi_{u,l}e^{\frac{2(ml)}{N}},\ p=0,1,\dots,N-1 \tag{14}\]  
where \(\phi_{u,l}\) is the output of the IFFT block for the \(u\)th OFDM symbol and the \(l\)th subcarrier and \(\sqrt{N}\) is a scaling factor to normalize the symbol energy. To facilitate symbol synchro nization and to minimize the effects of multipath, the last \(G\) samples (\(G\leq N/4\)) of the OFDM symbol are copied and put as a preamble in the OFDM symbol called cyclic prefix. The resulting \(u\)th OFDM symbol can then be represented as  
\[\Phi_{u}=\left[\Phi_{u,N-G+1},\Phi_{u,N-G+2},\ldots,\Phi_{u,N-1},\Phi_{u,0},\Phi _{u,1},\ldots,\Phi_{u,N-1}\right] \tag{15}\]  
To convert the digital signal into an analog signal, a D/A converter is used that outputs the analog signal represented as  
\[s(t)=\frac{1}{\sqrt{T}}\sum_{l=0}^{N-1}\phi_{u,l}e^{2\pi f_{l}t} \tag{16}\]  
In this equation, \(f_{l}=l/NT_{s}\), \(NT_{s}\) is the OFDM symbol duration, \(T_{s}\) is the sampling time, and \(T\) is the total symbol duration with guard interval. The signal \(s(t)\) is then transmitted and passes through an acoustic underwater channel.