As planned in the previous update, this week I implemented symbol synchronisation in the Simulink model of the receiver. The method we use relies on the energy difference between the bins of the FFT corresponding to the nominal symbol frequencies, which is maximal when the window offset is correct. To take advantage of this method and conserve FPGA area, I am currently investigating a way to use the same data for Doppler correction. Besides symbol synchronisation, I added a more or less realistic model of acoustic noise to the simulated channel, with a PSD decaying at 18 dB/decade.

We concluded that multipath is hard to simulate realistically, and so we decided to implement the existing transmitter project on the GODIL board, in order to collect real data as soon as possible. To do so, we had to go over a few practical steps:

  1. Understand the board programming process. The board may be programmed using either JTAG directly or through the on-board flash memory. Since our JTAG programmers didn’t seem to recognise the board, we went with the latter method. This required reverse engineering the existing parallel-to-SPI cable and remaking it for robustness, as well as understanding the PC-side flashing software.

  2. Make a serial programming cable. All RS-232 cables we could find had only TX, RX, and GND lines. We needed RTS (to select configuration/data mode) and CTS (for flow control), as well as a two-headed Molex KK board end, since the on-board serial ports also only have three pins.

  3. Write the PC-side control software. I wrote this software as a small shell with the necessary commands and minimal scripting capability. Because some low-level serial port access was required, the software was written in C.

Once the above steps were completed, we tested the project on real hardware for the first time. After some initial trouble, traced to inverted RTS polarity, everything worked correctly and as simulated. The output signal was filtered with a simple first-order RC circuit and monitored on the oscilloscope. While it seems to present some higher harmonics (visible in the approximately linear slopes), we believe additional filtering won’t be required, due to the low-pass nature of the transducer and its driver.

While this week forced us to slightly reorder the schedule, we will begin implementation of the receiver on Monday, concurrently with some final modelling and simulation using real-world data.