Author Topic: LDPC soft decoding - a breadcrumb trail for others.  (Read 958 times)

0 Members and 1 Guest are viewing this topic.

Offline hamster_nzTopic starter

  • Super Contributor
  • ***
  • Posts: 2812
  • Country: nz
LDPC soft decoding - a breadcrumb trail for others.
« on: April 25, 2022, 09:50:05 pm »
I'm looking at implemented LPDCs in an FPGA. Here's what Wikipedia has to say about LDPC:

Quote
a low-density parity-check (LDPC) code is a linear error correcting code, a method of transmitting a message over a noisy transmission channel. ... LDPC codes are capacity-approaching codes, which means that practical constructions exist that allow the noise threshold to be set very close to the theoretical maximum (the Shannon limit) for a symmetric memoryless channel.

They are becoming pretty ubiquitous - DVB, Satellite Comms, WiFi and so on.

I found the math behind LDPC decoding pretty hard to get to grips with. Log likelihoods, and working with the products and sums of hyperbolic tangents was all beyond my understanding when I started. The area is very rich in research, and authors always assume that you understand the basics. So finding an understandable way to get a foot in the door is hard.  The best introduction to LDPC codes I've found is this paper, as it has a fully worked example you can follow along with.

https://www.researchgate.net/publication/228977165_Introducing_Low-Density_Parity-Check_Codes

To make sure that my understanding of the math is correct, I made a small bit of code that mirrors the fully worked example Sum Product decoder, and lets you play with the numbers interactively:

https://github.com/hamsternz/LDPC_demo

Hopefully if others have to make the same journey as me it will help them clarify what exactly is going on!
« Last Edit: April 25, 2022, 09:53:21 pm by hamster_nz »
Gaze not into the abyss, lest you become recognized as an abyss domain expert, and they expect you keep gazing into the damn thing.
 
The following users thanked this post: oPossum, philpem, vstrakh

Offline SiliconWizard

  • Super Contributor
  • ***
  • Posts: 15285
  • Country: fr
Re: LDPC soft decoding - a breadcrumb trail for others.
« Reply #1 on: April 25, 2022, 10:15:24 pm »
Interesting. I'm working on line codes and data recovery, so I'll keep an eye on this.
 

Offline hamster_nzTopic starter

  • Super Contributor
  • ***
  • Posts: 2812
  • Country: nz
Re: LDPC soft decoding - a breadcrumb trail for others.
« Reply #2 on: April 25, 2022, 10:22:34 pm »
Interesting. I'm working on line codes and data recovery, so I'll keep an eye on this.

That project most probably won't change much apart form code tidy-ups. That little project above won't be gong far - my next steps are code generators so on so I can do BER vs S/N simulations, and the block lengths are too big to display on a screen unless I start mapping bits to pixels.

Actually, that would be quite interesting to see...
Gaze not into the abyss, lest you become recognized as an abyss domain expert, and they expect you keep gazing into the damn thing.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf