Last updated:
0 purchases
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
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.