1. Introduction
Different from coherent communications [
1,
2], Multiple Frequency-Shift Keying (MFSK) can tolerate significant Doppler or delay spreads with appropriate parameter selection and forward error correction. Thus, MFSK has been widely used in underwater acoustic communications [
3,
4]. Mitigating large amounts of Doppler and delay spread is significantly challenging when wireless acoustic communications are used in an underwater environment [
5]. In underwater acoustic channels (UAC), delay and Doppler spreading are obvious [
6]. A long delay spread with little Doppler spreading is usually mitigated with a relatively long MFSK symbol period; however, this sacrifices the symbol rate.
Forward error correction has been widely used in a time delay and Doppler spread environment; for example, nonbinary LDPC codes were used for frequency-hopping frequency-shift keying (FH MFSK) underwater acoustic communication [
7], turbo-coded FH/MFSK was investigated in a shallow water acoustic channel [
8], and a convolutional code was used to mitigate the multipath interference in an underwater acoustic channel [
9]. Reed Solomon (RS) block codes and convolutional codes were used for dealing with phase ambiguity in reception [
10].
The chaotic modulation MFSK (CMFSK) has been used in confidential underwater acoustic communication [
11], and the CMFSK had similar a BER performance to conventional digital modulations under multipath interference. The bit error rate (BER) performance was analyzed for FH-MFSK in [
12], which showed a higher BER than radio frequency communications because the envelope amplitude statistics for FSK signals with underwater acoustics do not follow the Rayleigh or Rician distribution. Spread spectrum techniques have been used to offer low data rate acoustic links; M-ary chirp spread spectrum modulation (MCSS) was used for medium range underwater acoustic (UWA) communication [
13]. The Frequency-Hopping Spread Spectrum (PC/MC-FHSS) combined with a Chip-z Transform (CZT) method was proposed to resist fading and narrow-band interference in UWA communications [
14].
In dynamic oceans, the acoustic channel can vary on the scale of hundreds of milliseconds or less, since channel coherence time can be that short [
15]. The depth dependence of the signal can be studied using the probe signal received on the array, e.g., measured CIRs can be obtained by using Linear Frequency Modulated (LFM) signals [
16]. The designed waveforms determine the detection performance [
17].
Different from the FH MFSK, orthogonal frequency division multiplexing (OFDM) has attracted extensive attention in UWA communications due to its high transmission rate and spectrum efficiency [
18]. However, OFDM requires the orthogonality of the signal waves. The requirement results in a sensitivity to Doppler and phase noise [
19].
Considering the advantages of the MFSK and OFDM techniques, we aim to find a tradeoff between the robustness and transmission rate. First, we aim to design a zero BER UWA communication system. Furthermore, the subcarrier allocation method of OFDM is used for the MFSK. In order to insure reliable transmission, channel-concatenated codes including a Hadamard code and a convolutional code are used in the transmitter. On the other hand, the Hadamard-based branch metric is computed for the Viterbi decoding framework in this MFSK UWA communication framework. In addition, this study describes the frame synchronization and Doppler compensation in detail. Finally, a sea trial experiment was performed in a shallow sea channel with a large multipath spread, to confirm the performance of the proposed method.
2. Brief Introduction to Orthogonal Frequency Division and MFSK
The basic idea of MFSK technology is to use signals of different frequencies to represent
M different symbols, e.g., the transmitted signal is expressed as
where
A denotes the amplitude,
is the angular frequency of the
i-th carrier,
T is the symbol width, and
M denotes different values of the carrier frequencies.
In order to maximize the use of emission energy and the frequency efficiency, we assume the
M carrier frequencies are orthogonal, i.e., we assume the symbol length is
N, and
. The
m-th sample time is
. Then,
where
m is an integer.
The UAC is dynamic and challenging for reliable and high-speed communications; it is necessary to consider the factors that seriously affect the use of MFSK, such as multipath and Doppler effect UWA communications.
2.1. Influence of the UAC Multipath Effect on MFSK
A long delay spread with little Doppler spreading is usually mitigated by a relatively long MFSK symbol period. However, one cannot increase the transmission rate just by increasing M due to the limited band of the UAC. Therefore, the multipath will seriously affect the transmission rate of the MFSK system.
In this study, we adopted channel coding to reduce the communication BER. In addition, frequency diversity technology was adopted, i.e., each bit is transmitted by multiple frequency points.
2.2. Influence of the Doppler Effect on MFSK
If the Doppler spread is large, while the time delay spread is small, it can be mitigated with a shorter symbol period. From the perspective of the time domain, the signal after the Doppler effect expands and contracts. Especially when the transmitted signal is longer, the Doppler spread can even be larger than the width of one symbol.
In order to minimize the influence of the Doppler effect, we designed the following system. The system works in frame-by-frame mode to ensure that the expansion and contraction of each frame is far less than one symbol. In addition, Doppler compensation measures were adopted.
3. Transmitter and Receiver
In this study, the overall system structure is shown in in
Figure 1. One can see that at the transmitter, the information inputs were encoded by convolutional codes and then processed by interleaving and Hadamard coding. Random phase was used for reducing the peak to average ratio because we adopted inverse fast Fourier transform (IFFT) for MFSK modulation. A synchronization signal was then added, and the data stream was generated. The data were then transmitted through the underwater acoustic channel.
At the receiver, a matching filter was used for frame synchronization and then Doppler compensation via resampling. The data stream was then demodulated by FFT. Hadamard decoding and deinterleaving were used before the Viterbi decoding. The output value of deinterleaving provided a soft decision metric. Thus, it improved the performance of the joint decoding.
Considering that underwater acoustic communications are susceptible to systematic and random noise, we used forward error correction (FEC) for detecting and correcting a limited number of errors in the transmitted data without retransmission. Error correcting codes for FEC can be broadly categorized into two types, namely, block codes and convolution codes. The main differences between these codes are listed in
Table 1.
The types of linear block codes are the Hamming codes, Walsh–Hadamard codes, cyclic codes, low-density parity-check (LDPC) codes, and the Reed–Solomon codes. The types of convolutional codes are the turbo codes and Trellis codes. Although the turbo code and LDPC code have good performance, the use of the turbo code or LDPC code is at the cost of implementation complexity. Turbo codes can obtain a higher coding gain only when the interleaving length is longer and the number of iterations is more. LDPC codes can obtain a higher coding gain only when the code length is longer. The long time delay affects the application of this kind of long code in underwater acoustic communications. Thus, concatenated coding is often used in this case. Considering that frequency diversity technology can effectively resist the frequency-selective fading of underwater acoustic channels, and the orthogonality of the Hadamard matrix facilitates distinguishing different codewords, we adopted the Hadamard code as an internal code and the convolutional code as an outer code. The details of the concatenated coding are as follows.
3.1. Hadamard Encoding and Decoding
The Hadamard matrix has excellent characteristics in that arbitrary codewords are orthogonal to each other. We adopted the Hadamard matrix to construct Hadamard codes. The Hadamard matrix
consists of
, with a size of
. It has the property of
where
is an identity matrix with size of
. There are
different elements between any two rows of the Hadamard matrix. It has a row of elements that are all 1 or all
. We selected the other
rows of Hadamard and its complement matrices to construct the Hadamard codes. We selected
rows from
rows to generate Hadamard codes
, i.e.,
k bits of information were encoded into
n bits by
.
We adopted soft decision decoding for the Hadamard code. First, the square value of the signal amplitude of each subchannel was recorded with floating-point numbers. Then, the soft decision value was calculated, and the maximum soft decision value was selected as the final decoding result. We assumed that the fading signal and additive Gaussian white noise of each carrier frequency were independent, and the following soft decision was obtained.
where
is the soft decision value of the
i-th Hadamard code,
is the
j-th bit of the
i-th Hadamard code, and
is the square value of the
j-th carrier signal amplitude. In the joint decoding process, we adopted the maximum soft decision value
as the branch metric in the Viterbi decoding process. In this study, we set
. The
element distribution of the Hadamard code matrix
is shown in
Figure 2, where a black square represents 1, while a white square represents 0. The number of zeros and ones in each row was the same.
3.2. Convolution Encoding and Viterbi Decoding
The convolutional code
is a type of error-correcting code that generates parity symbols via the sliding application, where
n,
k, and
L denote the output bits, input bits, and constraint length, respectively. The constraint length specifies the delay for the input bit streams to the encoder. The sliding nature of the convolutional codes facilitates trellis decoding using a time-invariant trellis, whose nodes are ordered into horizontal slices (time) with each node at each time connected to at least one node. Time-invariant trellis decoding allows maximum-likelihood soft-decision decoding with reasonable complexity. Then, the number of states of
is
. In this study, we adopted
. The
distribution of the convolutional code generator is shown in
Figure 3.
For convolution encoding, if n, k, L, and the generator are given, then the next state matrix (or named state transition matrix) , and the output matrix can be computed. We adopted decimal representation for and in this study. The above parameters and matrices were used for the following encoding and decoding process.
The encoding steps of the convolution were as follows: We initialized the current state as
, where
denoted the iteration time. We assumed the binary information bits
were given. Then, we flipped it and transferred it to decimal digits
d. The decimal output of the convolution encoder was
The expression of
was adopted as MATLAB code, because the row and column of a matrix cannot be indexed by 0 in that case. On the other hand, the next state was updated as
The Viterbi algorithm has found universal application in decoding convolutional codes, and it is a dynamic programming algorithm for obtaining the maximum a posteriori probability estimate of the most likely sequence of hidden states. We used it as the joint decoding framework.
3.3. Concatenated Encoding and Signal Composition
After being processed by the convolution encoder, the length of the bit stream
was double that of the previous one, where
was an all zero vector with a length of
k.
ensured that the subsequent decoding returned to the 0 state. We denote the symbol
after the convolution encoder as
The encoded symbol
was interleaved by an interleaver, which was used to convert the convolutional codes from burst error correctors to random error correctors. The result was denoted by
. We selected
k elements from
as the row indexes of the Hadamard matrix and obtained the encoding process as:
The matrix was converted into a column vector via .
After convolution encoding, interleaving, and Hadamard encoding, the information was modulated via MFSK. In order to maximize the frequency efficiency, we adopted the IFFT to allocate subcarriers. To reduce the peak-to-average ratio, we added the random phase
into the signal, as
Then, the MFSK signal was
where
is the number of the IFFT points.
The acoustic wave signals
were then transmitted through water. The multipath and Doppler of the UAC were the important factors when we designed the transmitted signal. Thus, the hyperbolic frequency modulation (HFM) signal was used as the head signal
for synchronization and Doppler compensation. The HFM signal was
where
denotes the time length of the HFM signal, and
denote the max and min frequency of HFM signal, respectively.
3.4. Frame Synchronization and Doppler Compensation
The receiver has no information of the specific position of the frame synchronization signal. Therefore, the frame synchronization detection was designed by the maximum value of the correlation computation. The correlation peak was searched to determine the position of the frame synchronization signal in the received signal. The frame synchronization signal detection steps were as follows.
First, we set the number of points for FFT transform
where
denotes the round up value, and
denotes the length of the HFM signal, e.g., if
, then
.
Second, in order to generate the frequency domain representation of the HFM signal with
points, we reversed the original HFM and added 0, as
where
denotes the reverse signal
. Then, we obtained the frequency domain representation
Third, we adopted the segmental interception of the received signal
(with a length of
) to build the received signal for the search, denoted by
, where
. The forward step of the selected data location point
i was
. Then, the frequency domain representation of
is
In fact, the result of correlation
can be regarded as the inverse Fourier transform of the product of
and
. Thus,
One can select the maximum value and its location of . Then, the start time point is . If or , where is a threshold for weak signal detection, then the data location point moves forward as .
After frame synchronization, the components of the receiver also included the following parts: Doppler estimation and compensation, MFSK demodulation, and joint decoding. We assumed the packet lengths of the received and transmitted signal were
; then, the Doppler was estimated as
It is worth noting that is critical to the estimation accuracy of Doppler. Two locations of an HFM signal can be found in the received signal by finding the maximum value of its correlation operation between the HFM signal and the received signal.
Thus, the resampling rate
is
where
is the original sampling rate.
3.5. Demodulation and Joint Decoding
Then, the signal was demodulated by the MFSK, shown as
The demodulated MFSK signal was chosen by its subcarrier index
and then processed by deinterleaving, resulting in
The result , which was the input of the joint decoder, was reshaped as a matrix with the size of , where , was the time length of per frame.
The pseudo codes of the joint decoding algorithm are displayed in a MATLAB-like way in Algorithm 1. The bold uppercase letter denotes a matrix, while the bold lowercase one denotes a vector.
denotes the elements in a matrix of size
are all 0, where
denotes the number of states, and
denotes the data length of a frame.
de2bi converts decimal numbers to their binary representations.
denote the output matrix and the state transition matrix, respectively.
denotes the Hadamard matrix.
Algorithm 1 The pseudo codes of the joint decoding algorithm |
Input: received signal , Output: decoding bits Initialization: branch metric matrix ; final state matrix ; previous state vector ; next state vector . while do , , all with size of ; while do ; convert decimal to binary. branch metric: ; ; ; ; ; ; end while ; ; ; end while Initialization: signal estimation ; while do current state: ; ; ; end while Obtain the signal estimation .
|
The pseudo codes of the distance of the Hadamard (branch metric) are displayed in Algorithm 2, where
and
denote the output length as
, when the data length
is encoded by the Hadamard matrix
. The column number of
is denoted by
Algorithm 2 The pseudo codes of the distance of the Hadamard algorithm, i.e., |
Input: receive signal , Output: branch metric convert bits to -ary symbols ; Hadamard encoding process ; reshape with size of ; Obtain the branch metric .
|
The parameters of the Hadamard code and the convolutional code are shown in
Table 2.
3.6. Data Frame Format
In this study, we adopted the data frame format shown in
Figure 4. HFM was used as synchronization. A guard interval (GI) was set between the synchronization signal and symbols to reduce the interference with the data segment when the receiver correlated the synchronization signal. Each MFSK symbol was composed of a cyclic prefix (CP) and information data symbols. The CP was added to resist inter symbol interference and inter-subcarrier interference caused by multipath channels. The length of the CP should be greater than the maximum length of the multipath delay, to ensure that the delay spread of the previous symbol will fall within the CP and not affect the demodulation of the current symbol.
We assumed that each frame contained 20 MFSK symbols, each MFSK symbol contained eight Hadamard symbols, and each Hadamard symbol contained 20 bits but only 5 bits of information. Thus, each frame contained bits of information. However, the convolution rate was 1/2 with the redundant bit. Thus, the information bits were .
4. Simulations
In order to simulate the actual sea trial environment, we set the parameters as shown in
Table 3. Considering the water depth was low, we simulated the channel environment as an iso-velocity channel. We used BELLHOP to generate the Eigen sound ray as shown in
Figure 5a, its CIR as shown in
Figure 5b, and its sound propagation energy loss diagram as shown in
Figure 5c. The CIR was used to simulate the actual channel and obtain the filtered signal as the received signal. Additive white Gaussian noise (AWGN) was used for the channel coding performance tests.
In order to test the concatenated coding and its decoding bit error ratio (BER) performance, we used convolution codes with hard and soft decoding and Hadamard decoding for comparisons. The transmitted signal was passed through the simulated channel. The constraint length was set as seven, while the code generator was expressed in octal as [171, 133]. The traceback depth was set as 32. The coding rate for the convolution code was 1/2. We adopted quadrature amplitude modulation (QAM) (M = 4) and demodulation. For soft Viterbi decoding in the convolution code, the output values of QAM were calculated using the approximate log-likelihood algorithm.
The results are shown in
Figure 6, where Eb is the signal energy associated with each data bit, i.e., the signal squared amplitude divided by 2 times the user bit rate. No is the noise spectral density, i.e., the noise power in a 1 Hz bandwidth. One can see that the proposed concatenated coding had the lowest BER compared to the counterparts including the Hadamard and convolution codes with hard and soft decisions.
5. At-Sea Experiment
In this section, the at-sea experiment conducted to test the performance of the concatenated coding of MFSK underwater acoustic communications is described. The experiment location was Wuyuan Bay in Xiamen, China. The environmental parameters are shown in
Table 4. The overall system structure of the transmitter and receiver is shown in
Figure 7. The center frequency of the filter circuit was 30 kHz, the bandwidth was 25 kHz, the passband gain was 15 dB, the maximum attenuation was −3 dB, the passband ripple was 0.02 dB, and the stopband attenuation was −20 dB.
We obtained the channel impulse response (CIR) as shown in
Figure 8 with the transmitted and received signal. It is obvious that the multipath structure varied. The variation in the CIR resulted in a 2 Hz Doppler spread.
Different from the traditional MFSK method, we took M = 240 in this study, because we took 12 rows from the Hadamard matrix, transposed them, and processed them by a vectorization operation. Considering , we know that the subcarrier number for the data was M = 240.
The transmitted information was a binary “Lena” graph, with the size of
. The received signal is shown in
Figure 9; the received signal SNR was around 10 dB. The transmitted figure and the reconstructed one in the receiver are shown as
Figure 10. The BER of the receiver was 0 in this case. Furthermore, when we added the AWGN to the received signal to test the robustness of the proposed communication framework to noise, the lowest SNR was 0 dB, and we retained the BER of 0.
6. Conclusions
This study adopted Hadamard–convolution concatenated coding and joint decoding, CP, Doppler compensation, interleaving, frame synchronization, etc., to form a robust underwater acoustic communication in a complete system way. Different from the traditional MFSK system, we designed a new MFSK with the concept of OFDM, i.e., M = 240. The channel-concatenated coding consisted of a Hadamard code and a convolutional code. Correspondingly, the iterative joint decoding used the Hadamard–Viterbi joint soft decoding framework. The soft decision mode was based on a newly designed branch metric, which was incorporated into the Hadamard structure. Comparisons among several channel coding methods were conducted to confirm the superiority of the joint channel-concatenated coding. Simulations and at-sea experiments were conducted to confirm the effectiveness of the proposed communication framework.