0

I'm trying to decode a BPSK signal on GNU Radio and I'm struggling a bit so I hope maybe you will be able to help me.

The flowgraph I'm using is the following :

Gnuradio Flowgraph

The bit frame I'm sending at the input of the flowgraph is :

1a cf fc 1d ff fd 55 53 33 3b bb a5 a5 8d 8d ed ed 6d 6c 93 6e 3b 68 5b 60 db 7e db 56 db 36 db b6 da 49 27 1c 74 2f 4f 94 ea 31 67 bc 8a 51 e7 3d 74 53 4f 3b 14 5b cf 25 14 73 cf 45 14 f3 ce ba e9 a6 9d 89 d2 1d 38 2c 5f 90 d5 c1 32 fc 46 af 09 94 1d cf d2 ea c6 99 09 dc 1d 2f d3 95 3a 33 a7 ba 75 a7 4d 8b 12 1b c7 da f5 26 b3 89 ba 1d a7 d2 75 38 b3 a1 ba 7d a7 52 74 c7 4e f4 e9 4e 9c e9 d1 62 c3 79 04 a3 f1 85 42 0c f8 11 5f c3 2a fb 99 5a 23 27 84 75 f0 b2 be 46 57 08 cb

As you can see, I'm using the "Constellation Modulator" block followed by the "Symbol Sync" block to simulate the modulation/demodulation. The decoding is then implemented by the block "Constellation decoder"

We can see in the picture below that everything seems to work perfectly : when I compare the input bit stream to the output bit stream the bits are synchronized

Results

However when I open the file at the output of the flowgraph I'm unable to get the bit frame that I had at the input.

Do you know how I could fix this issue ? Any help is appreciated :)

Thanks and have a good day

Marcus Müller
  • 34,677
  • 4
  • 53
  • 94
Ncaseau
  • 15
  • 2

3 Answers3

0

The usual: your bits are right, but you have no framing, so your receiver doesn't know where a byte (or any other data unit) starts.

You'll need to add some framing! That can be as simple as a binary preamble that you look for.

Marcus Müller
  • 34,677
  • 4
  • 53
  • 94
0

Ok so I tried adding some framing with the "Correlate Access Code" block and an access code 1acffc1d in binary. Here is the flowgraph :

Gnuradio Flowgraph

The block then finds a tag at sample 53 and on the Time Sink we can verify that the tag is indeed 1acffc1d (in binary).

Results

However I'm not able to make the block "Tagged File Sink" work. On the documentation it is said that the tag must be "burst" for the block to start writing data to a new file but I don't really understand what it means.

Thanks again for your help.

Nicolas

Ncaseau
  • 15
  • 2
0

Edit : I downloaded the module gr-satellites and used the block sync and create packed pdu and everything worked fine.

Ncaseau
  • 15
  • 2