My main contribution in this project comes with the coding part. The previous group has coded up to identifying a message successfully in calm water. Our target is to achieve a real time transmission with higher data transfer rate for a turbulent flow. To achieve these as a group we decided to
I am basically working on implementing the code in Python. For this I am using some specific tools along with python.
An arduino was used. when the pin is high, the related LED on the 10*10 LED panel blinks. We tested some patters with the transmitter and it responded well.
Fig 1: Various patterns that were tested on the transmitter
The above transmitter was used only for the testing purposes. Transmitter used in the project was designed using Diptrace and it has blue color LED panel.
Matlab was used for the main code. The code can be divided into some sections for the easiness of coding.
Identifying Frames
This video was used to identify the locations of the LEDs in the 10*10 array. Image processing techniques were used in this. Video was broken into frames and those frames. Many images from the same frame were there and we filtered the images so we could get only 1 image from one frame.
When proceeding with python, I came across some technique called "Image processing using Image reduction method". This method uses the previous frame as reference and it keeps only the changes of the frame by reducing the current frame with the previous frame. This helps us to reduce the processing time and it is very important for us as we are targeting for real time data transferring. I am planning to use a server (University server) for the calculations and processing aspects. Coding process is still going on with the training and decoding parts.
A known bit pattern was displayed by the transmitter and received using the receiver. Using the code previous code, we trained the data set so the receiver can identify the location of the blinking LED more precisely. Implementation of this on Python is going on.
At the transmitter, data to be transmitted is modulated into the LEDs using a RaspberryPi development board connected to the transmitter as shown in the figure 04 above. Bits equal to the number of LEDs are modulated at once to form a random LED pattern to transmit.
Figure 2 : RaspberryPi GUI for modulation of data
Main focus is to identify the centroids of the LED s from the images captured. Matlab along with image processing tools were used for this. '
The algorithm is as follows.
All the codes are attached in the following link
Steps for the alignment.
Fig 3 : Overview of the LDR panel and its directions of movement
Coding was done using Arduino language. The code consists of 2 main sections.