Тому я нещодавно впровадив еквалайзер CMA в MATLAB, який використовує метод найбільш крутого спуску, щоб сходити до мінімальних витрат. (Я на виправдання еквалайзера).
Мої запитання такі:
1) Мені здається, що алгоритм CMA хороший лише для каналів, де вони відносно «плоскі». Іншими словами, не очікується, що це буде працювати для каналів з глибоким затуханням / нулями? Це взагалі вірно?
2) Я використовую сигнал BPSK, і ми бачимо з першої цифри тут, що після ефектів багатопуткової дії у мене є розмазування на складній площині мого сигналу BPSK - немає двох приємних кластерів, як можна було б очікувати. Натомість ми бачимо 4 червоних скупчення. Моє запитання - як після еквалайзера CMA у мене ще 4 кластери? (Я пофарбував ці сині). Я думаю, це має певний сенс, оскільки CMA просто змушує конверти бути 1, і не дбає про те, про який кластер ви говорите. Я чув, що CMA може постраждати від локальних проблем з мінімумами. Це був би приклад цього? (тобто отримання 4 кластерів замість 2, оскільки це BPSK). Якщо ні, то що з цим можна зробити?
3) Майже так, ніби відповідаючи на питання 2, я пішов вперед і змінив постійний модуль, на який прагну мінімізувати помилку. Замість того, щоб вибрати 1 (як це стосується BPSK), я вибрав 0,25 як модуль. Це сузір’я, яке я отримав:
Проблема полягає в тому, що навіть якщо це "рішення", як люди знають apriori, який обрати модуль? Причиною, яку я вважаю проблемою, є те, що якщо у мене є 4 кластери замість 2, це ускладнює оцінку / корекцію зміщення фази / частоти постсимволу, особливо коли очікують 2 кластери через сигналізацію BPSK.
(Для повноти я додав ті ж графіки, але коли я додав зміщення частоти)
Заздалегідь дякую за будь-яку інформацію, яку ви можете дати цьому еквалайзеру!