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)
mi = mi_2d_awgn(signal, SNRdB, N), return the Mutual Information of the constellation signal at SNRdB (function written by Prof. Raphaël Le Bidan).
4) 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 of length(x) that gives the ponderation weight of the minimum normalized square distance of x.