DOI QR코드

DOI QR Code

Early Stop Algorithm using the Parity Check Method for LDPC Decoders Based on IRIG 106 Standards

Parity Check 방식을 이용한 IRIG 106 표준 기반 LDPC 복호기의 조기 종료 알고리즘

  • Jae-Hun Lee (Department of Radio Communication Engineering, Korea Maritime and Ocean University) ;
  • Hyun-Woo Jeong (Department of Radio Communication Engineering, Korea Maritime and Ocean University) ;
  • Ye-Gwon Hong (Department of Radio Communication Engineering, Korea Maritime and Ocean University) ;
  • Ji-Won Jung (Department of Radio Communication Engineering, Korea Maritime and Ocean University)
  • Received : 2024.07.17
  • Accepted : 2024.08.21
  • Published : 2024.08.29

Abstract

LDPC, known for its excellent error correction capability, has been adopted as the channel coding technique in the IRIG 106 standard, which is standard for data transmission methods in the aerospace field. Iterative codes such as LDPC require large block sizes and number of iterations in order to improve performance. However, large number of iterations induce computational complexity and power consumption. To solve these problems, this paper presents a parity check-based early stop algorithm that reduces the average number of iterations while maintaining the same performance. BER performance and iteration reduction amounts are compared between early stop algorithm and conventional method that has fixed number of iterations for various coding rate and information bit size defined in the IRIG 106 standard. Through simulation results, we confirmed required iteration numbers are reduced about 50% above without performance loss.

항공 우주 분야의 데이터 전송 방식의 표준인 IRIG 106 표준에서 오류 정정 능력이 뛰어난 LDPC가 채널 부호화 기법으로 채택되었다. LDPC와 같은 반복 부호는 큰 블록 크기와 많은 반복 횟수를 필요하고 이로 인해 계산량과 전력 소모가 늘어나는 결과를 초래한다. 이러한 문제점을 개선하고자 본 논문에서는 IRIG 106 표준에 따른 정보비트 크기와 부호화율에 대해 동일한 성능을 유지하면서 평균 반복 횟수를 감소하는 parity check 방식 기반의 조기 종료 알고리즘을 제시하였다. 기존 방식과 성능 및 반복 감소 정도를 비교 분석하였으며. 각 부호화 별 동일 성능을 유지하면서 반복 횟수가 약 50% 이상 감소됨을 확인하였다.

Keywords

1. 서론

우주 항공 분야에서 텔레메트리 시스템은 우주선, 위성, 로켓 등 비행체에서 수집된 데이터를 지구의 관제센터로 전송하는 데 사용되는데, 이는 실시간으로 비행 위치와 운영 상태를 모니터링하여 발사 임무를 수행하고 비행 안전을 유지하는 데 필수적이다. 이러한 텔레메트리 시스템에 적용되는 통신 기술을 정의하는 IRIG 106 표준 (Inter-Range Instrumentation Group 106 Standard)[1]에서 채널 부호화 기법으로 강력한 오류정정능력을 보여주는 LDPC (Low Density Parity Check) 부호[2]가 채택되어 많은 연구가 진행 중이다. LDPC는 비트노드와 체크 노드의 반복으로 인하여 강력한 오류정정능력을 보여주는 대신 좋은 성능을 내기 위해서는 큰 블록 크기가 필요하고 이로 인해 많은 반복 횟수와 계산량이 요구된다. 반복 횟수로 인한 계산량 및 전력 소모를 감소하기 위한 조기 종료 알고리즘은 다양하게 제안되었다[3-5]. 기존 조기 종료 알고리즘은 반복 시 비트 노드와 체크 노드의 값이 클 경우, 추가적인 반복에도 성능 변화 없이 우수한 성능을 유지하는 점을 이용하여, 비트 노드 및 체크 노드의 임계값을 설정하고, 두 값이 모두 임계값 이상일 때는 더 이상 반복하지 않고 조기 종료하는 알고리즘이 주로 제시되어왔다. 이러한 알고리즘은 채널 상태 및 다양한 부호화율에 따라 임계값이 변화되므로 보다 정확한 임계값이 요구된다. 따라서 이러한 단점을 보완하기 위해 HDA(Hard Decision Aided) 알고리즘이 제시되었으며[6], 이는 이전 반복 비트열과 현재 반복 비트열을 강판정하여 비교하였을 때 변화가 없다면 반복 복호를 종료하는 알고리즘이다. 그러나 HDA 알고리즘은 낮은 SNR(Signal Noise Ratio)에서 이전 반복 비트열과 현재 반복 비트열이 일치할 확률이 높아 조기 종료 시 충분하지 않은 반복 횟수 때문에 성능 열화가 발생하는 단점이 있다. 따라서 본 논문에서는 각 반복에서 강판정한 비트열과 패리티 체크 행렬의 곱이 0이 나오면 반복 복호를 종료하는 알고리즘인 parity check method를 제시한다. 이는 LDPC 부호화 과정에서 부호화 비트열이 패리티 검사 행렬과 곱했을 때 0이 된다는 점을 이용하여 적용한다. 따라서 본 논문에서는 LDPC의 많은 반복 횟수와 계산량을 줄이기 위해 두 가지의 조기 종료 알고리즘인 HDA와 parity check method를 적용하여 성능 분석하였다. 본 논문에서는 IRIG 106 표준에 명시된 정보비트 크기와 부호화율을 기반으로, LDPC를 사용한 경우 조기 종료 알고리즘의 추가 여부에 따른 BER(Bit Error Rate) 성능과 복호 시 평균 반복 횟수를 비교 분석하였다.

