{'fraction_non_alphanumeric': 0.01634320735444331, 'fraction_numerical': 0.0030643513789581204, 'mean_word_length': 4.903614457831325, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Proposed bit precisions for a VLSI implementation of the constant modulus algorithm

One of the most popular blind equalization techniques is the constant modulus algorithm (CMA), and it has gained popularity in the literature and in practice because of its LMS-like complexity and its robustness to non-ideal, but practical, conditions. When implementing the CMA in a VLSI design, the bit precisions used to represent the mathematical quantities must be carefully chosen in order to reduce performance degradation due to finite bit precision effects. The motivation for this paper is a VLSI implementation of a high data rate, fractionally spaced, linear forward equalizer whose taps are adjusted using CMA. We propose a set of bit precisions and show how the CMA performs using those precisions to equalize 64-QAM data. An interesting finding is that the MSEs that result from using our proposed bit precisions are within 1 dB of the MSEs for the floating point version of CMA.