Although the writing of the dissertation was carried out throughout the semester, these last weeks were naturally entirely devoted to such task.

Finally, a set of off-coast experiments was carried out. However, due to a combination of the mentioned lack of transmission power and the high noise level produced by several nearby boats, the recorded signals were corrupted. Since we were already in June and thus was not possible to perform another set of off-coast experiments, we accurately simulated the motion-induced Doppler effect in order to test the synchronization algorithm. Such simulation consisted of replicating this effect by rescaling the received signals according to the simulated end-to-end motion. We found the algorithm was capable of correcting for Doppler induced by speeds of up to 3 m/s (high enough to cover the general cases of node drifting) with negligible increases in the error probability.

Unfortunately, the study of enhancement strategies and the fine-tuning thereof carried out in the last months did not allow for a receiver implementation of this features, as all the decoding process was done in the MATLAB environment. Even so, we believe that the fidelity of the receiver replica developed in such environment will allow for the results to be greatly transposed to future hardware implementations.

Another set of tests at the marina was conducted this week, so as to find whether diversity with gain control would actually cope with the mention frequency-selective fading, and indeed it did. We found that, with a more even energy distribuition among different tones, diversity allowed for an effective reduction of the fading and, consequently, a two orders of magnitude reduction of the error probability. Despite this interesting result, we found that diversity factors higher than two or, equivalently, the use of more than two information two tones (MT-FSK), resulted in very small amplitudes at the reception. Not only was this due to the fact that diversity divides the energy among the transmitted tones, but it was also due to the poor transmitting power of the system.

With the use of signals recorded at the marina, an algorithm for the detection of the sync pulses was developed and tested with great success. However, only in the off-coast environment, where motion-induced Doppler is severe, the algorithm would be actually validated.

This week, equalization at the transmitter was implemented. Since using a FIR filter would not only be less accurate but would also be inadequate for real-time reconfiguration, the implemented equalization scheme consisted of multiplication of each tone by a factor according to the chosen response. To that end, a real-time reconfigurable table with the factor assigned to each frequency was added to the modulator.

Additionally, we decided to perform the synchronization through the use of short pulses sent periodically, as done in many successful implementations. However, neither of the corresponding papers offered the implementation details of the actual pulse detection, therefore, this feature was implemented at the transmitter so as to use the results of future experiments in the development of our own detection mecanism.

After the success of the tank tests it was time to conduct them at the marina. After some experiments at distances of up to 20 meters, it was clear that this channel suffered from frequency-selective fading. Such issue was usually addressed through the use of diversity, which we had already implemented. However, even with the use of this feature, the error rates were not actually decreasing. We then concluded it was, once again, due to the amplitude differences between tones. In fact, if the tones with the largest amplitudes were suffering from fading, the remaining ones simply did not possess an amplitude that would render the average (or, more specifically, the sum) free of fading. It was clear that some gain control at the transmitter had to be implemented. On the other hand, equalization at the receiver was not appropriate for situations of frequency-selective fading, as stated by many researches, therefore we chose to discard it.

This week was mainly devoted to the actual hardware implementation of frequency hopping. As a result we now have frequency hopping with real-time configurable number of channels as well as number hops between symbols. In order for the frequencies of each channel to be also real-time reconfigurable, the modulator undertook substantial changes and has now a table with each possible frequency and a table assigning an index of the former to each possible combination of channel, hopping band and symbol. After conducting a new set of tests in the tank with the use of this feature, we have observed it was, indeed, capable of addressing the ISI issue. In fact, we achieved BER reductions of two orders of magnitude in regards to the experiments without the use of frequency hopping.

In the meanwhile, we referred to relevant papers regarding synchronization in underwater communications so as to consider new strategies for this purpose.

After a more consistent set of tests with longer bit streams at the tank, it was concluded that, despite the considerable reduction of the reverberation due to the gain optimization, the main cause of errors was still multipath-induced ISI. Since with the mentioned gain control this environment was more realistic, as it resembled the heavy multipath channels described in the studied papers, we decided to use it as one of our case studies. As such, strategies to cope with the ISI issue had to be considered. After referring to some papers, it was concluded that the most appropriate feature would be frequency hopping, thus, the first ideas regarding its implementation details were outlined. Additionally, we found that the synchronization algorithm could not cope with the amplitude fluctuations observed in this environment, therefore, we had to redefine it.

Another important conclusion drawn from the tank tests was the existence of a large amplitude difference among different tones which would render useless the mention fine-tunning of the gain. This difference was certainly due to the transducer's frequency response, however, that of the output circuit was unknown and could possibly another cause. As such, an experiment consisting of the measurement of the frequency response of the output circuit was conducted and it was concluded that it was also quite unbalanced. Additionally, we found that its maximum gain actually 4 kHz away from the transducer's resonant frequency, most likely due to the car audio amplifier.

This week the tank tests finally began. Although we were a bit skeptical about the feasibility of robust underwater communications in such a reverberant environment, mainly due to past experiences, we decided to go for a new strategy whose results were actually interesting. The idea was that, the amount of time spreading - or reverberation - could depend on the power of the transmitted signal, and after some tests, it was concluded that this idea was correct. In fact, by dramatically dropping the transmission power, the total time spread as well as the ratio between the power of the echoes and the power of the first received signal decreased considerably, to levels similar to those of field experiments at the sea and at the marina. Therefore, we are now able to do more realistic experiments which will enable a correct validation the system and the newly implemented features. Complete tests with long bit streams were also made but more tests are needed to conclude on the results.

After the preliminary form of diversity used by the multiple tone transmission was implemented, it was important to optimize this feature and, above all, make it easily extensible to more complex features such as coding modulation. Once this was accomplished and verified though a functional verification, it was time to synthesize the circuit. Upon this process, the synthesis tool reported a maximum clock frequency fairly below what was expected. After checking the clock report the problem was found and corrected through the use of pipelining.

The development of the multiple tone transmission feature took longer than it was expected. This was due to some implementation-related problems that arose and also to the reconfigurable nature of this feature, i.e. the possibility of changing the number of tones simultaneously sent and their frequencies on an on-line basis. The key issue was the fact that since the number of tones that could possibility be sent simultaneously, say N, was to be defined upon the synthesis of the circuit, it was not possible to sent a number of tones smaller than N and still use all the power the system was capable of outputting, as the unused channels were simply not transmitting. The solution was to always use all the N channels simultaneously and if, for instance, only N/2 were actually sending information, the other N/2 received a copy of that piece of information and transmitted it in exactly the same frequency. The result was that after all the signals were added, only N/2 frequencies were actually being transmitted. Of course, this was conceptually equivalent to diversity usage, despite the fact that in this case the diversity channels were actually transmitting at the same frequencies, therefore, the implementation of diversity was also started in this week.

After the development of the new synchronization algorithm in the MATLAB environment, it was important to perform new field tests. The main goal of these tests was not only to assess the performance of the new synchronization algorithm but also to provide an insight into the overall performance of the system. Therefore, it was important that the tests already included the use of two techniques that could have a relevant impact on performance of system: diversity and multiple tone transmission. Since these features were not yet implemented, these two weeks were mainly devoted to the implementation of the latter.

Before moving forward to new field tests, it was important to finally develop a suitable synchronization mechanism. Consequently, a decoding method which needs no explicit synchronization was implemented. It basically consists of an analysis of the amplitudes of the two FFT bins in a rate much higher than the symbol rate and a subsequent detection of the instants in which the symbol with maximum amplitude changes. The time between consecutive changes is then used to estimate the sent sequence. Additionally, another strategy was attempted. Since the signals were affected differently by the channel, an attempt to decode them individually was made. More specifically, this consisted of an OOK demodulation through a detection of relevant amplitude changes rather then a fixed threshold. Once again, this demodulation scheme needed no explicit synchronization, and if it was successfully implemented, it would double the spectral efficiency of the system and, consequently, the effective data rate. The test of both approaches was not entirely reliable, as although recorded signals were available, there was no indication of the bit sequences which were actually sent. The latter was estimated by a human analysis of the signals, and then used to test both approaches with interesting results.

In order to better address the synchronization issue, the development of a solution would have to be suited to the nature of real underwater acoustic signals. Therefore, several recorded signals were analyzed through a study of the amplitude of the FFT bins of the two transmitted tones along time. From this study some important conclusions were drawn, mainly in regards to the effect the channel had in each of the transmitted tones. First of all, in most cases, one of the tones had a significantly higher amplitude and smaller amplitude fluctuations; although the former was easily corrected by the implemented magnitude equalizer, the latter was not coped with and certainly affected the decoding process, as it relies on the relative amplitudes among tones. Second of all, quite often the amplitude changes among tones were not synchronized, i.e. the amplitude of a tone rose long before the other tone's amplitude decreased; this was probably due to the different constant delays that the channel introduced in each of the tones. These two facts indicated that the tones might be too far apart in frequency to assure an approximately equal channel response (the so-called coherence bandwidth). After reviewing the studied literature, it was clear the tone separation as usually around two orders of magnitude lower then the one that was currently being used. Therefore, it is necessary to perform field tests with less spaced tones.

In these two weeks, the general study of the develop system was finished. This process took so long due the challenge of getting used to such a complex system on a low level basis. Additionally, the symbol synchronization problem was analyzed more thoroughly, and afterwards replicated through a MATLAB simulation. The conclusion was that it was clear that without a periodic repetition of the sync preamble mentioned in the previous work or, alternatively, the use of an on-the-fly synchronization algorithm, the loss of synchronization was only a matter of time due to the natural clock period differences between transmitter and receiver. To address this issue, on-the-fly synchronization algorithms were studied, and a particular one (adapted from [41]) was implemented in MATLAB. After testing it with synthesized signals, it was necessary to do so with the real acoustic signals sent by the transmitter that were already available. After a qualitative analysis of such signals, it was clear the severe amplitude fluctuations in the FFT bins of interest precluded the use of this amplitude dependent algorithm. Therefore a new strategy had to be adopted.

As expected, the first two weeks were essentially devoted to the knowledge of the tools to be used throughout the thesis as well as the study of the work already developed. As such, each Verilog and MATLAB/Simulink file was analyzed so as to gain insight on specific implementation issues of the previosly developed FSK modem. Additionally, some pieces of documentation regarding some modules of the system were checked. Finally, a new workspace in the PC to be used was setted up and a new git repository was created by clonning the existing one.

Due to a course from the first semester that only ended in the first days of March, these two weeks were not sufficient to study of the entire system, therefore, this task had to be finished latter than scheduled.

Study of the system DONE
Design and implementation of a new synchronization algorithm DONE
Implementation of MT-FSK DONE
Implementation of diversity DONE
Implementation of frequency hopping DONE
Implementation of transmitter-side equalization DONE