2. IRIG 106 기반 LDPC 부복호 알고리즘

2.1 LDPC 부호화 알고리즘

텔레메트리 표준 IRIG 106 규격에서는 정보비트 크기가 1024, 4096인 LDPC 부호를 채택하고 있다. LDPC 부호는 K개의 정보 비트열 D는 생성 다항식을 이용하여 N - K개의 부호화 비트열 P를 생성한다. 또한, 1의 밀도가 매우 낮은 패리티 검사 행렬 H를 이용하여 식 (1)을 만족하는 M개의 추가 패리티 비트열 M 을 생성하여 식 (2)와 같은 N + M개의 부호화 비트열 c를 생성한다.

H ∙ cT = 0       (1)

\(\begin{align}c=\{\overbrace{d_{1}, d_{2}, \cdots, d_{K}, p_{1}, p_{2}, \cdots, p_{N-K}, m_{1}, m_{2}, \cdots, m_{M}}^{D}\}\end{align}\)       (2)

패리티 검사 행렬 H의 구조를 자세히 살펴보면, 크기가 M×M인 부행렬(sub-matrix)로 구성되며, IRIG 106 표준에 제시된 부호화율 1/2에 대한 H 행렬은 식 (3)과 같다.

\(\begin{align}H_{1 / 2}=\left[\begin{array}{ccccc}0_{M} & 0_{M} & I_{M} & 0_{M} & I_{M} \oplus \Pi_{1} \\ I_{M} & I_{M} & 0_{M} & I_{M} & \Pi_{2} \oplus \Pi_{3} \oplus \Pi_{4} \\ I_{M} \Pi_{5} \oplus \Pi_{6} & 0_{M} \Pi_{7} \oplus \Pi_{8} & & & I_{M}\end{array}\right]\end{align}\)       (3)

식 (3)에서 0M은 영행렬이고 IM는 M×M크기의 단위행렬이다. Πk는 permutation 행렬이고 i행과 식 (4)를 이용하여 구한 πk(i) 열만 1이고 나머지는 0인 행렬이다.

\(\begin{align}\begin{array}{l} \pi_{k}(i)=\frac{M}{4}\left(\left(\theta_{k}+\lfloor 4 i / M\rfloor\right) \bmod 4\right) +\left(\phi_{k}(\lfloor 4 i / M\rfloor+i)\right) \bmod \frac{M}{4} \end{array}\end{align}\)       (4)

θk와 ϕk는 식 (3)의 H 행렬의 1의 밀도가 낮은 즉, sparse한 행렬을 만들기 위한 참고문헌 [1]에서 제시한 값이다.

그림 1은 정보비트가 1024 부호화율이 1/2일 때 식 (3)과 식 (4)를 이용하여 구한 패리티 체크 행렬 H를 도식화한 그림이며 파란색 사선은 1을 나타낸다. 표 1은 IRIG 106 표준에서 제공하는 정보비트(K), 부호비트(N), 부행렬(M)의 크기를 나타낸 것이다.

