This page summarizes some contributions in the field of C4-sequences. It also proposes matlab codes to construct and optimize C4-sequences (all the code are given under a GPL licence.
Illustration of C4-sequences
Emmanuelle Bobji, "Optimisation conjointe utilisant l'apprentissage par renforcement pour un codeur et un décodeur correcteur d'erreurs", 23/02/2023- (with Orange Innovation, with Bruno Jahan and Christophe Jego)
Abdallah Abdallah, "Simplified non-binary codes", 01/12/2023- (with Bertrand Le Gal and Camille Monière)
Matlab codes: The following files contain some Matlab codes to generate and optimize C4 sequences. Specifically, it contains:
1)
x = build_C4(s, c), return C4-sequence x from seed s and clockwise direction c.
2) x = measure(x, l), Return the first l terms of the Normalized Minimum Square distance of sequence x.
3) x = optimize_sequence(x, mode, param),
Optimization of the C4 sequence from the seed sequence s according to a given objective.
There are 3 possible optimization objectives
mode = 'PAPR': try to return a unitary C4-sequence, "param" not use.
mode = 'SNR': optimize the mutual information for the snr given by "param".
mode = 'WS' : optimize the Weighted Sum of normalized minimum square distance of x. "param" is then a vector that gives the ponderation weight of the minimum normalized square distance of x.
4) MI = mi_d2_awgn(x, snr), give the mutual information of constellation x at a given signal to noise ratio.