Здравсвуйте!
Перед тем, как задать вопрос, немного теории из книги "Digital communications" by Bernard Sklar, потому что вопрос несколько связан с цифровыми коммуникациями.
В общем, допустим, существует коммуникационная система, где набор сигналов, передаваемых по каналу связи составляют

. Пускай, допустим, логическому нулю соответсвует значение напряжения -1В, а логической единице напряжение +1В.
В канале действует аддитивный белый гаусовский шум. Вероятность того, какой сигнал принят (логический нуль или логическая единица) обычно определяется по графикам функций правдоподобия для нуля и единицы, которые выглядят следующим образом:



- среднеквадратическое отклонение белого шума.
Где х - уровень принятого сигнала. Подставляя в формулу х, определяем условные вероятности принятого сигнала. Условная вероятность которого сигнала больше, соответственно тот сигнал декодер и выдаёт на своём выходе.
Это, как бы является основой для принятия декодером решений, какой же сигнал всё-таки он получил.
Однако есть в теории цифровых коммуникаций такой алгоритм, как MAP (maximum a posteriori)
Суть его заключается в следующем:
при

принимается решение, что принята 1,
при

принимается решение, что принят 0.
И используетя так же теорема Байеса:

и


- функция распределения вероятностей принимаемого сигнала х (с шумом)

- апостериорная вероятность

- априорная вероятность

- функция распределения вероятностей принятого сигнала х, дающая тестовую статистику в пространстве сигналов 0 и 1.
Учитывая теорему Байеса и алгоритм MAP можно записать:
при

принимается решение, что принята 1
при

принимается решение, что принят 0
или

принимается решение, что принята 1