JBJTBH_2024_v17n4_198_3_f0001.png 이미지

그림 1. 패리티 체크 행렬 H (K = 1024, R = 1.2)

Fig. 1. Parity check matrix H (K = 1024, R = 1.2)

표 1. IRIG 106 표준 부호율에 따른 정보비트, 부호비트, 부행렬 크기

Table 1. Information bits, codeword bits,sub-matrix size based on code rate in IRIG 106 standard

JBJTBH_2024_v17n4_198_3_t0001.png 이미지

2.2 LDPC 복호화 알고리즘

LDPC 부호의 복호는 비트 노드(BN, Bit Node)와 체크 노드(CN, Check Node) 값을 belief propagation 알고리즘에 따라 반복 복호하는 방식을 사용한다[7]. 그림 1의 H 행렬을 이용하여 생성한 tanner graph는 그림 2와 같다. 식 (3)의 H 행렬의 행렬 값이 1인 부분의 BN과 CN을 연결하며, BN의 초기치는 수신신호이다. 이는 BN과 CN의 확률 값을 교환하면서 다음과 같은 세 가지 단계를 통하여 성능을 향상시킨다.

JBJTBH_2024_v17n4_198_3_f0002.png 이미지

그림 2. H 행렬의 태너 그래프

Fig. 2. Tanner graph of H matrix

단계 1(CN update): n번째 BN에서 m번째 CN로 전달되는 값을 Lqmn, m번째 CN에서 n번째 BN으로 전달되는 값을 Lrnm이라 하면, Lrnm은 식 (5)와 같다.

\(\begin{align}L r_{n m}=2 \tanh ^{-1}\left(\prod_{m^{\prime} \in M(n) \backslash m} \tanh \frac{L q_{m^{\prime} n}}{2}\right)\end{align}\)       (5)

식 (5)에서 M(n)은 n번째 BN과 연결된 CN의 인덱스 값들이다. Lqm′n은 그림 2에서 n번째 BN에 연결된 CN들 중 m번째 CN을 제외한 BN의 값이다.

단계 2(BN update): 1단계 이후 식 (6)과 같이 Lqmn값을 갱신한다. 식 (6)에서 N(m)은 m번째 CN에 연결된 BN의 인덱스 값들이다. Lrn′m은 그림 2에서 m번째 CN에 연결된 BN들 중 n번째 BN을 제외한 CN의 값이다.

\(\begin{align}L q_{m n}=y_{m}+\sum_{n^{\prime} \in N(m) \backslash n} L r_{n^{\prime} m}\end{align}\)       (6)

단계 3(LLR(Log-Likelihood Ratio) 출력): 단계 1과 단계 2를 정해진 반복 횟수만큼 반복하여 최종적인 복호 값은 식 (7)과 같으며, 이를 강판정하여 복호 한다. 여기서, ym은 m번째 수신신호이다. 모든 반복이 끝나고 난 뒤 각 m 번째 비트노드에서의 LLR인 Lm은 아래 식과 같다.

\(\begin{align}L_{m}=y_{m}+\sum_{n \in M(n)} L r_{n m}(m=1,2, \cdots, N+M)\end{align}\)       (7)

식 (7)의 Lm을 강판정하여 최종 복호를 한다.

3. 조기 종료 알고리즘

2장의 단계 1에서 단계 3의 과정을 반복하면서 성능을 향상시키는 LDPC 복호는 식 (5)와 식 (6)을 일정한 반복 후에는 더 이상 성능이 개선되지 않는 현상이 있고 이때, 불필요한 반복을 계속하게 되면 복호 속도 저하와 계산량 증가를 초래한다. 기존의 방식은 식 (5)와 식 (6)의 값이 일정한 임계값을 넘으면 반복을 종료하는 알고리즘이며, 이는 채널 상태 및 다양한 부호화율에 따라 임계값이 변화되므로 정확한 임계값이 요구되는 문제를 개선하기 위해 본 논문에서는 다음 절에 제시된 두 가지 조기 종료 알고리즘을 적용한다.

3.1 Hard Decision Aided 알고리즘

