First of all, thank to all the community, I do not usually to write in this forum, but I read a lot and catch a lot of information:D
But thos time I’m very stucked on this problem.
During the last week I’ve tried to develop an SDR interface to the AX5043 RF transceiver chip but I do not understand how the FEC option + interleaving works.
If someone had any experience on that I will really glad to catch some information.
I would suggest to start without interleaving fist and make sure that your FEC is ok. Encoding should be trivial. For the decoding you will have to use the Viterbi. Check for the corresponding block in GNU Radio. There are many examples.
The good thing with the convolutional codes is that they are stream oriented, so eventually even if you do not know the exact start of the frame or the initial state, they should converge. Try to send from the IC a long known pattern (for the first steps it is convenient to fill the frame with a random byte) and if you have selected the proper states for the decoder, eventually you will start seeing a good portion of that pattern. Some bits maybe off at the beginning or the end of your frame, but we can discuss later how you can deal with them.
After some time spent on it, finally I found something that works.
I have recorded a long pattern of from the IC composed as follow:
20 HDLC flag (0x7E) + 10 bytes of random data set from the Programming User interface of the chip. Then I enabled the FEC correction.
Analysing the acquisition I found a repetitive pattern, after some initial bytes, that I think it represents the HDLC flag convolved. The message recorded is exactly doubled in time respect the same message without the FEC enabled-
The interesting part is that, with gnuradio native blocks for convolutional decoder definition I can’t retrieve the initial sequence, I think that it can not work with a constraint length of 5, but nevermind, I built my own convolutional decoder and it works.
My current gnuradio version is the 3.7.9. Do you have any council for me regarding the native Convolutional decoding block from gnuradio and why should it not work with these parameters?
After that, I have enabled the Interleaving option and made another recording but this time even if the initial sequence is still repetitive it does not any sense for me
Can you please give me some information about the interleaving?