A systematic polar encoder with data checks, comprising:
- an input configured to receive an input data word d containing information to be transmitted;
- an encoder circuit configured to produce a codeword x such that an encoding operation by the encoder circuit utilizes
- a transform matrix G, and
- a transform input u that includes
- a part uF satisfying uF=b for a fixed word b that is independent of the data word d,
- a part uT satisfying uT=t for an inverse puncture word t that is a fixed word independent of the data word d,
- a part uI satisfying uI=d′ for a modified data word d′ that is derived from the data d, and
- a part uC satisfying uC=f(d′) where f is a check generator function that operates on the modified data word d′ and generates a non-void check word, the transform input u having associated with it a transform output z,
- wherein the transform output z is related to the transform input u by z=uG, the transform output z including
- a punctured part zP satisfying zP=p for a puncture word p that is one of a void fixed word and a non-void fixed word,
- a part zJ satisfying zJ=d, and
- a part zR serving as redundant symbols,
- wherein systematic encoding of the data word d is achieved by combining the part zJ=d and the part zR of the transform output z in a predetermined order to form the codeword x;
- and
- an output for transmission of the codeword x.