HDA(Hard Decision Aided) 알고리즘은 기존 방식의 임계값이 정확해야 한다는 단점을 개선시키면서 i번 반복 시 이전의 반복 즉, i - 1번째 반복된 값과 차이가 없는 경우 반복을 종료하는 알고리즘이다. 반복 i번째 반복에서 식 (7)의 부호어의 길이 N개의 Lm 값을 강판정한 복호 비트열 \(\begin{align}{\hat{a_{k}}}^{i}=\{{\hat{a_{1}}}^{i}, {\hat{a_{2}}}^{i}, \cdots, {\hat{a_{N}}}^{i-1}\}\end{align}\)과 직전 반복의 복호 비트열 \(\begin{align}{\hat{a_{k}}}^{i-1}=\{{\hat{a_{1}}}^{i-1}, {\hat{a_{2}}}^{i-1}, \cdots, {\hat{a_{N}}}^{i-1}\}\end{align}\)을 다음 식 (8)을 통해 dik을 계산한다. 이때, imax는 LDPC 최대 복호 반복 횟수를 나타낸다.

\(\begin{align}d_{k}^{i}=\left\{\begin{array}{ll}1 & \text { if }{\hat{a_{k}}}^{i} \neq \hat{a}_{k}^{i-1} \\ 0 & \text { otherwise }\end{array} \quad\left(i=2,3, \cdots, i_{\max }\right)\right.\end{align}\)       (8)

\(\begin{align}D^{i}=\sum_{k=1}^{N} d_{k}^{i}\end{align}\)       (9)

리고 dik의 합 Di을 식 (9)을 통해 계산한다. 이때, Di가 0이라면 이전 반복 값과 동일함을 의미하여 반복 복호를 종료하는 알고리즘이다.

3.2 Parity check method

HDA 알고리즘은 낮은 SNR에서 이전 반복 비트열과 현재 반복 비트열이 일치할 확률이 높아 조기 종료 시 충분하지 않은 반복 횟수 때문에 성능 열화가 발생하는 단점이 있다. 이를 보완하기 위해 본 논문에서 제시하는 parity check method는 복호과정 중 각 반복에서 식 (7)의 N + M개의 Lm값을 강판정한다. 이후 강판정한 복호 비트열 \(\begin{align}\hat{c}=\left\{\hat{c_{1}}, \hat{c_{2}}, \cdots, \hat{c}_{N+M}\right\}\end{align}\)의 전치행렬인 \(\begin{align}\hat{c}^{T}\end{align}\)와 패리티 체크 행렬 H의 곱을 계산하고 최대 반복 횟수 이전에 식 (1)을 만족한다면 반복 복호를 종료하는 알고리즘이다. 이는 HDA에 비해 낮은 SNR에서 식 (1)을 만족하지 않으므로 반복으로 인한 성능 향상을 가져올 수 있다.

4. 모의실험 결과

본 논문에서는 아래 표 2와 같은 파라미터를 이용하여 모의실험을 통한 성능 분석을 하였다. IRIG 106 표준에서 제시하는 정보비트의 크기와 부호화율을 가지는 LDPC 부호에서 AWGN(Additive White Gaussian Noise) 채널을 적용하였으며, 최대 반복 횟수는 30회로 설정하였다.

표 2. 모의실험 파라미터

Table 2. Simulation parameter

JBJTBH_2024_v17n4_198_4_t0001.png 이미지

그림 3은 정보비트 크기와 부호화율에 따라 두 가지 조기 종료 알고리즘을 적용하였을 때의 BER 성능이다. 그림 3에서 알 수 있듯이 parity check method는 기존 30회의 반복 횟수가 고정된 경우의 성능과 비교하였을 때, 모든 부호화율 및 모든 정보비트 크기에 대해 동일한 성능을 보였다. HDA 알고리즘을 적용한 경우에는 부호화율 1/2일 때는 동일한 성능을 보였으나 부호화율 2/3일 때에는 K=1024인 경우 약 0.2dB, 부호화율 4/5일 때에는 약 0.4dB의 성능 손실을 가져온다. HDA 알고리즘을 적용한 경우에는 부호화율이 클수록 성능 열화가 컸으며 그 이유는 부호화율이 클수록 HDA 알고리즘을 적용하여 비교하는 비트의 수가 적기 때문에 현재 반복 비트열 전체가 이전 반복 비트열과 전부 일치할 확률이 부호화율이 낮은 경우에 비해 높기 때문이다.

JBJTBH_2024_v17n4_198_5_f0001.png 이미지

그림 3 조기 종료 알고리즘에 따른 BER 성능

Fig. 3. BER Performance according to Early Stop Algorithm

그림 4는 조기 종료 알고리즘 적용에 따른 표준안에 제시된 부호화율과 정보비트 크기에 따른 LDPC 평균 반복 횟수 그래프이다. HDA 알고리즘의 경우 부호화율이 커짐에 따라 반복 횟수 감수에 효과적임을 알 수 있으나, BER 성능 관점에서는 0.2dB ~ 0.4dB의 손실을 가져오므로 parity check method가 효율적이다. Parity check method를 조기 종료 알고리즘으로 적용한 경우 평균적으로 필요한 반복 횟수는 약 10~15회 정도가 요구되며, 동일한 성능을 유지하면서 기존의 30회 반복 횟수를 절반 이상으로 줄일 수 있음을 알 수 있다. 그림 4에 표기된 동작 범위는 그림 3의 BER 성능에서 오류율이 10-5 이하가 되는 영역을 의미한다. 오류율이 10-5 이상이 되는 영역은 표준안에서 요구되는 성능 대비 만족하지 않은 영역이므로 동작 범위의 영역에서 비교하면 적절하리라 사료된다.

JBJTBH_2024_v17n4_198_6_f0001.png 이미지

그림 4. 조기 종료 알고리즘에 따른 평균 반복 횟수

Fig. 4. Average iteration number according to Early Stop Algorithm

5. 결론

LDPC와 같은 반복 부호에서 우수한 성능을 만족하기 위해서는 많은 반복 횟수와 큰 블록 크기를 요구하며, 이는 복호 시간 증가와 계산량 증가 및 전력 소비량 증가를 초래한다. 이에 본 논문에서는 텔레메트리 표준 IRIG 106 규격에서의 LDPC 복호 시 불필요한 반복 횟수를 줄이고자 기존 정확한 임계값을 설정해야 하는 기존 조기 종료 알고리즘을 대신하여 HDA 알고리즘과 parity check method을 적용하고 기존 반복 횟수를 고정하는 LDPC 복호기와 성능과 반복 감소 정도를 비교 분석하였다. HDA 알고리즘과 Parity check method를 적용 결과 반복 횟수 감소 측면에서 Eb/N0가 일정한 값 이상에서는 두 알고리즘 모두 유사한 반복 감소 횟수를 보였으나, BER 성능 관점에서는 parity check method를 적용한 경우가 HDA 알고리즘에 비해 우수한 성능을 보였다. Parity check method를 적용한 경우, 동일한 성능을 유지하면서 기존의 30회 반복 횟수를 50% 이상 줄일 수 있음을 알 수 있다. 본 연구는 향후 발사체 구현 시 IRIG 106 표준에 제시된 LDPC 복호기의 소형화 및 전력 감소 측면에서 유용하게 적용되리라 사료된다.

References

  1. Telemetry Standards, IRIG-106 Standard 106-23 Chapter 2, 2023
  2. R. Gallager, "Low-density parity-check codes," IEEE Transactions on Information Theory, vol. 8, no. 1, pp. 21-28, 1962.
  3. A. Blad, O. Gustafsson, and L. Wanhammar, "An early decision decoding algorithm for LDPC co- des using dynamic thresholds," Proceedings of the 2005 European Conference on Circuit Theory and Design, vol. 3, pp. 285-288, 2005.
  4. Li, G. He, H. Hou, Z. Zhang, and J. Ma, "Memory efficient layered decoder design with early termi- nation for LDPC codes," 2011 IEEE International Symposium of Circuits and Systems (ISCAS), pp. 2697-2700, 2011.
  5. N.-I. KIM and J.-U. KIM, "Early Termination Scheme for 5G NR LDPC Code," 2021 International Conference on Information and Communication Technology Convergence (ICTC), pp. 933-935, 2021.
  6. Z. Xu, L. Wang, and S. Hong, "Joint Early Stopping Criterions for Protograph LDPC Codes-Based JSCC System in Images Transmission," Entropy, vol. 23, pp. 1392, 2021.
  7. Y. M. Gu, S. Kim, and B. Kim, "Telemetry Standard 106-17 LDPC Decoder Design Using HLS," Journal of the Korean Society for Aeronautical & Space Sciences, vol. 49, no. 4, pp. 335-342, 2021.