KR102338852B1 - 무선 통신 시스템에서 신호를 복호하기 위한 장치 및 방법 - Google Patents

무선 통신 시스템에서 신호를 복호하기 위한 장치 및 방법 Download PDF

Info

Publication number
KR102338852B1
KR102338852B1 KR1020170100342A KR20170100342A KR102338852B1 KR 102338852 B1 KR102338852 B1 KR 102338852B1 KR 1020170100342 A KR1020170100342 A KR 1020170100342A KR 20170100342 A KR20170100342 A KR 20170100342A KR 102338852 B1 KR102338852 B1 KR 102338852B1
Authority
KR
South Korea
Prior art keywords
bits
crc
state
initial state
final
Prior art date
Application number
KR1020170100342A
Other languages
English (en)
Other versions
KR20190016296A (ko
Inventor
명세호
김재원
노종선
양필웅
탁준우
Original Assignee
삼성전자주식회사
서울대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사, 서울대학교 산학협력단 filed Critical 삼성전자주식회사
Priority to KR1020170100342A priority Critical patent/KR102338852B1/ko
Priority to PCT/KR2018/008830 priority patent/WO2019031769A1/ko
Priority to US16/637,691 priority patent/US11128313B2/en
Publication of KR20190016296A publication Critical patent/KR20190016296A/ko
Application granted granted Critical
Publication of KR102338852B1 publication Critical patent/KR102338852B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4115Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors list output Viterbi decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/256Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with trellis coding, e.g. with convolutional codes and TCM
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3905Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/413Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors tail biting Viterbi decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0054Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0059Convolutional codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Artificial Intelligence (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 개시는 LTE(Long Term Evolution)와 같은 4G(4th generation) 통신 시스템 이후 보다 높은 데이터 전송률을 지원하기 위한 5G(5th generation) 또는 pre-5G 통신 시스템에 관련된 것이다. 통신 시스템에서 수신단의 동작 방법은, 메시지 비트들 및 제1 CRC(cyclic redundancy check) 비트들에 대응하는 부호화된 비트열을 수신하는 과정과, 상기 부호화된 비트열의 적어도 일부에 대한 트레이스백을 통해 부호어를 획득하는 과정과, 상기 획득한 부호어에 대한 CRC 부호화를 수행함으로써 제2 CRC 비트들을 생성하는 과정과, 상기 제2 CRC 비트들 중 적어도 일부에 기반하여 복호를 수행하는 과정을 포함한다.

Description

무선 통신 시스템에서 신호를 복호하기 위한 장치 및 방법{APPARATUS AND METHOD FOR DECODING A SIGNAL IN WIRELESS COMMUNICATION SYSTEM}
본 개시(disclosure)는 일반적으로 통신 시스템에 관한 것으로, 보다 구체적으로 통신 시스템에서 신호를 복호하기 위한 장치 및 방법에 관한 것이다.
4G(4th generation) 통신 시스템 상용화 이후 증가 추세에 있는 무선 데이터 트래픽 수요를 충족시키기 위해, 개선된 5G(5th generation) 통신 시스템 또는 pre-5G 통신 시스템을 개발하기 위한 노력이 이루어지고 있다. 이러한 이유로, 5G 통신 시스템 또는 pre-5G 통신 시스템은 4G 네트워크 이후(Beyond 4G Network) 통신 시스템 또는 LTE(Long Term Evolution) 시스템 이후(Post LTE) 시스템이라 불리어지고 있다.
높은 데이터 전송률을 달성하기 위해, 5G 통신 시스템은 초고주파(mmWave) 대역(예를 들어, 60기가(60GHz) 대역과 같은)에서의 구현이 고려되고 있다. 초고주파 대역에서의 전파의 경로손실 완화 및 전파의 전달 거리를 증가시키기 위해, 5G 통신 시스템에서는 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO), 전차원 다중입출력(Full Dimensional MIMO, FD-MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 및 대규모 안테나(large scale antenna) 기술들이 논의되고 있다.
또한 시스템의 네트워크 개선을 위해, 5G 통신 시스템에서는 진화된 소형 셀, 개선된 소형 셀(advanced small cell), 클라우드 무선 액세스 네트워크(cloud radio access network, cloud RAN), 초고밀도 네트워크(ultra-dense network), 기기 간 통신(Device to Device communication, D2D), 무선 백홀(wireless backhaul), 이동 네트워크(moving network), 협력 통신(cooperative communication), CoMP(Coordinated Multi-Points), 및 수신 간섭제거(interference cancellation) 등의 기술 개발이 이루어지고 있다.
이 밖에도, 5G 시스템에서는 진보된 코딩 변조(Advanced Coding Modulation, ACM) 방식인 FQAM(Hybrid Frequency Shift Keying and Quadrature Amplitude Modulation) 및 SWSC(Sliding Window Superposition Coding)과, 진보된 접속 기술인 FBMC(Filter Bank Multi Carrier), NOMA(Non Orthogonal Multiple Access), 및 SCMA(Sparse Code Multiple Access) 등이 개발되고 있다.
5G 시스템을 비롯한 다양한 유무선 시스템들에서, 고속 대용량 통신 시스템이 요구됨에 따라, 전송 효율을 높이기 위한 채널 부호화 방식이 중요해지고 있다. 다만, 무선 채널 환경은 다중 경로 간섭, 페이딩(fading), 잡음, 신호의 감쇠 등과 같은 여러 원인들로 인한 데이터 오류를 발생시킨다. 따라서, 전송 과정에서 발생하는 오류를 검출하고 올바른 데이터를 복호하기 위한 많은 기법들이 논의되고 있다.
상술한 바와 같은 논의를 바탕으로, 본 개시는, 통신 시스템에서 신호를 효율적으로 복호하기 위한 장치 및 방법을 제공한다.
또한, 본 개시는, 통신 시스템에서 비터비(viterbi) 복호화의 연산량을 감소시키기 위한 장치 및 방법을 제공한다.
또한, 본 개시는, 통신 시스템에서 CRC(cyclic redundancy check) 비트를 이용한 비터비 복호화를 위한 장치 및 방법을 제공한다.
또한, 본 개시는, 통신 시스템에서 CRC 비트를 이용하여 리스트 비터비 복호화에 대한 초기 상태의 후보군을 선택하기 위한 장치 및 방법을 제공한다.
또한, 본 개시는, 통신 시스템에서 CRC 비트를 이용하여 트렐리스(trellis) 다이어그램 상에서 진행 경로를 고정시키기 위한 장치 및 방법을 제공한다.
본 개시의 다양한 실시 예들에 따르면, 통신 시스템에서 수신단의 동작 방법은, 메시지 비트들 및 제1 CRC(cyclic redundancy check) 비트들에 대응하는 부호화된 비트열을 수신하는 과정과, 상기 부호화된 비트열의 적어도 일부에 대한 트레이스백을 통해 부호어를 획득하는 과정과, 상기 획득한 부호어에 대한 CRC 부호화를 수행함으로써 제2 CRC 비트들을 생성하는 과정과, 상기 제2 CRC 비트들 중 적어도 일부에 기반하여 복호를 수행하는 과정을 포함한다.
본 개시의 다양한 실시 예들에 따르면, 통신 시스템에서 수신단 장치는 송수신부와, 상기 송수신부와 기능적으로 결합된 적어도 하나의 프로세서를 포함할 수 있다. 상기 적어도 하나의 프로세서는, 메시지 비트들 및 제1 CRC 비트들에 대응하는 부호화된 비트열을 수신하고, 상기 부호화된 비트열의 적어도 일부에 대한 트레이스백을 통해 부호어를 획득하고, 상기 획득한 부호어에 대한 CRC 부호화를 수행함으로써 제2 CRC 비트들을 생성하고, 상기 제2 CRC 비트들 중 적어도 일부에 기반하여 복호하도록 제어할 수 있다.
본 개시의 다양한 실시 예들에 따른 장치 및 방법은, CRC(cyclic redundancy check) 비트를 이용하여 초기 상태의 후보군을 추정하고, 리스트 비터비(list viterbi) 복호화 수행 시, 트렐리스(trellis) 다이어그램 상에서 진행 경로를 고정시킴으로써 계산 복잡도를 낮추고, 성능을 개선할 수 있게 한다.
본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 개시의 다양한 실시 예들에 따른 통신 시스템을 도시한다.
도 2는 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 수신단의 구성을 도시한다.
도 3은 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 복호화기의 구성을 도시한다.
도 4는 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 신호를 복호하기 위한 수신단의 흐름도를 도시한다.
도 5는 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 CRC(cyclic redundancy check) 비트를 이용하여 초기 상태의 후보군들을 추정하고, 비터비(viterbi) 복호를 수행하기 위한 수신단의 흐름도를 도시한다.
도 6a 내지 도 6b는 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 CRC 비트를 이용한 초기 상태 추정에 대한 트렐리스(trellis) 다이어그램을 도시한다.
도 7은 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 CRC 비트를 이용하여 트렐리스(trellis) 다이어그램 상에서 진행 경로를 고정하기 위한 수신단의 흐름도를 도시한다.
도 8은 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 CRC 비트를 이용하여 진행 경로를 고정한 트렐리스 다이어그램을 도시한다.
도 9a 내지 도 9j는 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 CRC 비트를 이용한 비터비 복호의 성능 그래프를 도시한다.
도 10a 내지 도 10g는 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 CRC 비트를 이용한 비터비 복호의 성능 그래프를 도시한다.
본 개시에서 사용되는 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 개시에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 개시에 사용된 용어들 중 일반적인 사전에 정의된 용어들은, 관련 기술의 문맥상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 개시에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 개시에서 정의된 용어일지라도 본 개시의 실시 예들을 배제하도록 해석될 수 없다.
이하에서 설명되는 본 개시의 다양한 실시 예들에서는 하드웨어적인 접근 방법을 예시로서 설명한다. 하지만, 본 개시의 다양한 실시 예들에서는 하드웨어와 소프트웨어를 모두 사용하는 기술을 포함하고 있으므로, 본 개시의 다양한 실시 예들이 소프트웨어 기반의 접근 방법을 제외하는 것은 아니다.
이하 본 개시는 통신 시스템에서 신호를 복호하기 위한 장치 및 방법에 관한 것이다. 구체적으로, 본 개시는 비터비(viterbi) 복호화에 있어서, CRC(cyclic redundancy check) 비트를 이용하여 신호를 복호하는 기술을 설명한다.
이하 설명에서 사용되는 신호를 지칭하는 용어, 부호화 및 복호화 기법을 지칭하는 용어, 정보 단위를 지칭하는 용어, 장치의 구성 요소를 지칭하는 용어 등은 설명의 편의를 위해 예시된 것이다. 따라서, 본 개시가 후술되는 용어들에 한정되는 것은 아니며, 동등한 기술적 의미를 가지는 다른 용어가 사용될 수 있다.
또한, 본 개시는, 일부 통신 규격(예: 3GPP(3rd Generation Partnership Project))에서 사용되는 용어들을 이용하여 다양한 실시 예들을 설명하지만, 이는 설명을 위한 예시일 뿐이다. 본 개시의 다양한 실시 예들은, 다른 통신 시스템에서도 용이하게 변형되어 적용될 수 있다.
도 1은 본 개시의 다양한 실시 예들에 따른 통신 시스템을 도시한다. 도 1은 통신 시스템에서 무선 채널을 이용하는 노드(node)들의 일부로서, 송신단 110, 수신단 120을 예시한다.
도 1은 하나의 송신단 110 및 하나의 수신단 120을 도시하고 있으나, 송신단 110과 동일 또는 유사한 다른 다수의 송신단들 및 수신단 120과 동일 또는 유사한 다른 다수의 수신단들을 더 포함할 수 있다. 설명의 편의를 위하여, 본 개시에서는 송신단 110 및 수신단 120을 별개의 독립적인 개체로서 설명하나, 송신단 110 및 수신단 120은 수행하는 기능을 서로 바꿀 수 있다. 예를 들어, 셀룰러 통신 시스템의 상향링크의 경우, 송신단 110은 단말일 수 있고, 수신단 120은 기지국일 수 있다. 또 다른 예로, 하향링크의 경우, 송신단 110은 기지국일 수 있고 수신단 120은 단말일 수 있다.
여기서, 기지국은 '액세스 포인트(access point, AP)', '이노드비(eNodeB, eNB)', '5G 노드(5th generation node)', '무선 포인트(wireless point)', '송수신 포인트(transmission/reception point, TRP)' 또는 이와 동등한 기술적 의미를 가지는 다른 용어로 지칭될 수 있다. 또한, 단말은 '사용자 장비(user equipment, UE)', '이동국(mobile station)', '가입자국(subscriber station)', '원격 단말(remote terminal)', '무선 단말(wireless terminal)', 또는 '사용자 장치(user device)' 또는 이와 동등한 기술적 의미를 가지는 다른 용어로 지칭될 수 있다.
경우에 따라, 송신단 110 또는 수신단 120은 사용자의 관여 없이 운영될 수 있다. 즉, 송신단 110 또는 수신단 120은 기계 타입 통신(machine type communication, MTC)을 수행하는 장치로서, 사용자에 의해 휴대되지 아니할 수 있다. 송신단 110 또는 수신단 120이 MTC를 수행하는 장치인 경우, 장치의 전력 소모량을 최소화하기 위해 TBCC(tail biting convolutional coding) 부호화 및 비터비(viterbi) 복호화 기법이 고려될 수 있다.
송신단 110은 수신단 120으로 신호를 송신할 수 있다. 수신단 120은 송신단 110으로부터 신호를 수신하고, 수신한 신호를 복호할 수 있다. 예를 들어, 송신단 110은 TBCC 부호화 기법을 통해 수신단 120으로 신호를 송신할 수 있다. 수신단 120은 송신단 110으로부터 신호를 수신하고, 비터비 복호화 기법을 이용하여 신호를 복호할 수 있다. 일 실시 예에 따라, 송신단 110은 입력을 TBCC 부호화 기법을 이용하여 신호를 송신하고, 수신단 120은 비터비 복호화 기법을 이용하여 신호를 복호한다. 이 경우, 수신단 120은 오류 없이 입력을 복호하기 위해서 모든 초기 상태에 대해 비터비 복호화를 수행해야 하지만 계산 복잡도가 매우 커지는 단점이 있다. 이에 따라, 비터비 복호화를 수행할 초기 상태를 적절한 범위로 추정하여 초기 상태 후보군을 만들고, 해당 후보군에 대해서만 비터비 복호를 수행하는 방안이 고려될 수 있다.
예를 들어, 도 1과 같은 시스템에서 리스트 비터비 알고리즘(list viterbi algorithm, LVA)을 이용한 복호화가 고려될 수 있다. 비터비 알고리즘은 비선형 수신 기법의 일종으로, 최대 우도(maximum likelihood, ML) 기법에 기반한다. ML 기법은 모든 송신 안테나에서 송신 가능한 심볼들을 모두 대입해서 최소 유클리디안(euclidian) 거리를 가지는 입력을 선택함으로써 성능을 향상시킨다. 따라서, 일반적으로 ML 성능을 달성하기 위해서는 모든 가능한 초기 상태에 대한 비터비 복호화를 수행해야 하지만, 높은 계산 복잡도를 야기하고 전력 소모의 문제가 있으므로, 초기 상태의 후보군들을 적절히 추정하는 과정이 필요하다. 따라서, LVA는 초기 상태의 후보군들을 추정하고, 각 초기 상태의 후보마다 비터비 복호를 진행하여 메트릭(metric)이 좋은 부호어 후보군을 선택한다. 리스트 비터비 복호화의 경우, 최종 부호어의 후보군 중에서 후보 부호어가 올바른 부호어인지 확인하기 위해 CRC 비트가 사용된다. 다만, 일반적으로 추정되는 초기 상태의 후보군들은 단순히 비터비 알고리즘을 통한 메트릭 값에 기반하여 결정될 뿐이어서, 실제로 올바른 부호어가 아닌 경우가 많고, CRC 검사에 실패하는 경우, 최종 부호어를 획득하기 위한 비터비 알고리즘을 반복 수행해야 하는 문제가 있다.
도 2는 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 수신단의 구성을 도시한다. 도 2에 예시되는 구성들을 수신단 120의 구성으로서 이해될 수 있다. 이하에서 사용되는 '…부', '…기' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어, 또는, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 2를 참고하면, 수신단은 통신부 210, 저장부 220, 제어부 230을 포함한다.
통신부 210은 무선 채널을 통하여 신호를 송수신하기 위한 기능들을 수행한다. 예를 들어, 통신부 210은 시스템의 물리 계층 규격에 따라 기저대역 신호 및 비트열 간 변환 기능을 수행한다. 예를 들어, 데이터 송신 시, 통신부 210은 송신 비트열을 부호화 및 변조함으로써 복소 심볼들을 생성한다. 또한, 데이터 수신 시, 통신부 210은 기저대역 신호를 복조 및 복호화를 통해 수신 비트열을 복원한다. 또한, 통신부 210은 기저대역 신호를 RF(radio frequency) 대역 신호로 상향변환한 후 안테나를 통해 송신하고, 안테나를 통해 수신되는 RF 대역 신호를 기저대역 신호로 하향변환한다. 예를 들어, 통신부 210은 송신 필터, 수신 필터, 증폭기, 믹서, 오실레이터, DAC(digital to analog converter), ADC(analog to digital converter) 등을 포함할 수 있다.
또한, 통신부 210은 다수의 송수신 경로(path)들을 포함할 수 있다. 나아가, 통신부 210은 다수의 안테나 요소들로 구성된 적어도 하나의 안테나 어레이를 포함할 수 있다. 하드웨어의 측면에서, 통신부 210은 디지털 회로 및 아날로그 회로(예: RFIC(radio frequency integrated circuit))로 구성될 수 있다. 여기서, 디지털 회로 및 아날로그 회로는 하나의 패키지로 구현될 수 있다. 또한, 통신부 210은 다수의 RF 체인들을 포함할 수 있다. 나아가, 통신부 210은 빔포밍을 수행할 수 있다.
상술한 바와 같이, 통신부 210은 신호를 송신 및 수신한다. 이에 따라, 통신부 210의 전부 또는 일부는 '송신부', '수신부' 또는 '송수신부(transceiver)'로 지칭될 수 있다. 또한, 이하 설명에서 무선 채널을 통해 수행되는 송신 및 수신은 통신부 210에 의해 상술한 바와 같은 처리가 수행되는 것을 포함하는 의미로 사용된다.
저장부 220은 수신단의 동작을 위한 기본 프로그램, 응용 프로그램, 설정 정보 등의 데이터를 저장한다. 저장부 220은 휘발성 메모리, 비휘발성 메모리 또는 휘발성 메모리와 비휘발성 메모리의 조합으로 구성될 수 있다. 그리고, 저장부 220은 제어부 230의 요청에 따라 저장된 데이터를 제공한다. 일 실시 예에 따라, 저장부 220은 비터비 복호화를 수행하는데 필요한 데이터를 저장하기 위한 적어도 하나의 이상의 메모리와 통합될 수 있다. 이 경우, 저장부 220은 복호화기 232의 요청에 따라 저장부 220에 기 저장된 데이터를 제공한다. 일 실시 예에 따라, 저장부 220은 복호화기 232의 트레이스백에 따른 생존 경로에 대한 데이터를 복호화기 232로 제공할 수 있다.
제어부 230은 수신단의 전반적인 동작들을 제어한다. 예를 들어, 제어부 230은 통신부 210를 통해 신호를 송신 및 수신한다. 또한, 제어부 230은 저장부 220에 데이터를 기록하고, 읽는다. 그리고, 제어부 230은 통신 규격에서 요구하는 프로토콜 스택(protocol stack)의 기능들을 수행할 수 있다. 이를 위해, 제어부 230은 적어도 하나의 프로세서 또는 마이크로(micro) 프로세서를 포함하거나, 또는, 프로세서의 일부일 수 있다. 또한, 통신부 210의 일부 및 제어부 230은 CP(communication processor)라 지칭될 수 있다.
다양한 실시 예들에 따라, 제어부 230은 복호화기 232를 포함할 수 있다. 복호화기 232는 송신단에서 부호화되어 송신 안테나를 통해 송신되는 비트열을 수신하고, 부호화 이전의 입력 비트열로 변환하는 장치이다. 따라서, 복호화기 232는 송신단에서 적용되는 부호화에 대응하여 신호를 복호하기 위한 장치일 수 있다. 예를 들어, 입력 비트열이 송신단에서 TBCC 부호화를 거쳐 송신되는 경우, TBCC 부호화된 비트열에 대응하여 복호를 수행하는 복호화기 232는 비터비 복호화기일 수 있다.
여기서, 복호화기 232는 저장부 230에 저장된 명령어 집합 또는 코드로서, 적어도 일시적으로 제어부 230에 상주된(resided) 명령어/코드 또는 명령어/코드를 저장한 저장 공간이거나, 또는, 제어부 230를 구성하는 회로(circuitry)의 일부일 수 있다.
다양한 실시 예들에 따라, 제어부 230은 복호화기 232를 통해 비터비 복호화를 수행할 수 있고, 이 경우, 제어부 230은 CRC 비트를 이용할 수 있다. 예를 들어, 제어부 230은 수신단이 후술하는 다양한 실시 예들에 따른 동작들을 수행하도록 제어할 수 있다. 일 실시 예에 따르면, 제어부 230은 복호화기 232를 통해 LVA에 대한 적절한 초기 상태의 후보군들을 선택하기 위하여, CRC 비트를 이용할 수 있다. 다른 실시 예에 따르면, 제어부 230은 적절하게 추정된 초기 상태의 후보군에 대한 비터비 복호를 수행할 수 있다. 초기 상태 후보군에 대한 비터비 복호를 수행할 때, 제어부는 230은 트렐리스(trellis) 다이어그램 상에서 진행 경로를 고정시키고 메트릭 값을 계산하기 위해 CRC 비트를 이용할 수 있다.
도 3은 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 복호화기의 구성을 도시한다. 도 3은 복호화기 232의 일부 구성으로서 이해될 수 있다.
도 3을 참고하면, 복호화기는 BM(branch metric)부 310, ACS(add compare select)부 320, 메모리 330 및 역추적(traceback)부 340을 포함할 수 있다.
BM부 310은 수신한 비트열을 이용하여 트렐리스 다이어그램에서 각 브랜치(branch)에 대한 메트릭 값을 계산한다. 여기서, 브랜치는 현재 상태에서 다음 상태로 진행할 수 있는 경로를 의미한다. 예를 들어, 입력 비트는 0 또는 1의 값을 가지기 때문에, 각각의 현재 상태에서 다음 상태로 진행할 수 있는 경로, 즉 브랜치의 개수는 2일 수 있다. 다만, 이는 해밍 거리를 이용한 경판정(hard decision)에 기반한 비터비 연산의 예로서, 본 개시는 이에 제한되지 않는다. 다른 예로, 유클리디언 거리를 이용한 연판정(soft decision)에 기반한 비터비 연산의 경우, 현재 상태에서 다음 상태로 진행할 수 있는 브랜치의 개수는 2보다 많을 수 있다.
구체적으로, BM부 310은 현재 상태에서 수신한 비트열과 브랜치가 출력하는 비트열의 비교를 통해 메트릭 값을 계산한다. 예를 들어, 컨볼루션(convolution) 부호화기의 구속장 길이(constraint length) k가 3이면, 컨볼루션 부호화기의 시프트 레지스터(shift register)의 개수는 2이며, 따라서 하나의 브랜치는 2개 비트로 이루어진 비트열을 출력한다. 여기서, 메트릭은 비교 기준이 되는 수치 또는 파라미터를 의미하며, 해밍 거리가 주로 사용되나 이에 한정되는 것은 아니다.
일 실시 예에 따라, 구속장 길이가 3이고, 해밍 거리(hamming distance)를 메트릭으로 사용하는 연판정 기반의 비터비 복호의 경우, 출력 가능한 브랜치 메트릭 값은 0(수신 비트열과 출력 비트열의 비트들 중 2개 모두 일치), 1(수신 비트열과 출력 비트열의 비트들 중 1개 일치), 2(수신 비트열과 출력 비트열의 비트들 중 비트 2개 모두 불일치) 중 어느 하나이다. 다른 실시 예에 따라, 유클리디언 거리(euclidean distance)를 메트릭으로 사용하는 경판정 기반의 비터비 복호의 경우, 출력 가능한 브랜치 메트릭은 정수(integer)가 아닐 수 있다.
ACS부 320은 현재 상태에 도달하는 경로 중 최소 메트릭 값을 가지는 경로를 선택하기 위해 합산(add), 비교(compare) 및 선택(select) 연산을 수행한다. ACS부 320은 이전 상태의 상태 메트릭 값에 이전 상태에서 현재 상태로 이르는 브랜치 메트릭 값을 더하는 합산 연산을 수행한다. 즉, ACS부 320은 합산 연산을 통해 각 브랜치로부터 현재 상태로 이르는 상태 메트릭 값들을 생성한다. 예를 들어, 경판정 기반의 비터비 연산의 경우, 0의 입력 비트로 현재 상태에 이르는 경로 및 1의 입력 비트로 현재 상태에 이르는 경로, 2개의 경로에 대한 상태 메트릭 값들을 가질 수 있다. 이후, ACS부 320은 각 브랜치에서 현재 상태로 이르는 상태 메트릭 값들을 입력 받고 뺄셈을 수행하여 결과 값을 출력함으로써 비교 연산을 수행한다. 여기서, 출력 결과 값은 현재 상태에 이르는 경로 값들의 크기를 비교한 결과를 지시한다. ACS부 320은 현재 상태가 가질 수 있는 상태 메트릭 값들 중 작은 값을 선택하여 출력함으로써 선택 연산을 수행한다. 즉, ACS부 320은 상태 메트릭 값이 작은 경로를 선택하며, 이는 수신한 비트열과 가장 유사한 비트열을 출력하는 경로에 대한 선택을 의미한다. 여기서, 메트릭이 해밍 거리인 경우, 작은 상태 메트릭 값에 대응하는 경로가 선택되는 것을 도시하지만, 본 개시는 이에 제한되지 않는다. 예를 들어, 다른 메트릭이 사용되는 경우, 큰 상태 메트릭 값에 대응하는 경로가 선택될 수 있다.
메모리 330은 생존 경로에 대한 정보를 저장한다. 구체적으로, 생존 경로는 ACS부 320의 비교 연산을 통해 선택된 경로를 의미하며, 비교 대상이 없는 경로는 생존 경로로 유지된다. 메모리 330은 초기 상태로부터 최종 상태까지의 천이 과정에서 선택되는 생존 경로들에 대한 정보를 저장한다. 이후, 메모리 330은 역추적부 340으로 각 상태에서의 생존 경로에 대한 정보를 제공한다.
역추적부 340은 ACS부 320에서 비터비 연산을 통해 구성한 트렐리스 다이어그램에 기반하여 최종 상태에서 초기 상태로 역추적을 수행한다. 여기서, 역추적은 '트레이스백' 등의 동등한 의미를 갖는 다른 용어들로 대체될 수 있다. 즉, 역추적부 340은 트렐리스 다이어그램의 최종 상태들 중 가장 낮은 상태 메트릭 값을 가지는 상태에서 트레이스백을 수행하고, 최대 우도(maximum likelihood) 경로, 즉, 가장 발생 가능성이 높은 경로를 따라 입력 비트열을 복호한다. 역추적부 340은 트레이스백 과정에서 메모리 330에 저장된 생존 경로에 대응하는 비트들을 포함하는 부호어를 출력할 수 있다. 여기서 출력되는 부호어는 입력 비트열을 복호한 결과, 즉 복호 비트열을 의미한다. 예를 들어, 생존 경로가 이전 상태에서 0을 입력 받아 다음 상태로 진행한 경로에 대응하는 경우, 역추적부 340은 트레이스백에 따른 출력으로 0을 획득할 수 있다. 즉, 역추적부 340은 ML 경로의 최종 상태부터 초기 상태까지 순차적으로 트렐리스 경로상의 생존 경로에 대응하는 비트들을 획득함으로써 복호 결과로서 비트열인 부호어를 생성한다. 본 개시에 따른 부호어는 입력 비트열을 복호한 결과로서 복호 비트열을 지칭하는 것으로 설명되나, 이에 한정되는 것은 아니다. 다른 실시 예에 따르면, 부호어는 입력 비트열을 지칭할 수 있으며, 이 경우, 입력 비트열을 복호한 결과는 정보어로 지칭될 수도 있다.
마지막 (K-1)개의 비트를 부호화기의 초기 상태로 갖는 TBCC 부호화기의 특성상, 비터비 알고리즘은 트렐리스 다이어그램의 임의의 초기 상태에서 시작하여 동일한 최종 상태에서 종료된다. 초기 상태 및 최종 상태가 동일한 경우, 오류 정정이 올바르게 이루어졌을 가능성이 높고, 동일하지 않은 경우 오류 정정이 실패했을 가능성이 높다. 또한, 상술한 TBCC 부호화기의 특성을 고려하면, TBCC 부호화된 비트열에 대한 트렐리스 다이어그램은 원통형 구조를 가질 수 있다. 따라서, 수신단은 부호화된 비트열에 대하여 순서에 관계 없이, 트렐리스 다이어그램을 구성할 수 있다. 예를 들어, 수신단은 CRC 비트에서 시작하는 트렐리스 다이어그램을 구성할 수 있다.
이하 실시 예들 중 적어도 일부는 위와 같은 순환적 구조에 기반하여 구성 가능한 변형된 형태의 트렐리스 다이어그램을 이용한다.
도 4는 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 신호를 복호하는 수신단의 흐름도를 도시한다. 도 4는 수신단 120의 동작 방법을 예시한다.
도 4를 참고하면, 401 단계에서, 수신단은 부호화된 비트열을 수신한다. 즉, 수신단은 무선 채널을 통해 송신단으로부터 부호화된 비트열을 수신한다. 일 실시 예에 따라 부호화된 비트열은 CRC 부호화를 외부(outer) 부호로 하고, 송신단에서 정해진 부호율 및 구속장 길이에 따른 TBCC 부호화를 내부(inner) 부호로 사용하는 연접 부호화에 기반하여 부호화된 비트열일 수 있다. 이후, 연접 부호화된 비트열은 최종 부호율에 따라서 전송될 수 있고, 이 경우 순환 버퍼(circular buffer)를 기반으로 최종 부호화된 비트열이 결정될 수 있다. 예를 들어, CRC 및 TBCC 연접 부호화된 비트열에 따른 부호율이 최종 부호율과 일치하지 않는 경우, 송신단은 부호화된 비트열에 천공(puncturing)을 수행하거나 또는 패리티 비트(parity bit)를 추가함으로써 최종 부호율에 정합하는 비트열을 수신단으로 송신한다.
403 단계에서, 수신단은 수신 비트열의 적어도 일부에 대한 트레이스백을 수행한다. 일 실시 예에 따라, 수신단은 수신 비트열 전체에 대한 트레이스백을 수행하지 않고, 비트열의 적어도 일부에 대해 트레이스백을 수행할 수 있다. 예를 들어, 수신단은 CRC 비트에서 시작하는 변경된 트렐리스 다이어그램을 구성하고, 메시지 비트에 대한 트렐리스 경로에서만 트레이스백을 수행할 수 있다. 다른 예로, 수신단은 메시지 비트에서 시작하는 트렐리스 다이어그램을 구성할 수 있고, CRC 비트에 대한 트렐리스 경로를 진행하지 않고, 메시지 비트에 대한 최종 상태에서 트레이스백을 시작할 수 있다.
405 단계에서, 수신단 120은 트레이스백 결과를 이용한 CRC 부호화를 수행한다. 이하, 설명의 편의를 위해, 송신단의 입력 비트열에 대한 CRC 비트는 제1 CRC 비트, 트레이스백을 통해 획득한 부호어에 대한 CRC 비트는 제2 CRC 비트로 지칭된다. 즉, 수신단은 트레이스백을 통해 메시지 비트들에 대한 부호어를 획득하고, 획득한 부호어에 대한 CRC 부호화를 수행함으로써 제2 CRC 비트들을 생성할 수 있다. 상술한 CRC 부호화는 송신단에서 입력 비트열에 대해 수행되는 CRC 부호화와 동일한 부호화이다. 송신단에서 입력 비트열의 메시지 비트들과 동일한 부호어를 출력한 경우라도, 해당 부호어에 대하여 상이한 CRC 부호화 기법을 사용하는 경우, 제1 CRC 비트와 제2 CRC 비트는 불일치할 수 있다.
407 단계에서 수신단 120은 CRC 부호화 결과를 이용한 비터비 복호화를 수행한다. 즉, 수신단은 수신 비트열에 대한 비터비 복호를 수행하기 위하여, 부호어를 CRC 부호화 함으로써 획득하는 제2 CRC 비트를 이용할 수 있다. 일 실시 예에 따라, 수신단은 제2 CRC 비트에 기반하여 초기 상태의 후보군을 선택함으로써 올바른 트렐리스 경로를 거치는 부호어들을 출력할 수 있다. 예를 들어, 수신단은 제2 CRC 비트와 트렐리스 경로의 초기 상태의 일치 여부를 판단할 수 있다. 다른 실시 예에 따라, 수신단은 제2 CRC 비트에 기반하여 트렐리스 다이어그램 상에서 고정된 경로를 진행하고, 메트릭 값을 계산함으로써 계산 복잡도를 감소시킨 LVA를 수행할 수 있다.
도 5는 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 CRC 비트를 이용하여 초기 상태의 후보군을 추정하고, 비터비 복호화를 수행하기 위한 수신단의 흐름도를 도시한다. 도 5는 수신단 120의 동작 방법을 예시한다.
도 5를 참고하면, 501 단계에서, 수신단은 변경된 트렐리스 다이어그램을 구성한다. 즉, 수신단은 송신단에서 부호화되고 송신된 비트열을 수신하고, 이에 기반하여 트렐리스 다이어그램을 구성할 수 있다. 여기서, 트렐리스 다이어그램을 구성하는 것은 수신한 비트열을 통해 메트릭 값을 계산하는 과정을 포함할 수 있다. 일 실시 예에 따라, 변경된 트렐리스 다이어그램은 CRC 비트에서 메시지 비트에 대한 순서로 진행하는 트렐리스 다이어그램이다.
503 단계에서, 수신단은 베스트 메트릭을 가지는 최종 상태를 식별한다. 여기서, 베스트 메트릭은 수신 비트열에 대한 메트릭 계산 시, 다수의 최종 상태들 중 가장 발생 확률이 높은 최종 상태가 가지는 메트릭 값을 의미한다. 예를 들어, 해밍 거리를 메트릭으로 사용하는 경우, 다수의 최종 상태들 중 가장 낮은 값의 메트릭을 가지는 최종 상태가 식별될 수 있다. 반면, 다른 종류의 메트릭을 사용하는 경우, 다수의 최종 상태들 중 가장 큰 값의 메트릭을 가지는 최종 상태가 식별될 수 있다.
505 단계에서, 수신단은 식별된 최종 상태에서 트레이스백을 수행하고, 부호어를 획득한다. 즉, 수신단은 베스트 메트릭을 갖는 최종 상태에서 트레이스백을 수행하고 생존 경로에 대응하는 비트들의 출력으로 구성된 부호어를 획득한다. 일 실시 예에 따라, 수신단은 메시지 비트에 대한 최종 상태에서 시작하여 메시지 비트에 대한 초기 상태까지 트레이스백을 수행할 수 있다. 여기서, 트렐리스 다이어그램은 순서가 변경된 트렐리스이므로 메시지 비트에 대한 초기 상태는 CRC 비트에 대한 최종 상태와 동일한 상태를 갖는다. 따라서, 수신단은 CRC 비트의 최종 상태까지만 트레이스백을 수행하게 되므로, CRC 비트에 대응하는 트렐리스 경로는 트레이스백을 수행하지 않고, 메시지 비트에 대한 트레이스백을 통해 메시지 비트에 대한 부호어를 획득한다.
507 단계에서, 수신단은 획득한 부호어를 이용한 CRC 부호화를 수행한다. 즉, 수신단은 트레이스백을 통해 메시지 비트에 대한 부호어를 획득하고, 해당 부호어에 대하여 CRC 부호화를 수행함으로써 CRC 비트를 획득한다. 여기서, 제1 CRC 비트 및 제2 CRC 비트는 반드시 일치하지 않음을 유의해야 한다.
509 단계에서, 수신단은 트레이스백 경로의 초기 상태와 CRC 부호화 결과의 적어도 일부가 일치하는지 판단한다. 즉, 수신단은 메시지 비트에 대한 초기 상태까지 트레이스백을 수행했을 때 도달하는 상태가 제2 CRC 비트의 끝 부분의 비트들로 구성되는지 판단한다. 여기서, 일치 여부의 판단 대상이 되는 적어도 일부는 하나의 상태를 구성하는 비트의 개수이며, 컨볼루션 부호화기의 구속장 길이 또는 시프트 레지스터의 개수에 대응될 수 있다. 일 실시 예에 따라, 구속장 길이가 7인 컨볼루션 부호화기의 경우, 6개의 시프트 레지스터를 가지며, 송신단에서 컨볼루션 부호화기의 초기 상태는 6개 비트들의 조합으로 이루어진다. 시프트 레지스터 길이만큼의 이전 입력에 따라 현재 상태에 영향을 받는 컨볼루션 부호화기의 특성상, 변경된 트렐리스 다이어그램 상에서 메시지 비트에 대한 초기 상태는 CRC 비트들 중 오직 마지막 6개 비트에 따라 결정된다. 다만, 본 개시는 이에 제한되지 않으며, 상이한 길이의 구속장 길이를 갖는 컨볼루션 부호화기의 경우, 메시지 비트에 대한 초기 상태를 결정하는 비트의 개수는 달라질 수 있다.
511 단계에서, 수신단은 해당 초기 상태를 후보군으로 추가한다. 즉, 수신단은 트레이스백 경로의 초기 상태와 CRC 부호화 결과의 적어도 일부가 일치한다고 판단하는 경우, 해당 트레이스백 경로로부터 획득한 부호어는 올바른 트렐리스 경로를 따를 가능성이 높으므로 초기 상태에 대한 후보군에 해당 트레이스백 경로의 초기 상태를 추가한다.
513 단계에서, 수신단은 다음 베스트 메트릭을 갖는 최종 상태를 식별한다. 즉, 수신단은 베스트 메트릭에 대한 트레이스백 경로의 초기 상태와 CRC 부호화 결과의 적어도 일부가 일치하지 않으면, 다음 베스트 메트릭을 갖는 최종 상태에 대하여 트레이스백을 수행하는 것을 반복한다. 일 실시 예에 따라, 구속장의 길이가 7인 컨볼루션 부호화기의 경우, CRC 부호화에 따른 CRC 비트 중 마지막 6비트와 트레이스백 경로의 초기 상태가 동일하지 않은 경우, 해당 경로에 대응하는 부호어는 베스트 메트릭을 갖지만 올바르지 않은 트렐리스 경로를 거치는 부호어이므로, 해당 경로의 초기 상태는 초기 상태 후보군으로 추가하지 않는다. 후보군에 추가하여 LVA를 수행하여도 CRC 검사에서 불일치할 확률이 높기 때문이다. 따라서, 수신단은 다음 베스트 메트릭을 갖는 최종 상태부터 트레이스백을 수행하고, 트레이스백 경로의 초기 상태와 CRC 부호화 결과의 적어도 일부가 일치하는지 판단하는 과정을 반복 수행한다.
515 단계에서, 수신단은 후보군 개수가 Ls개와 동일한지 판단한다. 즉, 수신단은 LVA를 수행하기 위한 초기 상태의 개수를 만족하는지 여부를 판단하기 위해, 후보군에 포함되는 초기 상태의 개수가 Ls와 동일한지 비교한다. 후보군에 포함되는 초기 상태의 개수가 Ls개와 동일한 경우, 수신단은 LVA를 수행하기 위한 적절한 초기 상태의 후보군을 모두 찾았으므로 CRC 비트를 이용한 초기 상태 후보군을 추정하는 과정을 종료할 수 있다. 반면, 수신단은 후보군에 포함되는 초기 상태의 개수가 Ls개가 아닌 경우, 517 단계를 수행할 수 있다.
517 단계에서, 수신단은 식별한 모든 최종 상태에 대한 트레이스백을 수행하였는지 판단한다. LVA가 낮은 SNR(signal to noise ratio)에서 동작한다는 점을 고려하였을 때, 수신단은 변경된 트렐리스 다이어그램의 모든 최종 상태에 대해 트레이스백을 수행하고 적어도 일부의 비트에 대한 일치 여부를 판단하였음에도 불구하고, 초기 상태의 후보군을 Ls개만큼 추정하지 못할 수 있다. 따라서, 수신단은 모든 최종 상태에 대한 트레이스백을 수행하였는지 판단하고, 아직 트레이스백을 수행하지 않은 상태가 존재하는 경우 513 단계로 진행하여 초기 상태의 후보군을 찾는 과정을 반복 수행할 수 있다. 반면, 모든 최종 상태에 대해 트레이스백을 수행한 경우, 수신단은 519 단계를 진행할 수 있다.
519 단계에서, 수신단은 추가 메트릭을 계산하고 베스트 메트릭을 갖는 상태를 초기 상태 후보군으로 추가한다. 즉, 수신단은 기 계산된 메트릭 값에 기반하는 경우 더 이상 초기 상태 후보군을 추가할 수 없다고 판단하고, 동일한 수신 비트열 중 CRC 비트에 대한 메트릭 계산을 추가적으로 수행할 수 있다. 일 실시 예에 따라, 수신단은 수신 비트열에 대하여 변경된 트렐리스 다이어그램을 추가적으로 구성할 수 있다. 동일한 수신 비트열에 대한 메트릭 계산을 반복하는 경우, 실제 비트열에 가까운 메트릭 값을 가지는 점을 고려하여, 수신단은 변경된 트렐리스 다이어그램을 연속하여 구성할 수 있다. 예를 들어, 제1 트렐리스 다이어그램의 최종 상태에서 동일한 메트릭 값을 가지는 상태들이 제2 트렐리스 다이어그램의 최종 상태에서는 상이한 메트릭 값을 가질 수 있고, 제2 트렐리스 다이어그램의 최종 상태들 중 가장 낮은 메트릭 값을 가지는 상태가 실제 올바른 트렐리스 경로상의 최종 상태일 수 있다. 따라서, 수신단은 추가 메트릭을 계산하고, 새로운 최종 상태들 중 베스트 메트릭 값을 갖는 상태를 초기 상태 후보군으로 추가할 수 있다. 일 실시 예에 따라, 수신단은 Ls개의 후보군을 완성하기 위해, 추가 메트릭에 따른 새로운 최종 상태에서 메트릭 순서대로 다수의 최종 상태를 후보군으로 추가할 수 있다.
이하, 표 1은 상술한 초기 상태 추정 방식에 따라 올바른 초기 상태가 골라지는 경우의 확률을 도시한다.
메시지 비트=48, 부호율=1/6 메시지 비트=120, 부호율=1/6
SNR P(A) SNR P(A)
-5 0.342405 -5 0.458308
-4 0.618344 -4 0.73849
-3 0.872193 -3 0.929733
-2 0.974051 -2 0.989675
-1 0.997223 -1 0.999224
상술한 표 1은 동일한 부호율에서, 메시지 비트의 크기가 다른 경우를 비교하였으며, SNR이 커질수록 CRC 비트를 이용한 초기 상태 추정의 정확성이 높아지는 것을 확인할 수 있다. 표 1을 참고하면, 동일한 SNR에서 메시지 비트의 크기가 클수록 올바른 초기 상태를 추정할 확률이 높아짐을 확인할 수 있다. 이는, 메시지 비트의 크기가 큰 경우, 메시지 비트의 크기가 작은 경우보다 비터비 알고리즘을 수행하는 횟수가 더 많으며, 따라서, 메시지 비트의 최종 상태에서 베스트 메트릭 값을 가지는 확률이 크기 때문이다.
도 6a 내지 도 6b는 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 CRC 비트를 이용한 초기 상태 추정에 대한 트렐리스 다이어그램을 도시한다.
도 6a를 참고하면, 비터비 연산의 시작점을 변경한 트렐리스 다이어그램을 도시한다. 일 실시 예에 따르면, 수신단은 메시지 비트 이후 CRC 비트의 순서로 비터비 알고리즘을 수행하지 않고, CRC 비트에 대한 비터비 알고리즘을 먼저 수행한다. 따라서, 트렐리스 다이어그램 상에서 CRC 비트부터 차례로 메트릭이 계산되고, 각 상태에서 생존경로들이 정해지고 메모리에 저장된다.
경로 602는 베스트 메트릭 값을 갖는 트렐리스 경로를 도시한다. 즉, 경로 602는 트렐리스 다이어그램 상에서 메시지 비트까지 메트릭 값을 계산하고, 최종 상태들 중 베스트 메트릭 값을 가지는 상태에서 트레이스백을 수행한 결과이다. 즉, 경로 602는 최대 우도를 가지는 생존 경로들의 집합으로써, 하나의 부호어를 나타낸다.
상태 604는 CRC 16 비트에 대한 최종 상태를 도시한다. 즉, 상태 604는 CRC 16비트에 대하여 트렐리스 경로를 진행한 경우 도달하는 상태를 의미한다. CRC 16 비트에 대하여 초기의 10 비트는 상태 604의 위치에 영향을 주지 않는다. 예를 들어, K=7의 구속장 길이를 가지는 컨볼루션 부호화기의 경우, 6개 비트들에 따라 하나의 상태가 결정된다. 다만, 현재 상태는 이전 입력으로써 6개 비트들의 조합에 의해 결정되므로 마지막 6 비트에 따라 CRC 비트에 대한 트렐리스 다이어그램의 최종 상태가 결정된다. 또한, CRC 비트와 메시지 비트의 순서를 변경하였기 때문에 CRC 비트에 대한 최종 상태는 곧 메시지 비트에 대한 초기 상태에 대응한다. 따라서, 수신단은 제2 CRC 비트의 마지막 6 비트와 상태 604가 일치하는지 확인함으로써 초기 상태 후보군으로 추가할 수 있다.
도 6b는 CRC 비트에서 시작하는 변경된 트렐리스 다이어그램을 도시한다. 도 6b를 참고하면, 수신단은 변경된 트렐리스 다이어그램을 반복하여 구성한다. 이하, 설명의 편의를 위해 첫 번째 다이어그램을 제1 트렐리스 다이어그램, 반복된 두 번째 다이어그램을 제2 트렐리스 다이어그램으로 지칭하기로 한다. 수신단은 제2 트렐리스 다이어그램을 구성할 때까지 수신 비트열 전체에 대한 메트릭 계산을 2번 반복 계산한다. 수신단은 제2 트렐리스 다이어그램의 최종 상태에서 메트릭 값에 따라 초기 상태 후보군을 선택한다. 구체적으로, 수신단은 제2 트렐리스 다이어그램의 최종 상태들 중 베스트 메트릭 값에 대응하는 최종 상태에서 트레이스백을 수행하고, 획득한 부호어를 CRC 부호화함으로써 제2 CRC 비트를 획득한다. 수신단은 제2 CRC 비트 중 마지막 6개 비트가 상태 604와 동일한지 판단한다. 이후, 수신단은 상태 604와 획득한 제2 CRC 비트의 마지막 6개 비트가 일치하는 경우, 상태 604를 초기 상태의 후보군으로 추가한다. 수신단은 초기 상태 후보군의 개수가 Ls개와 동일할 때까지 상술한 과정을 반복한다. 즉, 수신단은 상태 604를 초기 상태 후보군으로 추가하고 제2 트렐리스 다이어그램의 최종 상태들 중 다음 베스트 메트릭 값을 가지는 상태로부터 트레이스백을 수행한다. 수신단은 초기 상태의 후보군 개수가 Ls개인 경우, 초기 상태 후보군을 더 이상 추가하지 않고 절차를 종료할 수 있다. 일 실시 예에 따라, 수신단은 초기 상태 후보군의 개수가 Ls개보다 작은 경우, CRC 16비트에 대해 추가적인 트렐리스 다이어그램을 구성하고, 누적 메트릭 값을 계산한다. 이후, 수신단은 누적된 메트릭 값을 갖는 최종 상태들 중에서 베스트 메트릭 순서대로 적어도 하나 이상의 최종 상태를 초기 상태 후보군으로 추가할 수 있다. 예를 들어, 수신단은 CRC 16비트에 대하여 추가적으로 트렐리스 다이어그램을 구성할 수 있고, 다수의 최종 상태들 중 베스트 메트릭을 갖는 상태 606을 초기 상태 후보군으로 추가할 수 있다.
도 7은 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 신호를 복호하기 위한 수신단 120의 동작 방법을 도시한다.
도 7을 참고하면, 701 단계에서, 수신단은 부호화된 비트열을 수신한다. 즉, 수신단은 무선 채널을 통해 송신단으로부터 부호화된 비트열을 수신한다. 일 실시 예에 따라 부호화된 비트열은 CRC 부호화를 외부(outer) 부호로 하고, 송신단에서 정해진 부호율 및 구속장 길이에 따른 TBCC 부호화를 내부(inner) 부호로 사용하는 연접 부호화에 기반하여 부호화된 비트열일 수 있다. 이후, 연접 부호화된 비트열은 최종 부호율에 따라서 전송될 수 있고, 이 경우 순환 버퍼(circular buffer)를 기반으로 최종 부호화된 비트열이 결정될 수 있다. 예를 들어, CRC 및 TBCC 연접 부호화된 비트열에 따른 부호율이 최종 부호율과 일치하지 않는 경우, 송신단은 부호화된 비트열에 천공(puncturing)을 수행하거나 또는 패리티 비트(parity bit)를 추가함으로써 최종 부호율에 정합하는 비트열을 수신단으로 송신한다. 일 실시 예에 따라, PUCCH, PUSCH 등의 제어 정보의 경우, 메시지 비트는 24 비트이며, CRC 비트는 16 비트를 갖는다. 따라서, TBCC 부호율이 1/3인 컨볼루션 부호화기의 경우, TBCC 부호화 이후 비트열은 총 120 비트이며, 송신단을 통해 전송되는 최종 부호율에 따라 최종 비트열이 결정된다. 예를 들어, 순환 버퍼에 의해 결정되는 최종 부호율이 1/3인 경우, 송신단을 통해 전송되는 총 비트열은 24x3=72 비트이며, TBCC 부호화된 총 120 비트 중 48 비트는 천공된다. 다른 예로, 순환 버퍼에 의해 결정되는 최종 부호율이 1/6인 경우, 송신단을 통해 전송되는 총 비트열은 24x6=144 비트이며, TBCC 부호화된 총 120 비트에 24 비트의 패리티 비트가 추가되어 최종 부호율을 만족하도록 144 비트를 갖는 비트열이 전송된다. 이 경우, 패리티 비트는 TBCC 부호화된 120 비트 전단에 부착될 수 있다. 다만, 본 개시는 이에 제한되지 않으며, 다양한 크기의 메시지 비트, CRC 비트 및 부호율을 갖는 부호화기에서 마찬가지로 적용될 수 있다.
703 단계에서, 수신단은 일반 트렐리스 다이어그램을 구성한다. 즉, 수신단은 송신단으로부터 최종 부호율에 따른 비트열을 수신하고, 이에 기반하여 트렐리스 다이어그램을 구성할 수 있다. 여기서, 트렐리스 다이어그램을 구성하는 것은 수신한 비트열을 통해 메트릭 값을 계산하는 과정을 포함할 수 있다. 일 실시 예에 따라, 수신단은 일반 트렐리스 다이어그램을 구성할 수 있고 여기서, 일반 트렐리스 다이어그램은 메시지 비트에서 CRC 비트의 순서로 진행되는 트렐리스 다이어그램이다. 즉, 수신단은 변경된 트렐리스 다이어그램을 통해 초기 상태의 후보군을 추정하는 실시 예와 달리 전체 리스트 비터비 복호를 수행하는 경우, 송신단에서 TBCC 부호화 이전의 올바른 비트열 순서에 따른 트렐리스 다이어그램을 구성할 수 있다. 수신단은 트렐리스 다이어그램의 CRC 비트에 대한 초기 상태에서 메시지 비트에 대한 최종 상태까지 수신한 비트열을 각 상태에서 출력 가능한 비트열에 대하여 ACS 연산을 수행하고, 각 상태에 대한 메트릭 값 및 생존 경로에 대한 정보를 획득한다. 일 실시 예에 따라, 수신단이 메트릭 값의 연산을 시작하는 초기 상태는 변경된 트렐리스 다이어그램을 통해 획득한 초기 상태의 후보군들 중 어느 하나의 초기 상태일 수 있다. 이 경우, 수신단은 수신한 비트열과 각 상태에서 출력 비트열의 비교를 수행하는 메트릭 계산에 앞서, 후보군의 초기 상태에 대한 상태 메트릭을 0으로 설정하고, 해당 초기 상태를 제외한 나머지 상태들에 대하여 상태 메트릭을 무한대로 설정하여 ACS 연산을 수행하고, 메트릭 값들을 계산한다.
705 단계에서, 수신단은 메시지 비트에 대한 최종 상태에서 트레이스백을 수행하고 부호어를 획득한다. 수신단은 메시지 비트에 대한 최종 상태까지 메트릭 값을 계산하고, 다수의 최종 상태들 중 베스트 메트릭 값에 대응하는 하나의 상태를 식별한다. 일 실시 예에 따른 하나의 상태는 가장 작은 메트릭 값을 가지는 상태일 수 있다. 수신단은 식별한 최종 상태로부터 트레이스백을 수행함으로써 해당 최종 상태에 이르는 생존 경로들에 대응하는 부호어를 획득한다. 예를 들어, 최종 상태 '100101'에서 트레이스백을 수행하는 경우, 수신단은 상태 ‘100101’의 생존 경로를 식별하고, 식별한 생존 경로에 대응되는 0 또는 1의 비트를 획득한다. 수신단은 트레이스백을 수행하고, 상태 ‘100101’의 생존 경로를 통해 연결되는 이전 스테이지의 상태를 식별한다. 여기서, 스테이지는 트렐리스 다이어그램 상에서 시간의 흐름을 나타낸다. 이후, 수신단은 매 스테이지마다 반복적으로 생존 경로를 식별하고 비트를 획득하는 과정을 초기 상태에 도달할 때까지 수행함으로써 전체 메시지 비트에 대한 부호어를 획득할 수 있다.
707 단계에서, 수신단은 획득한 부호어를 이용하여 CRC 부호화를 수행한다. 즉, 수신단은 트레이스백을 통해 메시지 비트에 대한 부호어를 획득하고, 해당 부호어에 대한 CRC 부호화를 수행함으로써 제2 CRC 비트를 획득한다.
709 단계에서, 수신단은 CRC 부호화 결과를 이용하여 트렐리스 경로를 고정하고 메트릭을 계산한다. 즉, 수신단은 CRC 부호화 결과인 제2 CRC 비트를 이용하여 메시지 비트 이후, 제1 CRC 비트에 대응하는 트렐리스 다이어그램 구간의 메트릭 값을 계산할 수 있다. 일 실시 예에 따라, 수신단은 메시지 비트 이후, 제1 CRC 비트에 대응하는 트렐리스 경로는 제2 CRC 비트에 기반하여 진행할 수 있다. 즉, 수신단은 스테이지마다, 수신한 비트열과 2개의 브랜치에 대한 출력 비트열을 비교하여 메트릭을 계산하고, 계산된 메트릭을 비교하여 생존 경로를 결정하는 ACS 연산을 생략할 수 있다. 수신단은 획득한 제2 CRC 비트에 대응하는 트렐리스 경로를 진행하면서, 수신한 비트열과 고정된 트렐리스 경로의 출력 비트열을 비교하여 메트릭 값을 계산한다.
711 단계에서, 수신단은 최종 상태의 메트릭 값에 기반하여 하나의 부호어를 출력한다. 수신단은 제2 CRC 비트에 따라 고정되는 트렐리스 경로를 진행하여 최종 상태의 메트릭 값을 계산하고, 다수의 최종 상태들 중 베스트 메트릭 값을 가지는 트렐리스 경로에 대한 부호어를 최종 부호어로 출력한다. 수신단은 제1 CRC 비트에 대응하는 트렐리스 구간을 제2 CRC 비트에 따라 고정되는 트렐리스 경로로 진행하므로, 획득한 부호어는 항상 CRC 검사를 만족할 수 있다.
도 8은 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 CRC 비트를 이용하여 진행 경로를 고정한 트렐리스 다이어그램을 도시한다.
도 8을 참고하면, 다이어그램 801은 기존 LVA 방식에 따른 트렐리스 다이어그램의 진행 경로를 도시한다. 여기서, 리스트 비터비 복호화 방식은 평행 리스트 비터비(parallel list viterbi) 복호화 방식일 수 있다. 평행 리스트 비터비 복호화 방식은 각각의 현재 상태에서 다음 상태로 진행하는 경로를 메트릭 값이 좋은 순서로 L개를 선택한다. 예를 들어, 다이어그램 801은 L=2인 평행 리스트 비터비의 트렐리스 경로를 도시한다. L=2의 평행 리스트 비터비의 경우, 수신단은 초기 상태 및 최종 상태에 대하여, 2개의 경로를 선택한다. L=2의 기존 방식의 경우, 수신단은 메시지 비트 이후의 스테이지에 대해서 각 상태마다 이전 연산과 동일하게 들어오는 4개의 경로들 중 메트릭 기준으로 2개의 경로를 선택한다.
다이어그램 802는 본 개시에 따라 트렐리스 다이어그램 상에서 고정된 진행 경로를 도시한다. 수신단은 메시지 비트까지 기존 방식과 동일한 리스트 비터비 복호를 수행한다. 따라서, 메시지 비트의 최종 상태로 유입되는 경로는 다이어그램 801과 마찬가지로 4개이다. 이후, 수신단은 메트릭 값을 계산하고, 4개의 경로 중 메트릭 값에 따라 2개의 경로를 선택하는 과정을 생략하고, 4개의 경로 각각에 대한 트레이스백을 통해 4개의 부호어를 획득한다. 수신단은 획득한 부호어를 CRC 부호화함으로써 서로 상이한 4개의 제2 CRC 비트를 획득한다. 따라서, 수신단은 4개의 유입되는 경로들 중 2개를 메트릭 값에 기반하여 선택하는 과정을 생략할 수 있고, 서로 상이한 4개의 제2 CRC 비트에 따라 4개의 경로들을 각각 진행할 수 있다.
상술한 다양한 실시 예들에 따라, 수신단은 CRC 비트들을 이용하여 초기 상태를 결정하거나, CRC 비트들에 대한 트렐리스 경로를 고정시킬 수 있다. 이로 인해, 복호의 연산 복잡도가 감소된다. 상술한 다양한 실시 예들의 동작은 일반적인 비터비 복호 과정에서 적용될 수 있으며, 나아가 리스트 비터비 복호 알고리즘에도 적용될 수 있다. 리스트 비터비 복호 알고리즘에 대하여 간략히 설명하면 다음과 같다.
부호화기의 초기 상태를 0으로 초기화하기 위해 시프트 레지스터만큼의 0 비트를 삽입하는 제로-테일 컨볼루션 부호화와 달리, TBCC 부호화의 복호화 과정은 초기 상태가 메시지에 따라 결정되는 TBCC의 특징 때문에 초기상태를 추정하는 과정이 필요하다. 초기 상태를 L_s개 추정하고 나면 각 초기 상태의 후보마다 초기 상태와 마지막 상태를 해당 상태로 고정시켜놓고 리스트 비터비 복호화를 진행하여 메트릭이 좋은 L_c개의 부호어 후보군을 고르게 된다. 리스트 비터비 복호화 과정은 크게 sequential, parallel, per-stage 방식으로 나뉘며 각각은 트렐리스 전체에서 가장 메트릭 값이 좋은 L_c개를 선택, 각 상태마다 메트릭 값이 좋은 L_c개를 선택, 각 스테이지마다 메트릭 값이 좋은 L_c개를 선택하는 방식이다. 최종적으로 L_s L_c개의 부호어 후보군 중 메트릭 값이 좋은 L_f개의 부호어가 최종 리스트로 선택된다. 그 다음으로는 최종 리스트 중 CRC 검사를 만족하는 부호어 중 가장 메트릭 값이 좋은 부호어를 최종 출력 부호어로 선택한다. 본 개시의 CRC 비트를 이용한 초기 상태 추정에 따라, 수신단은 종래의 초기 상태 추정 방식에 비해 연산량을 감소시킬 수 있고, 단순히 메트릭 값에 기반하여 초기 상태와 최종 상태가 일치하지 않는 트렐리스 경로를 선택하는 확률을 줄일 수 있고, 초기 상태 추정을 위한 연산 복잡도. 또한, 본 개시의 CRC 비트를 이용한 비터티 복호에 따라, 수신단은 CRC 검사를 수행할 필요 없이, 항상 CRC 검사를 만족하는 부호어들 중 베스트 메트릭 값을 갖는 부호어를 출력할 수 있다.
도 9a 내지 도 9j는 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 CRC 비트를 이용한 비터비 복호의 성능 그래프를 도시한다.
도 9a 내지 도 9j는 CRC 비트를 이용한 초기 상태 추정 방식과 종래 기술에서 제안한 초기 상태 추정 방식을 리스트 비터비 복호화까지 적용하여 최종 BLER(block error rate) 성능을 비교한 성능 그래프를 도시한다. 종래 기술에서 제안하는 초기 상태 추정 방식은 비터비 알고리즘의 3번 반복으로 이루어진다. 따라서, 본 개시에 따른 CRC 비트를 이용한 초기 상태 추정 방식에 비해, 종래 기술이 제안하는 초기 상태 추정 방식은 1번의 비터비 알고리즘을 추가적으로 진행한다. 본 개시에 따른 CRC 비트를 이용한 초기 상태 추정 방식은 종래 기술에서 제안하는 초기 상태 추정 방식에 비해 CRC 부호화를 추가적으로 진행하지만, CRC 부호화는 경판정 기반 연산임에 반해, 비터비 알고리즘은 연판정 기반의 연산이므로, 본 개시에 따른 CRC 비트를 이용한 초기 상태 추정 방식이 계산 복잡도가 더 낮다.
이하, 도 9a 내지 도 9f는 종래 기술에서 제안하는 초기 상태 추정 방식과 본 개시에 따른 초기 상태 방식을 BPSK, Ls=4,Lc=4,Lf=16,L=4에서 비교한 결과이다. 도 9a 내지 도 9f는 CRC 비트를 이용한 초기 상태 추정 방식이 종래 기술이 제안하는 초기 상태 추정 방식에 비해 더 낮은 계산 복잡도를 가지면서 전 구간에 대해서 비슷하거나 조금 더 향상된 성능을 갖는다.
이하 도 9g 내지 도 9j는 Ls가 4보다 더 큰 값으로 설정된 경우, 초기 상태 추정 방식에 따른 성능 그래프를 도시한다. Ls가 4보다 더 큰 값으로 설정된 경우, CRC 비트를 이용한 초기 상태 추정 방식이 종래 기술이 제안하는 초기 상태 추정 방식보다 성능이 좋지 않은데, 이는 초기 상태의 후보군을 많이 고를수록 종래 기술이 제안하는 방식의 경우 비터비 알고리즘을 3번 반복하여 획득된 메트릭 값을 이용하여 초기 상태의 후보군이 선택되는 반면, 본 개시에 따른 CRC 비트를 이용한 초기 상태 추정 방식의 경우, 비터비 알고리즘의 2번 반복 및 CRC 16 비트만큼의 연산을 통해 획득된 메트릭 값을 이용하므로 성능의 차이가 발생한다. 즉, 비터비 알고리즘을 덜 수행한 만큼 종래 기술이 제안하는 방식에 따른 메트릭 수준의 초기 상태를 추정하지 못하였기 때문이다.
도 10a 내지 도 10g는 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 CRC 비트를 이용한 비터비 복호의 성능 그래프를 도시한다.
이하, 도 10a 내지 도 10c는 Ls=64의 경우 L=4에 대한 기존 방식의 경우 Lc=4,Lf=256, 제안된 방식의 경우 Lc=1,Lf=1일 때 성능의 비교를 도시하는 그래프이다. 두 경우 모두 BPSK(binary phase shift keying) 변조 방식을 이용하였다. CRC 비트를 이용한 비터비 복호화가 더 낮은 계산복잡도에도 불구하고 전구간에서 좋거나 비슷한 성능을 나타내주는 것을 확인할 수 있다. 이는 CRC의 구조를 이용한 제안된 방식이 효과적인 것이라는 것을 보여준다.
이하, 도 10d 내지 도 10g는 때 Ls=4,Lc=4,L=4에서의 성능 그래프를 도시한다. 도 10d 내지 도 10g는 CRC 비트를 이용하여 초기 상태를 추정하고, 비터비 복호 시, CRC 비트를 이용하여 고정된 트렐리스 경로를 진행하는 경우, 본 개시에 따른 복호 방식이 가장 낮은 계산복잡도와 가장 좋은 성능을 보이고 있는 것을 확인할 수 있다.
본 개시의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합의 형태로 구현될(implemented) 수 있다.
소프트웨어로 구현하는 경우, 하나 이상의 프로그램(소프트웨어 모듈)을 저장하는 컴퓨터 판독 가능 저장 매체가 제공될 수 있다. 컴퓨터 판독 가능 저장 매체에 저장되는 하나 이상의 프로그램은, 전자 장치(device) 내의 하나 이상의 프로세서에 의해 실행 가능하도록 구성된다(configured for execution). 하나 이상의 프로그램은, 전자 장치로 하여금 본 개시의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들을 실행하게 하는 명령어(instructions)를 포함한다.
이러한 프로그램(소프트웨어 모듈, 소프트웨어)은 랜덤 액세스 메모리 (random access memory), 플래시(flash) 메모리를 포함하는 불휘발성(non-volatile) 메모리, 롬(read only memory, ROM), 전기적 삭제가능 프로그램가능 롬(electrically erasable programmable read only memory, EEPROM), 자기 디스크 저장 장치(magnetic disc storage device), 컴팩트 디스크 롬(compact disc-ROM, CD-ROM), 디지털 다목적 디스크(digital versatile discs, DVDs) 또는 다른 형태의 광학 저장 장치, 마그네틱 카세트(magnetic cassette)에 저장될 수 있다. 또는, 이들의 일부 또는 전부의 조합으로 구성된 메모리에 저장될 수 있다. 또한, 각각의 구성 메모리는 다수 개 포함될 수도 있다.
또한, 프로그램은 인터넷(Internet), 인트라넷(Intranet), LAN(local area network), WAN(wide area network), 또는 SAN(storage area network)과 같은 통신 네트워크, 또는 이들의 조합으로 구성된 통신 네트워크를 통하여 접근(access)할 수 있는 부착 가능한(attachable) 저장 장치(storage device)에 저장될 수 있다. 이러한 저장 장치는 외부 포트를 통하여 본 개시의 실시 예를 수행하는 장치에 접속할 수 있다. 또한, 통신 네트워크상의 별도의 저장장치가 본 개시의 실시 예를 수행하는 장치에 접속할 수도 있다.
상술한 본 개시의 구체적인 실시 예들에서, 개시에 포함되는 구성 요소는 제시된 구체적인 실시 예에 따라 단수 또는 복수로 표현되었다. 그러나, 단수 또는 복수의 표현은 설명의 편의를 위해 제시한 상황에 적합하게 선택된 것으로서, 본 개시가 단수 또는 복수의 구성 요소에 제한되는 것은 아니며, 복수로 표현된 구성 요소라 하더라도 단수로 구성되거나, 단수로 표현된 구성 요소라 하더라도 복수로 구성될 수 있다.
한편 본 개시의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 개시의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 개시의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (20)

  1. 통신 시스템에서 신호를 복호하는 방법에 있어서,
    메시지 비트들 및 제1 CRC(cyclic redundancy check) 비트들에 대응하는 부호화된 비트열을 수신하는 과정과,
    상기 부호화된 비트열의 적어도 일부에 대한 트레이스백을 통해 부호어를 획득하는 과정과,
    상기 부호어에 대한 CRC 부호화를 수행함으로써 제2 CRC 비트들을 획득하는 과정과,
    상기 제2 CRC 비트들 중에서 적어도 일부에 기반하여 복호를 수행하는 과정을 포함하는 방법.
  2. 청구항 1에 있어서, 상기 복호를 수행하는 과정은,
    상기 제2 CRC 비트들 중에서 적어도 일부와 상기 메시지 비트들의 초기 상태가 일치하는지 여부를 결정하는 과정과,
    상기 제2 CRC 비트들 중에서 적어도 일부와 상기 메시지 비트들의 초기 상태가 일치하는 경우, 상기 초기 상태를 LVA(list viterbi algorithm)의 초기 상태 후보군에 추가하는 과정과,
    상기 초기 상태 후보군에 대해 LVA를 수행하는 과정을 포함하는 방법.
  3. 청구항 2에 있어서, 상기 부호어를 획득하는 과정은,
    변경된 트렐리스 다이어그램을 구성하는 과정과,
    메트릭 값을 계산하는 과정과,
    상기 메시지 비트들의 다수의 최종 상태들 중에서 베스트 메트릭을 갖는 최종 상태를 식별하는 과정과,
    상기 베스트 메트릭을 갖는 최종 상태에서 트레이스백을 수행하는 과정을 포함하고,
    상기 변경된 트렐리스 다이어그램은 상기 제1 CRC 비트들에서 상기 메시지 비트들로 진행하는 다이어그램인 방법.
  4. 청구항 2에 있어서, 상기 제2 CRC 비트들 중에서 적어도 일부와 상기 메시지 비트들의 초기 상태가 일치하는지 여부를 결정하는 과정은,
    상기 획득된 부호어를 구성하는 비트들의 개수를 식별하는 과정과,
    상기 제2 CRC 비트들 중에서 상기 식별된 개수와 동일한 개수의 마지막 비트들을 식별하는 과정과,
    상기 마지막 비트들과 상기 메시지 비트들의 초기 상태의 비트들이 일치하는지 여부를 결정하는 과정을 포함하는 방법.
  5. 청구항 3에 있어서, 상기 메시지 비트들의 다수의 최종 상태들 중에서 베스트 메트릭 값을 갖는 최종 상태를 식별하는 과정은,
    상기 제2 CRC 비트들 중에서 적어도 일부와 상기 메시지 비트들의 초기 상태가 일치하지 않는 경우, 상기 다수의 최종 상태들 중에서 다음 베스트 메트릭 값을 갖는 최종 상태를 식별하는 과정을 포함하는 방법.
  6. 청구항 5에 있어서,
    상기 후보군의 개수가 미리 설정된 임의의 개수 미만인 경우,
    상기 제1 CRC 비트들에 기반하여 트렐리스 다이어그램을 구성하는 과정과,
    상기 제1 CRC 비트들에 기반하여 메트릭 값을 계산하는 과정과,
    상기 제1 CRC 비트들의 최종 상태들 중에서 상기 계산된 메트릭 값에 기반하여 적어도 하나의 최종 상태를 식별하는 과정과,
    상기 식별된 적어도 하나의 최종 상태를 상기 후보군에 추가하는 과정을 더 포함하는 방법.
  7. 청구항 1에 있어서, 상기 제2 CRC 비트들 중에서 적어도 일부에 기반하여 복호를 수행하는 과정은,
    상기 제2 CRC 비트들에 기반하여 트렐리스 다이어그램 상에서 경로를 진행하는 과정을 포함하는 방법.
  8. 청구항 7에 있어서, 상기 제2 CRC 비트들에 기반하여 트렐리스 다이어그램 상에서 경로를 진행하는 과정은,
    상기 제2 CRC 비트들에 기반하여 다음 상태로 진행하는 경로를 식별하는 과정과,
    상기 경로에 따라 출력되는 비트열 및 수신한 비트열에 기반하여 메트릭 값을 계산하는 과정을 더 포함하는 방법.
  9. 청구항 7에 있어서, 상기 트렐리스 다이어그램은 메시지 비트들에서 상기 제1 CRC 비트들로 진행하는 트렐리스 다이어그램인 방법.
  10. 청구항 8에 있어서,
    상기 트렐리스 다이어그램의 최종 상태들 중에서 베스트 메트릭 값을 갖는 하나의 최종 상태를 식별하는 과정과,
    상기 하나의 최종 상태에 대응하는 트렐리스 경로의 부호어를 출력하는 과정을 더 포함하는 방법.
  11. 통신 시스템에서 신호를 복호하는 장치에 있어서,
    송수신부와,
    상기 송수신부와 기능적으로 결합된 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는,
    메시지 비트들 및 제1 CRC(cyclic redundancy check) 비트들에 대응하는 부호화된 비트열을 수신하고,
    상기 부호화된 비트열의 적어도 일부에 대한 트레이스백을 통해 부호어를 획득하고,
    상기 부호어에 대한 CRC 부호화를 수행함으로써 제2 CRC 비트들을 획득하고, 상기 제2 CRC 비트들 중에서 적어도 일부에 기반하여 복호를 수행하도록 구성되는 장치.
  12. 청구항 11에 있어서, 상기 적어도 하나의 프로세서는,
    상기 제2 CRC 비트들 중에서 적어도 일부와 상기 메시지 비트의 초기 상태가 일치하는지 여부를 결정하고,
    상기 제2 CRC 비트들 중에서 적어도 일부와 상기 메시지 비트들의 초기 상태가 일치하는 경우, 상기 부호어를 LVA(list viterbi algorithm)의 초기 상태 후보군에 추가하고, 상기 초기 상태 후보군에 대해 LVA를 더 수행하도록 구성되는 장치.
  13. 청구항 12에 있어서, 상기 적어도 하나의 프로세서는,
    변경된 트렐리스 다이어그램을 구성하고, 메트릭 값을 계산하고,
    상기 메시지 비트들의 다수의 최종 상태들 중에서 베스트 메트릭을 갖는 최종 상태를 식별하고,
    상기 베스트 메트릭을 갖는 최종 상태에서 트레이스백을 더 수행하도록 구성되고,
    상기 변경된 트렐리스 다이어그램은 상기 제1 CRC 비트들에서 상기 메시지 비트들로 진행하는 다이어그램인 장치.
  14. 청구항 12에 있어서, 상기 적어도 하나의 프로세서는,
    상기 획득된 부호어를 구성하는 비트들의 개수를 식별하고,
    상기 제2 CRC 비트들 중에서 상기 식별된 개수의 마지막 비트들을 식별하고,
    상기 마지막 비트들과 상기 메시지 비트의 초기 상태의 비트들이 일치하는지 여부를 더 결정하도록 구성되는 장치.
  15. 청구항 13에 있어서, 상기 적어도 하나의 프로세서는,
    상기 제2 CRC 비트들 중에서 적어도 일부와 상기 메시지 비트들의 초기 상태가 일치하지 않는 경우, 상기 다수의 최종 상태들 중에서 다음 베스트 메트릭 값을 갖는 최종 상태를 더 식별하도록 구성되는 장치.
  16. 청구항 15에 있어서, 상기 적어도 하나의 프로세서는,
    상기 후보군의 개수가 미리 설정된 임의의 개수 미만인 경우,
    상기 제1 CRC 비트들에 기반하여 트렐리스 다이어그램을 구성하고,
    상기 제1 CRC 비트들에 기반하여 메트릭 값을 계산하고,
    상기 제1 CRC 비트들의 최종 상태들 중에서 상기 계산된 메트릭 값에 기반하여 적어도 하나의 최종 상태를 식별하고,
    상기 식별된 적어도 하나의 최종 상태를 상기 후보군에 더 추가하도록 구성되는 장치.
  17. 청구항 11에 있어서, 상기 적어도 하나의 프로세서는,
    상기 제2 CRC 비트들에 기반하여 트렐리스 다이어그램 상에서 경로를 진행하도록 구성되는 장치.
  18. 청구항 17에 있어서, 상기 적어도 하나의 프로세서는,
    상기 제2 CRC 비트들에 기반하여 다음 상태로 진행하는 경로를 식별하고,
    상기 경로에 따라 출력되는 부호어 및 수신한 비트열에 기반하여 메트릭 값을 계산하도록 구성되는 장치.
  19. 청구항 17에 있어서, 상기 트렐리스 다이어그램은 메시지 비트들에서 상기 제1 CRC 비트들로 진행하는 트렐리스 다이어그램인 장치.
  20. 청구항 18에 있어서, 상기 적어도 하나의 프로세서는,
    상기 트렐리스 다이어그램의 최종 상태들 중에서 베스트 메트릭 값을 갖는 하나의 최종 상태를 식별하고, 상기 하나의 최종 상태에 대응하는 트렐리스 경로의 부호어를 출력하도록 구성되는 장치.
KR1020170100342A 2017-08-08 2017-08-08 무선 통신 시스템에서 신호를 복호하기 위한 장치 및 방법 KR102338852B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020170100342A KR102338852B1 (ko) 2017-08-08 2017-08-08 무선 통신 시스템에서 신호를 복호하기 위한 장치 및 방법
PCT/KR2018/008830 WO2019031769A1 (ko) 2017-08-08 2018-08-03 무선 통신 시스템에서 신호를 복호하기 위한 장치 및 방법
US16/637,691 US11128313B2 (en) 2017-08-08 2018-08-03 Apparatus and method for decoding signal in wireless communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170100342A KR102338852B1 (ko) 2017-08-08 2017-08-08 무선 통신 시스템에서 신호를 복호하기 위한 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20190016296A KR20190016296A (ko) 2019-02-18
KR102338852B1 true KR102338852B1 (ko) 2021-12-13

Family

ID=65272394

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170100342A KR102338852B1 (ko) 2017-08-08 2017-08-08 무선 통신 시스템에서 신호를 복호하기 위한 장치 및 방법

Country Status (3)

Country Link
US (1) US11128313B2 (ko)
KR (1) KR102338852B1 (ko)
WO (1) WO2019031769A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111614363B (zh) * 2019-02-26 2023-03-24 扬智科技股份有限公司 维特比算法的改进方法和接收装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130124947A1 (en) 2011-11-16 2013-05-16 Mstar Semiconductor, Inc. Tail-biting convolutional decoder and decoding method

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4806673B2 (ja) 2007-12-27 2011-11-02 ルネサスエレクトロニクス株式会社 復号装置及び復号方法
US8483327B2 (en) 2008-03-24 2013-07-09 Texas Instruments Incorporated Reverse Viterbi and forward serial list Viterbi decoding for FER
US8230313B2 (en) * 2008-08-11 2012-07-24 Texas Instruments Incorporated Low-power predecoding based viterbi decoding
US8543895B2 (en) 2010-02-10 2013-09-24 Qualcomm Incorporated List Viterbi decoding of tail biting convolutional codes
WO2012163135A1 (zh) 2011-05-27 2012-12-06 上海无线通信研究中心 一种信道译码方法及译码器
US20160112157A1 (en) * 2014-10-15 2016-04-21 Qinghua Li Auto-Detection in Wireless Communications
KR102375951B1 (ko) * 2015-07-29 2022-03-17 삼성전자주식회사 오류 감소를 위한 디코딩 장치 및 방법
CN110402553B (zh) * 2017-01-09 2022-03-08 瑞典爱立信有限公司 用于多级控制信息的编码技术的方法和设备

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130124947A1 (en) 2011-11-16 2013-05-16 Mstar Semiconductor, Inc. Tail-biting convolutional decoder and decoding method

Also Published As

Publication number Publication date
KR20190016296A (ko) 2019-02-18
US20200382133A1 (en) 2020-12-03
WO2019031769A1 (ko) 2019-02-14
US11128313B2 (en) 2021-09-21

Similar Documents

Publication Publication Date Title
US10917112B2 (en) Apparatus and methods for error detection coding
US10361728B2 (en) Multiple-symbol combination based decoding for general polar codes
US11025278B2 (en) Polar coding encoding/decoding method and apparatus
US11581905B2 (en) Method and apparatus for wirelessly communicating over a noisy channel with a variable codeword length polar code to improve transmission capacity
US20180191459A1 (en) Apparatus and methods for decoding assistant bit-based polar code construction
US8995583B2 (en) Decoding technique for tail-biting codes
US10666392B2 (en) Apparatus and methods for rate matching in polar coding
US10812107B2 (en) Apparatus and methods for polar code construction and bit position allocation
KR20190114263A (ko) 무선 통신 시스템에서 극 부호를 이용한 부호화 및 복호화를 위한 장치 및 방법
KR20190111630A (ko) 무선 통신 시스템에서 순환 중복 검사를 이용한 복호화를 위한 장치 및 방법
EP4050805A1 (en) Method and apparatus for decoding polar code in communication and broadcasting system
CN110890894A (zh) 级联编码的方法和装置
KR20150084308A (ko) 무선 통신 시스템에서 채널의 비-가우시안 특성에 따른 적응적 채널 부호 선택 장치 및 방법
US10581464B2 (en) Encoder device, decoder device, and methods thereof
KR20200127783A (ko) 무선 통신 시스템에서 저밀도 패리티-검사 부호의 복호화를 위한 장치 및 방법
KR102338852B1 (ko) 무선 통신 시스템에서 신호를 복호하기 위한 장치 및 방법
US11239949B2 (en) Apparatus and methods for polar code construction and coding
EP3635890A1 (en) Methods and apparatus for polar encoding
US11824654B2 (en) Method and apparatus for decoding polar code in communication and broadcasting system
WO2018141271A1 (zh) 数据处理的方法和装置
US11509334B2 (en) Decoding apparatus and decoding method for decoding operation in channel coding
US20230034299A1 (en) Device and method for decoding polar code in communication system

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant