Upsat transreciever using gr-leo

Hello everyone, hope this finds you well. I am new to this community and have a few questions and wanted to seek out help regarding this. I appreciate any and all kind of help that is provided.

I have created the Upsat transmitter and used gr-leo to simulate channel effects. My end goal is to also have a reciever which is able to decode the message being sent. I will attach the flowgraph below for reference.

this is the reference i have used. I have been trying to deocde the message sent .

Note: i am using gnu radio version 3.7.14 and i require the upsat fsk frame encoder as part of the block diagram as its in the reference being used.

gr-satnogs version - v1.5.1
gr-leo version - v1.0.0

i appreciate any type of help in advance. The approaches i have taken are:

  1. Since i understood the fsk frame encoder block is not doing any modulation, i have used the upsat fsk frame acquisition block to try to recieve the message but to no avail.

  2. from my understanding of the gr-leo channel block, it’s simulating a 10 min interaction of the satellite with the ground station and channel parameters such as atm loss, noise, etc are being added to simulate real time signals.

  3. If my understanding is wrong in any way shape or form , feel free to let me know as i am ready to understand my mistakes.

I am open to answer any more questions and hope to hear from you guys . Thank you for your time and patience.

Sincerely,
Rohith Gopakumar

1 Like

Hi @rohithgopakumar,

an interesting challenge you set yourself!

I don’t have many remarks upfront given that you didn’t specify any questions yet, so my only advice is quite general: Using an extremely old GNU Radio version like 3.7 will make it hard for others to re-produce potential errors. gr-leo was ported to 3.10, so I’d recommend to use at least 3.10

If you have any specific questions, feel free to ask! If it relates to some flowgraphs you modified/created, remember to share them here including any specific error messages that might arise.

I wish you success with your project and I’m interested to hear about your experience.

Sincerely,
kerel

Hello @kerel ,

Hope you are doing well. Thank you for your response and trying to clarify the question.

Here is the transmitter chain : (using both gr-satnogs and gr-leo)

  1. UPSAT TRANSMITTER

The output at the end of the channel model has undergone dooppler shift, atmospheric attn, FSPL, etc. So i have tried to recover it and decode the original signal that is being sent.

Here is my receiver attempt :
2) UPSAT RECEIVER ( My attempt)

My idea was to use the csv output that comes out which has the doppler shift as the 8th column value and insert it into the receiver to compensate the doppler effect. Is this an appropriate method to do so.

Note:

  1. I have tried to search for the block UPSAT FSK Frame Encoder and have only found it till the release of v1.5.1 of gr-satnogs after which it has been discontinued.

  2. This is the reason i am using a very old version of gnu radio. I have also downgraded gr-leo (v1.0.0) as the latest version is not compatible with gnu radio v3.7.14.

  3. This transmitter is being used in the original reference i’m using and they haven’t given a way to decode the input that is being transmitted , so i’m trying to find a way to do so. Please do let me know if my understanding is wrong or if i must add anymore information.

Please refer this Gr-leo: A GNU Radio open-source space channel simulator - Libre Space Foundation as they have shown only the transmitter part here too.

Sincerely,
Rohith Gopakumar

Ah, I see! UPSAT decayed in 2018, thus it’s bespoke flowgraph wasn’t updated. I assume your choice of UPSAT is based on the fact that this was the example used previously for gr-leo, e.g. in this post?

If possible, I’d recommend to modify an existing flowgraph for an FSK frame decoder in GNU Radio 3.10. For satnogs-flowgraphs, there are recent patches for 3.10 in satnogs-flowgraphs!44, otherwise the gr-satellites Satellites decoder block might also be an option.

My idea was to use the csv output that comes out which has the doppler shift as the 8th column value and insert it into the receiver to compensate the doppler effect. Is this an appropriate method to do so.

I’d recommend to just try it! Tell me, did it work?

Hi there,

Thank you for your quick response. The reason i am using upsat fsk frame encoder is due to the fact my reference research paper has used this transmitter chain but has not exactly decoded the input. So that’s why i decided to stick to recreate the same.

C

Could you Please explain this in a bit more detail , Did you mean to use an fsk transceiver that the current gr-satnogs supports, instead of using the frame encoder?

Sure i will try it out and get back to you with the results. Thank you for your time and patience , hope you have a good day.

Sincerely,
Rohith Gopakumar

The reason i am using upsat fsk frame encoder is due to the fact my reference research paper has used this transmitter chain but has not exactly decoded the input

I’m curious, would you like to link this paper? :slight_smile:

Could you Please explain this in a bit more detail , Did you mean to use an fsk transceiver that the current gr-satnogs supports, instead of using the frame encoder?

yes! That said, I realize that there might not be an encoder available in the tree migrated to 3.10.

Hello there,
Thank you for your response. I will link the paper and summarize the important parts so you do not have to go through it all which is time consuming and i really am grateful for the help.

An_SDN_Solution_For_a_GEO_and_LEO_Satellite_Transceiver_Based_on_GNU_Radio_Companion.pdf (5.2 MB)

Here is the whole paper for reference above.

A quick summary is : We are using gnu radio for the physical layer simulation which allows us control over bit wise modification , then we are utilizing an SDN controller to ensure the separation of control and data plane.
Mininet is used along with the pox controller and gnu radio is used on host 1 and host 2 to send and receive data . iperf3 tests are run to check parameters and performance. So we have a complete flow from data plane to the control plane.

I will break down the important parts that are of concern to our topic.

  1. Transmitter


    They have shown the transmitter which i have been able to replicate already.

    This is the frequency sink and a time sink output shown

  2. This figure talks about both the transmission and reception of the signal

I have successfully integrated both mininet and gnuradio but i currently lack the receiver part and have only the transmission flowgraph.

  1. This is the final case of sending a hd video to stress the link

here you can see they have been able to see successful transmission which is not possible without having a receiver which does the opposite of what the transmitter does. There is only the flowgraph i.e figure 2 mentioned.

Feel free to clarify further and thank you for your time and efforts. :smile:

Sincerely,
Rohith Gopakumar

1 Like