1
$\begingroup$

I am trying to put together a baseband-equivalent simulation of 802.11a signals, which according to Wikipedia has a variable encoding (PSK, QAM, etc.) that have differing coding rates (1/2, 2/3, 3/4) depending on the choice of RATE bits. I can't find any details on the forward error corrector used in 802.11a. Could someone point me the the algorithm used in 802.11a?

$\endgroup$
4
  • $\begingroup$ authorative source here is IEEE Std 802.11a-1999, Part 11 (assuming you're referring to the 5 GHz PHY), 17.3.5.5 Convolutional encoder. $\endgroup$ – Marcus Müller Jan 17 '20 at 22:01
  • 1
    $\begingroup$ by the way, such a simulation does already exist. Look for Basti Bloessl's gr-ieee802-11. It's accurate enough a simulation that you can plug it into an SDR and talk to real WiFis. $\endgroup$ – Marcus Müller Jan 18 '20 at 12:36
  • $\begingroup$ That might be overkill for my purposes, but thanks for the link! $\endgroup$ – Andrew Jan 18 '20 at 19:14
  • $\begingroup$ well, since it contains all of the parts, including channel coding, might still serve as a reference. $\endgroup$ – Marcus Müller Jan 18 '20 at 20:04
4
$\begingroup$

From the official standard, IEEE Std 802.11a-1999, Part 11, section 17.3.5.5 Convolutional encoder, see the rate 1/2 code:

conv. encoder in shift register form

The resulting two streams A and B are interleaved bit-alternatingly.

The other rates (2/3 and 3/4) are achieved through puncturing (as defined on the page right after).

Since this code can't deal with anything that deserves the name "burst error", which in the context of OFDM means "wideband disturbance" (in this case, "interference spanning more than 3 subcarriers" is impossible to correct reliably), there's an interleaver following this. Don't forget that in your implementation.

By modern standards, this is not an overly impressive code, to be honest.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.