Blind equalization with constant modulus algorithm in GNU Radio

I'm currently simulating the effect of multitap channel on BPSK as well as its remedy i.e. equalization.

The modem is expected to work with satellite TT&C transponder. The communication channel is fixed line-of-sight and can be safely regarded as non-fading. Typically, satellite TT&C doesn't employ the use of a pilot signal.

My understanding of equalization is pretty rudimentary and so I have decided to stick to equalization blocks that are already available in GNU Radio (i.e. the constant modulus algorithm (CMA) equalizer block) before I write one by myself. From my understanding, this is a blind equalization algorithm, which I think is appropriate since there is no pilot signal involved.

Now, this block expects the number of taps, the modulus of the signal, an equalizer gain coefficient and a number of samples per symbol. In the simulation below, I'm using a channel with 8 taps $$\begin{pmatrix}1.0\\ 0.25-0.25j \\ 0.50 + 0.10j\\ -0.3 + 0.2j \\ 1.0\\ 0.25-0.25j\\ 0.50 + 0.10j\\ -0.3 + 0.2j\end{pmatrix}\text.$$

I have configured the CMA to have 9 taps. I have used different gain taps in the range 0.001 to 0.05. Smaller gain values result into a very non-flat response at the output of the Costas loop(Ideally, the input signal to the decision device i.e output of Costa's loop should be flat). My questions are:

• why is the BER performance so poor?
• how to configure this block properly?