1. 표준 배열에 의한 복호 (신드롬 복호)
ㅇ (복호화 특징)
- (의미)
. 표준 배열의 둘째행 이후, 오염된 수신 벡터를,
. 표준 배열의 맨 위 첫 행에 있는 유효 부호어로 바꾸는 것임
- (핵심 동작 : Look Up 검색)
. 전체 표준 배열 내 가장 가까운 유효 부호어를 찾는 것 (Look Up)
.. 즉, 수신 받은 오류 섞힌 코드로부터 가장 가까운 유효 부호어를 찾는 것
.. 사실상, 이는 `최대 우도 복호 (MLD)`로 볼 수 있음
- (비 효율적)
. 매번 전체 검색이 필요하여, 비 효율적인 방식임
ㅇ (복호화 단계)
- ① 수신된 부호 벡터 (r = c + e)에 대해 신드롬을 계산 : s = r HT
- ② 해당 신드롬을 신드롬 열(syndrome column)에서 찾음
- ③ 해당 신드롬에 대응하는 코셋 리더(coset leader)를 결정
. 이는 바로 `오류 벡터 e`임
- ④ 이 오류 벡터를 수신된 단어에서 빼서, 코드워드(codeword)를 구함 : c = r - e
2. 例) (5,2,3) 선형블록부호인 경우, 표준배열에 의한 복호 예시
ㅇ (5,2,3) 선형블록부호
- n = 5 (코드워드 길이)
- k = 2 (메시지 비트 수)
- dmin = 3 (최소 거리)
- M = 2k = 4 (총 가능한 코드워드 개수)
ㅇ 생성행렬
- [# G = \left[\begin{array}{c|c} I_k & P \end{array}\right]
= \left[\begin{array}{cc|ccc} 1 & 0 & 1 & 1 & 1 \\
0 & 1 & 0 & 1 & 1 \end{array}\right] #]
. G : k x n (2 x 5) 생성 행렬
. I : k x k (2 x 2) 단위 행렬
. P : (k x (n-k)) (2 x 3) 패리티 행렬
- 이를 이용해, 메시지 m = (m1, m2)를 코드워드 c로 변환 가능
. c = m G
.. m1 = (0,0) -> c1 = (0,0,0,0,0)
.. m2 = (0.1) -> c2 = (0,1,0,1,1)
.. m3 = (1,0) -> c3 = (1,0,1,1,1)
.. m4 = (1,1) -> c4 = (1,1,1,0,0)
ㅇ 패리티검사행렬 : [# H = \left[\begin{array}{c|c} I_k & P \end{array}\right]
#]
- 생성 행렬 중 독립적인 패리티 부분을 이용해 구성
[# #]
ㅇ ... (편집중) ...