dariol83 / ccsds

Open source Java implementation of publicly available CCSDS standards: SLE, TM/TC, AOS, Space Packets, COP-1, time formats, CFDP, Encapsulation Packets.
Apache License 2.0
93 stars 29 forks source link

Convolutional coding support #19

Closed dernasherbrezon closed 3 months ago

dernasherbrezon commented 1 year ago

Hi,

Great project!

Do you support Convolutional coding, Turbo Codes and LDPC (CCSDS 131.0-B-4 Section 3, 6, 7)? If not, is it because of possible performance issues when doing them from Java?

Anyway can be a great addition. Especially if users can do something like this:

new ViterbiDecoder(ConvolutionalAlgorithm.ALG_12_7)

Or something similar. I have it implemented in jradio: https://github.com/dernasherbrezon/jradio/tree/fcb8f5d8cd8cb79376a72e2006c711e523e87016/src/main/java/ru/r2cloud/jradio/fec but it is less structured and doesn't fully cover the spec. I.e. punctured codes, LDPC and Turbo Codes are missing. Thus much harder to add new satellites to the list. Especially commercial.

dariol83 commented 1 year ago

Hi @dernasherbrezon, thank you for your message. I did not implement support for Turbo Coding and LDPC due to lack of time and interest, but I cannot exclude that I will do it in the future. For what concerns the convolutional coding, I am skeptical that I will ever implement it. In case I start implementing something like LDPC, I will let you know. Thank you for reaching out.

I had a look at your repository and wow, you did a great job there!