Цитата(vadimuzzz @ Jan 25 2011, 10:48)

по-моему вы путаете алгоритм с конкретной реализацией............
Цитата(thermit @ Jan 25 2011, 14:53)

Ваш численный пример содержит 2 бестолковые операции:...........
Чтобы внести ясность, давайте рассмотрим модель модема от
petrov qam_fb_gardner_symbol_farrow_sync_fb_phase_sync_agc_2007_06_18.mdl, внизу скрины модулятора и демодулятора, а именно как исходный битовый поток переводится в символы радиоканала. Как мы видим, в этом модеме исходный битовый поток (нас же интересует передача именно данных), обрабатывается по грею и только потом поступает в маппер. На приемном конце происходит тоже самое. Т.е. свойством отображения созвездия по грею обладает не сборка маппер-демаппер, а сборка кодер грея - мапер - демапер - декодер грея. Вот именно от такой сборки я выигрыша и не вижу. Потому что ошибка в один бит в символе, в демапере, после декодера грея может привести к ошибке в двух битах в исходных данных.
Таким образом, я считаю, для того, что бы от созвездия по грею получить выигрыш, нужно либо ставить его до основного кодера (LDPC например) либо интегрировать это свойство в маппер демапер. Рассмотрим маппер. Для начала возьмем нативное созвездие, для реализации которого требуется минимум логики(созвездие в атаче). Функция отображения для этого созвездия примитивнейшая(язык псевдо си)
Код
bit [3 : 0] data;
bit [1 : 0] dat_re, dat_im;
dat_re = data[1 : 0];
dat_im = data[3 : 2];
re = (dat_re[1] ? 2 : -2) + (dat_re[0] ? 1 : -1);
im = (dat_im[1] ? 2 : -2) + (dat_im[0] ? 1 : -1);
демапер для такого созвездия тоже примитивнейший
Код
bit [7 : 0] vector_re, vector_im; // let it be 8 bit signed vectors, and decision levels is maximum
bit [3 : 0] data;
bit [1 : 0] dat_re, dat_im;
dat_re[1] = !vector_re[7]; // take signum bit
dat_re[0] = vector_re[6];
dat_im[1] = !vector_im[7]; // take signum bit
dat_im[0] = vector_im[6];
data[1 : 0] = dat_re;
data[3 : 2] = dat_im;
Видно что требуется минимум логики, а вот как реализовать отображение созвездия по грею от AHA? Если с мапером еще более менее понятно, с демапером получится не так просто, т.к. взять комбинационную функцию от определенных битов нельзя (это будет фактически выходной декодер грея, от которого нет толку). Как делают такие демапперы?
Цитата(Serg76 @ Jan 25 2011, 11:23)

Че-то я не совсем Вас понимаю.
я пытаюсь посмотреть на связку модем + кодер, с точки зрения их оптимальной работы друг с другом и при этом оценить ресурсы которые требуются для реализации этой оптимальности. Помимо этого я не вижу логических обоснований вот этого
Цитата
1. Коды грея я использую. Это улучшает ВER всего потока в два раза.
при том что автор, как я понял, поставил кодер грея перед мапером и декодер грея после демапера.