Comment and formatting changes
This commit is contained in:
parent
78fd8bf95c
commit
2f1497b1b8
@ -2,13 +2,14 @@ import numpy as np
|
|||||||
|
|
||||||
|
|
||||||
class ProximalDecoder:
|
class ProximalDecoder:
|
||||||
"""Class implementing the Proximal Decoding algorithm. See "Proximal Decoding for LDPC Codes" by Tadashi
|
"""Class implementing the Proximal Decoding algorithm. See "Proximal Decoding for LDPC Codes"
|
||||||
Wadayama, and Satoshi Takabe.
|
by Tadashi Wadayama, and Satoshi Takabe.
|
||||||
"""
|
"""
|
||||||
# TODO: How large should K be?
|
# TODO: How large should K be?
|
||||||
# TODO: How large should eta be?
|
# TODO: How large should eta be?
|
||||||
# TODO: How large should step_size be?
|
# TODO: How large should step_size be?
|
||||||
def __init__(self, H: np.array, K: int = 100, step_size: float = 0.5, gamma: float = 0.05, eta: float = 1.1):
|
def __init__(self, H: np.array, K: int = 100, step_size: float = 0.5, gamma: float = 0.05,
|
||||||
|
eta: float = 1.1):
|
||||||
"""Construct a new ProximalDecoder Object.
|
"""Construct a new ProximalDecoder Object.
|
||||||
|
|
||||||
:param H: Parity Check Matrix
|
:param H: Parity Check Matrix
|
||||||
@ -25,7 +26,9 @@ class ProximalDecoder:
|
|||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def _L_awgn(s: np.array, y: np.array) -> np.array:
|
def _L_awgn(s: np.array, y: np.array) -> np.array:
|
||||||
"""Variation of the negative log-likelihood for the special case of AWGN noise. See 4.1, p. 4."""
|
"""Variation of the negative log-likelihood for the special case of AWGN noise.
|
||||||
|
See 4.1, p. 4.
|
||||||
|
"""
|
||||||
return s - y
|
return s - y
|
||||||
|
|
||||||
# TODO: Is this correct?
|
# TODO: Is this correct?
|
||||||
@ -84,9 +87,11 @@ class ProximalDecoder:
|
|||||||
def decode(self, y: np.array) -> np.array:
|
def decode(self, y: np.array) -> np.array:
|
||||||
"""Decode a received signal. The algorithm is detailed in 3.2, p.3.
|
"""Decode a received signal. The algorithm is detailed in 3.2, p.3.
|
||||||
|
|
||||||
This function assumes a BPSK-like modulated signal ([-1, 1]^n instead of [0, 1]^n) and an AWGN channel.
|
This function assumes a BPSK-like modulated signal ([-1, 1]^n instead of [0, 1]^n)
|
||||||
|
and an AWGN channel.
|
||||||
|
|
||||||
:param y: Vector of received values. (y = x + n, where 'x' is element of [-1, 1]^m and 'n' is noise)
|
:param y: Vector of received values. (y = x + w, where 'x' is element of [-1, 1]^n
|
||||||
|
and 'w' is noise)
|
||||||
:return: Most probably sent symbol
|
:return: Most probably sent symbol
|
||||||
"""
|
"""
|
||||||
s = 0
|
s = 0
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user