The objective of this challenge is to write a code in Python (use of python is mandatory) to achieve 100% real-time streaming of In-phase and Quadrature-phase (I-Q) data (complex data type) from GNU Radio Companion (GRC) to the AWS cloud. It is important that at the end of the data stream or if the stream is terminated in the GRC, the code should close the socket and display performance results such as end to end (E2E) latency, total packets transmitted, total packets received, packet loss rate, throughput (in bits/s), total amount of data transmitted (MB or GB), jitter, etc. The packet loss rate should not exceed 5% (i.e. PLR < 5%). The code should be scalable to transmit I-Q data using different sampling rates from the GRC e.g. 5, 10, 20, 50, 100 MS/s (i.e. Million Samples per second) and beyond.
The task will require very solid knowledge of GNU flow graph (GRC), ZMQ protocol and Python socket programming.
2 Client/Server models are required:
1. The first model will use only ZMQ sockets to transmit all the streaming data from the client (GRC) to the server (AWS cloud).
2. The second model can use ZMQ sockets to receive the data stream from the client (GRC) to python environment and thereafter use python socket programming to transport data to the server (cloud).
Delivery time: 48 hours.
3 freelancers are bidding on average $267 for this job
Done! I have over 3 years of experience in Python. Please go through my Linkedin profile and let me know if it works for you. Linkedin Profile: https://linkedin/in/artisvirat