принимается решение, что принят 0
Если взять натуральный логарифм, то мы получим полезную метрику, называемую LLR(log-liklyhood ratio):
![$$L(d/x)=log_e\left[\frac{p(x/d=+1)}{p(x/d=-1)}\right]+log_e\left[\frac{P(d=+1)}{P(d=-1)}\right]$$ $$L(d/x)=log_e\left[\frac{p(x/d=+1)}{p(x/d=-1)}\right]+log_e\left[\frac{P(d=+1)}{P(d=-1)}\right]$$](https://dxdy-04.korotkov.co.uk/f/f/b/6/fb6578b7e9f4f75bd8e11d6f42b017bf82.png)
Или же в конечном итоге можно записать:

где
![$L_c(x)=log_e\left[\frac{p(x/d=+1)}{p(x/d=-1)}\right]$ $L_c(x)=log_e\left[\frac{p(x/d=+1)}{p(x/d=-1)}\right]$](https://dxdy-03.korotkov.co.uk/f/6/9/9/699671c89327855593fbf2006ee138a382.png)
- LLR тестовой статистики х, получаемой путём измерений х на выходе канала при чередовании условий, что может быть передан d=+1 или d=-1.
![$L(d)=log_e\left[\frac{P(d=+1)}{P(d=-1)}\right]$ $L(d)=log_e\left[\frac{P(d=+1)}{P(d=-1)}\right]$](https://dxdy-01.korotkov.co.uk/f/4/3/c/43c30f1d219b6adb04e08da1701ae64f82.png)
- априорное LLR бита данных d.
Для систематических корректирующих кодов доказано, что LLR на выходе декодера равно:

Тут

- это LLR, полученное из демодулятора, т.е. значение, получаемое из знания априорной вероятности битов и условной вероятности.

- называется внешним LLR и представляющую внешнюю информацию, вытекающего из декодирования. Она вытекает из того, что в полезное сообщение добавляются добавочные биты, способные дать нам дополнительные знания о том, насколько верно принята последовательность данных.
Как результат,

при положительном значенни говорит нам, что получена логическая единица, при отрицательном - логический нуль.
При вычислении внешней информации используется LLR алгебра:
![$$L(d_1)\boxplus L(d_2 )\triangleq L(d_1\oplus d_2)=log_e \left[\frac{e^{L(d_1)}+e^{L(d_2)}}{1+e^{L(d_1)}e^{L(d_2)}}\right]$$ $$L(d_1)\boxplus L(d_2 )\triangleq L(d_1\oplus d_2)=log_e \left[\frac{e^{L(d_1)}+e^{L(d_2)}}{1+e^{L(d_1)}e^{L(d_2)}}\right]$$](https://dxdy-01.korotkov.co.uk/f/8/2/1/821132cf6b0d2a2f0c4b01ab873d7a3982.png)
Знак

представляет LLR сложение, а знак

представляет сложение по модулю 2.
Привожу ниже доказательсво этого выражения (это важно для сути вопроса):
![$$L(d)=log_e \left[\frac{P(d=+1)}{P(d=-1)}\right]=log_e \left[\frac{P(d=+1)}{1-P(d=+1)\right]}$$ $$L(d)=log_e \left[\frac{P(d=+1)}{P(d=-1)}\right]=log_e \left[\frac{P(d=+1)}{1-P(d=+1)\right]}$$](https://dxdy-04.korotkov.co.uk/f/7/7/0/7700bf7baf0a999e6c49258b3d50c03a82.png)
отсюда:
![$$e^{L(d)}=\left[\frac{P(d=+1)}{1-P(d=+1)}\right]$$ $$e^{L(d)}=\left[\frac{P(d=+1)}{1-P(d=+1)}\right]$$](https://dxdy-02.korotkov.co.uk/f/9/3/e/93e04b0e7f524a1adff056323da4a66e82.png)
Решая относительно P(d=+1), получаем:

![$$e^{L(d)}=P(d=+1)\times [1+e^{L(d)}]$$ $$e^{L(d)}=P(d=+1)\times [1+e^{L(d)}]$$](https://dxdy-01.korotkov.co.uk/f/0/b/0/0b03f8b4e81f3b5d3673963e182e94ec82.png)
и


![$$L(d_1 \oplus d_2)=log_e \left[\frac{P(d_1 \oplus d_1=1)}{P(d_1 \oplus d_1=-1)}\right]$$ $$L(d_1 \oplus d_2)=log_e \left[\frac{P(d_1 \oplus d_1=1)}{P(d_1 \oplus d_1=-1)}\right]$$](https://dxdy-04.korotkov.co.uk/f/b/1/4/b1477cb70a539e958036f4a88e7dffe382.png)
![$$=log_e\left[\frac{P(d_1=+1)\times P(d_2=-1)+[1-P(d_1=+1)][1-P(d_2=-1)]}{P(d_1=+1)\times P(d_2=+1)+[1-P(d_1=+1)][1-P(d_2=+1)]}\right]$$ $$=log_e\left[\frac{P(d_1=+1)\times P(d_2=-1)+[1-P(d_1=+1)][1-P(d_2=-1)]}{P(d_1=+1)\times P(d_2=+1)+[1-P(d_1=+1)][1-P(d_2=+1)]}\right]$$](https://dxdy-02.korotkov.co.uk/f/d/5/7/d575de6ef598887a6b805b6758f7657282.png)
Ну и подставляя в это выражение

и

Получаем
![$$L(d_1)\boxplus L(d_2 )=log_e \left[\frac{e^{L(d_1)}+e^{L(d_2)}}{1+e^{L(d_1)}e^{L(d_2)}}\right]$$ $$L(d_1)\boxplus L(d_2 )=log_e \left[\frac{e^{L(d_1)}+e^{L(d_2)}}{1+e^{L(d_1)}e^{L(d_2)}}\right]$$](https://dxdy-04.korotkov.co.uk/f/3/2/6/3266a2fd093c34563f7fc453aaef8b1d82.png)
А теперь, как это всё получается практически (и там то и возникнет самый главный вопрос, который касается большей частью математики и ради которой я создал эту тему):
Пускай передаются данные, представленные в таблице:

Тут

это полезные данные, а

- это проверочные биты, полученные путём сложения полезных данных по формуле, как показано ниже:

Данные передаются в такой последовательности:

и соответственно переданная последовательность будет выглядеть:

Если информационные биты выразить через значения биполярного электрического напряжения +1 и -1, соответствующие логическим двоичным уровням 1 и 0, то представленная последовательность будет следующей:

На входе приёмника повреждённые шумом биты обозначим последовательностью

где

для каждого принятого бита данных,

для каждого полученного проверочного бита, а n представляет собой распределение помех, которое статистически независимо для

и

Предположим, что вследствии воздействия помех, на вход приёмника приходит последовательность:

или другими словами мы принятую последовательность можем записать:


найдём по формуле(здесь

в обозначении

является общим временным индексом k=1,2,3,4,5,6,7,8):
![$$L_c(x_k)=log_e \left[\frac{p(x_k/d_k=+1}{p(x_k/d_k=-1}\right]=log_e \left (\frac{\frac{1}{\sigma\sqrt{2\pi}}\exp\left\lbrack-\frac{1}{2}\left(\frac{x_k-1}{\sigma}\right)^2\right\rbrack}{\frac{1}{\sigma\sqrt{2\pi}}\exp\left\lbrack-\frac{1}{2}\left(\frac{x_k+1}{\sigma}\right)^2\right\rbrack}\right)=- \frac{1}{2} {\left (\frac{x_k-1}{\sigma}}\right)}^2+\frac{1}{2} {\left (\frac{x_k+1}{\sigma}}\right)}^2=\frac{2}{{\sigma}^2}x_k$$ $$L_c(x_k)=log_e \left[\frac{p(x_k/d_k=+1}{p(x_k/d_k=-1}\right]=log_e \left (\frac{\frac{1}{\sigma\sqrt{2\pi}}\exp\left\lbrack-\frac{1}{2}\left(\frac{x_k-1}{\sigma}\right)^2\right\rbrack}{\frac{1}{\sigma\sqrt{2\pi}}\exp\left\lbrack-\frac{1}{2}\left(\frac{x_k+1}{\sigma}\right)^2\right\rbrack}\right)=- \frac{1}{2} {\left (\frac{x_k-1}{\sigma}}\right)}^2+\frac{1}{2} {\left (\frac{x_k+1}{\sigma}}\right)}^2=\frac{2}{{\sigma}^2}x_k$$](https://dxdy-04.korotkov.co.uk/f/f/0/a/f0ad0dfde66cdee8206ba804147afbdf82.png)
И делая допущение, что


Вычисленные значения

для каждого из принятых бит данных запишем в таблицу:

По сути, на основе этих данных в таблице, мы могли бы определить значения принятых бит, но мы можем увидеть, что в таком случае мы сделаем две ошибки в вычислении принятых битов. Шум настолько исказил данные, что декодер просто допустит ошибки в вычислении значений бит.
Однако, мы можем вычислить внешний LLR пользуясь тем, что мы вводили проверочные биты p. И используя внешний LLR уточнять LLR данных в общем.
Делаем это мы следующим образом(например, для

):
![$$L(\widehat{d_1})=L_c(x_1)+L(d_1)+\{[L_c(x_2)+L(d_2)] \boxplus L_c(x_{12})\}$$ $$L(\widehat{d_1})=L_c(x_1)+L(d_1)+\{[L_c(x_2)+L(d_2)] \boxplus L_c(x_{12})\}$$](https://dxdy-02.korotkov.co.uk/f/5/c/d/5cd5d3a932e8facb157395e5e02443fd82.png)
Выражение
![$[L_c(x_2)+L(d_2)] \boxplus L_c(x_{12})$ $[L_c(x_2)+L(d_2)] \boxplus L_c(x_{12})$](https://dxdy-03.korotkov.co.uk/f/2/7/a/27a163b9637d0556086c4e53e596edc182.png)
является нашим внешним LLR, вычисленным из знания значения проверочного бита по горизонтали. То же самое можно сделать и по вертикали:
![$$L(\widehat{d_1})=L_c(x_1)+L(d_1)+\{[L_c(x_3)+L(d_3)] \boxplus L_c(x_{13})\}$$ $$L(\widehat{d_1})=L_c(x_1)+L(d_1)+\{[L_c(x_3)+L(d_3)] \boxplus L_c(x_{13})\}$$](https://dxdy-04.korotkov.co.uk/f/b/1/1/b11a7b9ae9e76c23992b32c0d3115f7c82.png)
В общем случае, уточнённое значение бита полезных данных будет выражаться как:

где

- внешний LLR, полученный путём горизонтального декодирования
а

- внешний LLR, полученный путём вертикального декодирования.
Сделаем необходимые вычисления, учитывая, что

для первого прохода будет равен нулю, так как мы предполагаем, что от источника вероятность появления 0 и 1 равны:
![$$L_{eh}(\widehat{d_1})=[L_c(x_2)+L(d_2)] \boxplus L_c(x_{12})=(0,1+0) \boxplus 2,5 \approx -0,1 = $новое значение$\ L(d_1) $$ $$L_{eh}(\widehat{d_1})=[L_c(x_2)+L(d_2)] \boxplus L_c(x_{12})=(0,1+0) \boxplus 2,5 \approx -0,1 = $новое значение$\ L(d_1) $$](https://dxdy-01.korotkov.co.uk/f/0/4/e/04e98fc8a88b16f7075b33ae2d9d004882.png)
![$$L_{eh}(\widehat{d_2})=[L_c(x_1)+L(d_1)] \boxplus L_c(x_{12})=(1,5+0) \boxplus 2,5 \approx -1,5 = $новое значение$\ L(d_2) $$ $$L_{eh}(\widehat{d_2})=[L_c(x_1)+L(d_1)] \boxplus L_c(x_{12})=(1,5+0) \boxplus 2,5 \approx -1,5 = $новое значение$\ L(d_2) $$](https://dxdy-01.korotkov.co.uk/f/0/f/0/0f05f8d2e0f65758704e759db520ec9a82.png)
![$$L_{eh}(\widehat{d_3})=[L_c(x_4)+L(d_4)] \boxplus L_c(x_{34})=(0,3+0) \boxplus 2,0 \approx -0,3 = $новое значение$\ L(d_3) $$ $$L_{eh}(\widehat{d_3})=[L_c(x_4)+L(d_4)] \boxplus L_c(x_{34})=(0,3+0) \boxplus 2,0 \approx -0,3 = $новое значение$\ L(d_3) $$](https://dxdy-01.korotkov.co.uk/f/4/d/a/4da3062683646bcdff9a46472b282df882.png)
![$$L_{eh}(\widehat{d_4})=[L_c(x_3)+L(d_3)] \boxplus L_c(x_{34})=(0,2+0) \boxplus 2,0 \approx -0,2 = $новое значение$\ L(d_4) $$ $$L_{eh}(\widehat{d_4})=[L_c(x_3)+L(d_3)] \boxplus L_c(x_{34})=(0,2+0) \boxplus 2,0 \approx -0,2 = $новое значение$\ L(d_4) $$](https://dxdy-01.korotkov.co.uk/f/0/c/3/0c31d8cf7a8a46e4e5a794b0057b0c4a82.png)
Теперь то же самое декодирование делаем по вертикали, с той лишь разницей, что мы уже имеем уточнённые LLR

из горизонтального декодирования:
![$$L_{ev}(\widehat{d_1})=[L_c(x_3)+L(d_3)] \boxplus L_c(x_{13})=(0,2-0,3) \boxplus 6,0 \approx 0,1 = $новое значение$\ L(d_1) $$ $$L_{ev}(\widehat{d_1})=[L_c(x_3)+L(d_3)] \boxplus L_c(x_{13})=(0,2-0,3) \boxplus 6,0 \approx 0,1 = $новое значение$\ L(d_1) $$](https://dxdy-03.korotkov.co.uk/f/e/4/7/e47147adda10f07d878139080f6e8f3d82.png)
![$$L_{ev}(\widehat{d_2})=[L_c(x_4)+L(d_4)] \boxplus L_c(x_{24})=(0,3-0,2) \boxplus 1,0 \approx -0,1 = $новое значение$\ L(d_2) $$ $$L_{ev}(\widehat{d_2})=[L_c(x_4)+L(d_4)] \boxplus L_c(x_{24})=(0,3-0,2) \boxplus 1,0 \approx -0,1 = $новое значение$\ L(d_2) $$](https://dxdy-01.korotkov.co.uk/f/0/0/8/0087c7c0aaa74dcf5b49ab4b9634721982.png)
![$$L_{ev}(\widehat{d_3})=[L_c(x_1)+L(d_1)] \boxplus L_c(x_{13})=(1,5-0,1) \boxplus 6,0 \approx -1,4 = $новое значение$\ L(d_3) $$ $$L_{ev}(\widehat{d_3})=[L_c(x_1)+L(d_1)] \boxplus L_c(x_{13})=(1,5-0,1) \boxplus 6,0 \approx -1,4 = $новое значение$\ L(d_3) $$](https://dxdy-04.korotkov.co.uk/f/f/3/b/f3b6f10be6e0a8c60fecf89e3ebaabc982.png)
![$$L_{ev}(\widehat{d_4})=[L_c(x_2)+L(d_2)] \boxplus L_c(x_{24})=(0,1-1,5) \boxplus 1,0 \approx 1,0 = $новое значение$\ L(d_4) $$ $$L_{ev}(\widehat{d_4})=[L_c(x_2)+L(d_2)] \boxplus L_c(x_{24})=(0,1-1,5) \boxplus 1,0 \approx 1,0 = $новое значение$\ L(d_4) $$](https://dxdy-03.korotkov.co.uk/f/2/1/4/214343a783e7b4a2bd02378a6520c1f282.png)
Теперь, используя формулу

и значения внишних LLR при горизонтальном и вертикальном деокдировании для соответствующих битов, мы можем найти уточнённые значения полученных данных и записать их в таблицу:

Как мы видим, внешние LLR сыграли хорошую роль в том, чтобы уточнить LLR полезных данных.
А теперь вопрос, который у меня возник при всех этих вычислениях.
При выводе формулы
![$$L(d_1)\boxplus L(d_2 )=log_e \left[\frac{e^{L(d_1)}+e^{L(d_2)}}{1+e^{L(d_1)}e^{L(d_2)}}\right]$$ $$L(d_1)\boxplus L(d_2 )=log_e \left[\frac{e^{L(d_1)}+e^{L(d_2)}}{1+e^{L(d_1)}e^{L(d_2)}}\right]$$](https://dxdy-04.korotkov.co.uk/f/3/2/6/3266a2fd093c34563f7fc453aaef8b1d82.png)
Мы использовали, как бы это правильно сказать, дискретное значение вероятности. Т.е., мы знали, что если у нас есть значение

, то мы можем найти значение
Но при вычислениях внешних LLR, используя логарифмическое сложение со знаком

мы применяли это по отношению к условным значениям вероятностей

или

. Вот у меня и зародился вопрос - а насколько это справедливо? Можно ли применять формулу, которая была выведена на основе неусловных вероятностей к функции распределения вероятностей. Может ли такое быть, что

?
Собственно, в этом и вопрос. Извиняюсь, конечно, что пришлось выложить столько теории, но это для того, чтобы вопрос был более понятным.
-- Чт янв 06, 2011 22:51:55 --Кстати, всех с рождеством Христовым :)