python-polar-coding 0.0.1

Creator: codyrutscher

Last updated:

Add to Cart

Description:

pythonpolarcoding 0.0.1

Python-polar-coding
A package for Polar codes simulation.
Installation
pip install python-polar-coding

Example
Here is a simple example of simulation using python_polar_coding.
Binary messages encoded with Polar code, modulated using BPSK, transmitted over
channel with AWGN and decoded using Fast SSC algorithm.
from python_polar_coding.channels import SimpleBPSKModulationAWGN
from python_polar_coding.polar_codes import FastSSCPolarCodec
from python_polar_coding.simulation.functions import (
compute_fails,
generate_binary_message,
)

N = 128
K = 64
design_snr = 2.0
messages = 10000
# SNR in [.0, .5, ..., 4.5, 5]
snr_range = [i / 2 for i in range(11)]

codec = FastSSCPolarCodec(N=N, K=K, design_snr=design_snr)
bpsk = SimpleBPSKModulationAWGN(fec_rate=K/N)

result_ber = dict()
result_fer = dict()

for snr in snr_range:
ber = 0
fer = 0

for _ in range(messages):
msg = generate_binary_message(size=K)
encoded = codec.encode(msg)
transmitted = bpsk.transmit(message=encoded, snr_db=snr)
decoded = codec.decode(transmitted)

bit_errors, frame_error = compute_fails(msg, decoded)
ber += bit_errors
fer += frame_error

result_ber[snr] = ber
result_fer[snr] = fer

Current progress
Polar code construction

Arikan's Bhattacharyya bounds Section V.A

Decoding

SC Decoding
SC LIST Decoding
Fast SSC Decoding
RC SCAN Decoding
Generalized Fast SSC Decoding

Modulation

BPSK

TODO
Polar code construction

Arikan’s Monte-Carlo estimation Section V.B
Trifonov’s Gaussian approximation Section V.D

Decoding

SC STACK Decoding
Fast SSC List Decoding
Generalized Fast SSC LIST Decoding
CRC-aided decoders

Modulation

Q-PSK
4-QAM

License
MIT License

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.