Así que recientemente implementé un ecualizador CMA en MATLAB que usa el método de descenso más pronunciado para converger al costo mínimo. (Estoy en un atracón de implementación de ecualizador).
Mis preguntas son las siguientes:
1) Me parece que el algoritmo CMA solo es bueno para canales en los que son relativamente 'planos'. En otras palabras, ¿no se espera que funcione para canales con desvanecimientos / nulos profundos? ¿Es esto generalmente cierto?
2) Estoy usando una señal BPSK, y podemos ver en la primera figura aquí, que después de los efectos de trayectos múltiples, tengo una mancha en el plano complejo de mi señal BPSK: no hay dos grupos agradables como cabría esperar. En cambio, vemos 4 grupos rojos. Mi pregunta es ¿cómo es que después del ecualizador CMA todavía tengo 4 grupos? (Coloreé esos azules). Supongo que tiene sentido porque la CMA simplemente obliga a los sobres a ser 1, y no "importa" de qué grupo está hablando. Sin embargo, he oído que CMA puede sufrir problemas mínimos locales. ¿Sería este un ejemplo de ello? (es decir, obtener 4 grupos en lugar de 2, ya que esto es BPSK). Si no, ¿qué se puede hacer al respecto?
3) Casi como si respondiera la pregunta 2, seguí adelante y cambié el módulo constante con el que trato de minimizar el error. En lugar de elegir 1 (como se supone que es el caso de BPSK), elegí 0.25 como módulo. Esta es la constelación que obtuve:
El problema es que, incluso si se trata de una 'solución', ¿cómo saber a priori qué elegir el módulo? La razón por la que lo considero un problema es que si tengo 4 grupos en lugar de 2, hace que la estimación / corrección de desplazamiento de fase / frecuencia posterior al símbolo sea más complicada, especialmente cuando se esperan 2 grupos debido a la señalización BPSK.
(Para completar, he adjuntado los mismos gráficos pero cuando agregué desplazamientos de frecuencia)
¡Gracias de antemano por cualquier información que pueda dar a este ecualizador!