KR102547476B1 - 경로 메트릭 값 기반의 디코딩 프로세스 제어 방법, 연산 장치 및 모바일 장치 - Google Patents

경로 메트릭 값 기반의 디코딩 프로세스 제어 방법, 연산 장치 및 모바일 장치 Download PDF

Info

Publication number
KR102547476B1
KR102547476B1 KR1020160093644A KR20160093644A KR102547476B1 KR 102547476 B1 KR102547476 B1 KR 102547476B1 KR 1020160093644 A KR1020160093644 A KR 1020160093644A KR 20160093644 A KR20160093644 A KR 20160093644A KR 102547476 B1 KR102547476 B1 KR 102547476B1
Authority
KR
South Korea
Prior art keywords
path metric
value
metric
path
candidate
Prior art date
Application number
KR1020160093644A
Other languages
English (en)
Other versions
KR20180010849A (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 KR1020160093644A priority Critical patent/KR102547476B1/ko
Priority to US15/339,264 priority patent/US10439652B2/en
Priority to CN201710022738.1A priority patent/CN107645297B/zh
Publication of KR20180010849A publication Critical patent/KR20180010849A/ko
Application granted granted Critical
Publication of KR102547476B1 publication Critical patent/KR102547476B1/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
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
    • 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/3738Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with judging correct 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/3961Arrangements of methods for branch or transition metric calculation
    • 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/4107Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing add, compare, select [ACS] operations
    • 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/4138Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors soft-output Viterbi algorithm based decoding, i.e. Viterbi decoding with weighted decisions
    • 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/4161Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management
    • 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
    • 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/6577Representation or format of variables, register sizes or word-lengths and quantization
    • H03M13/658Scaling by multiplication or division
    • 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/6577Representation or format of variables, register sizes or word-lengths and quantization
    • H03M13/6583Normalization other than scaling, e.g. by subtraction
    • 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
    • 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/0046Code rate detection or code type detection
    • 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/0052Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/20Control channels or signalling for resource management
    • H04W72/23Control channels or signalling for resource management in the downlink direction of a wireless link, i.e. towards a terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/04Large scale networks; Deep hierarchical networks
    • H04W84/042Public Land Mobile systems, e.g. cellular systems

Abstract

본 출원은 전자 기기에 관한 것으로, 좀 더 구체적으로는 비터비 디코더를 포함하는 연산 장치 및 그것의 제어 방법에 관한 것이다. 본 출원의 실시 예에 따른 연산 장치는, 테일바이팅 컨볼루셔널 코드로 인코딩된 데이터를 수신하고, 상기 인코딩된 데이터들로부터 복수의 스텝을 포함하는 트레이닝 구간을 개시하기 위한 후보를 선택하고, 후보의 트레이닝 구간의 마지막 스텝에서 가능한 상태들의 최종 경로 메트릭 값들을 결정하고, 최종 경로 메트릭 값들에 기초하여 경로 메트릭-관련 값을 결정하고, 경로 메트릭-관련 값에 기초하여 후보에 대한 디코딩의 조기 종료를 결정하는 비터비 디코더를 포함한다.

Description

경로 메트릭 값 기반의 디코딩 프로세스 제어 방법, 연산 장치 및 모바일 장치{METHOD FOR CONTROLLING DECODING PROCESS BASED ON PATH METRIC VALUE AND COMPUTING APPARATUS AND MOBILE DEVICE FOR CONTROLLING THE SAME}
본 출원은 경로 매트릭(path metric) 값에 기초하여 디코딩 프로세스를 제어하는 방법에 관한 것으로, 좀 더 구체적으로는 경로 매트릭 값에 기초하여 제어 채널의 디코딩 프로세스를 종료하고 블라인드 디코딩 오버로드(overload)를 줄이는 방법에 관한 것이다.
LTE(Long Term Evolution) 시스템은 다운링크 제어 채널의 포맷으로 물리적인 다운링크 제어 채널(Physical Downlink Control Channel, PDCCH)을 사용한다. 다운링크는 eNodeB(evolved NodeB)와 같은 기지국(base station)으로부터 LTE 표준 기술과 같은 이동 통신을 지지하는 사용자 단말(User Equipment, UE)과 같은 모바일 장치로의 무선 통신을 말한다. 물리적인 다운링크 제어 채널은 다운링크 제어 정보(Downlink Control Information, DCI)를 포함하고, 다운링크 제어 정보들의 다양한 포맷은 제어 정보를 하나 이상의 사용자 단말을 위해 전송한다. LTE 시스템에서, 다운링크 제어 정보들은 테일바이팅 컨볼루셔널 코드(tail biting convolutional code, TBCC)로 인코딩 된다.
사용자 단말은 블라인드 디코딩 스킴(scheme)으로 수신된 물리적인 다운링크 제어 채널을 디코딩하기 위해 비터비(Viterbi) 디코딩 알고리즘을 사용할 수 있다. 비터비 디코딩 알고리즘에 따른 블라인드(blind) 디코딩은 일반적으로 1회 이상의 트레이닝 동작(training operation), 최대 우도(maximum likelihood) 경로 탐색, 그리고 송신기로부터 전송되었을 가장 가능성이 큰 정보 비트들을 결정하기 위한 트레이스백(trace back) 동작을 포함한다. 결정된 정보 비트들은 순환 중복 검사(Cyclic Redundancy Check, CRC)로 확인되고 정보 비트들의 유효성은 순환 중복 검사 결과에 기초하여 결정된다.
LTE 시스템의 블라인드 디코딩에서. 인코딩된 데이터와 대응하는 제어 채널 엘리먼트(Control Channel Element, CCE) 숫자와 어그리게이션 레벨(aggregation level)은 알려지지 않는다. 따라서, 비터비 디코더와 같은 블라인드 디코더는 다양한 어그리게이션 레벨과 가능한 제어 채널 엘리먼트 숫자들 등에 따라 결정되는 물리적인 다운링크 제어 채널 데이터의 다양한 가능한 세트들("가능한 후보들")을 결정한다. 특정 공통 검색 공간 과 사용자 단말 고유의 검색 공간에서 매핑된 수신된 데이터로부터 결정된 물리적인 다운링크 제어 채널 데이터의 가능한 세트들은 블라인드 디코딩을 위한 후보들이다. 블라인드 디코딩 동작의 숫자는 어그리게이션 레벨 숫자와 캐리어의 숫자에 따라 달라질 수 있다. LTE 시스템에서, 블라인드 디코딩 시도 횟수는 많고, 부정확한 어그리게이션 레벨과 같은 부정확한 가정이 된 파라미터들이 적용되었기 때문에 많은 블라인드 디코딩 시도는 의미 없는 결과를 버리게 된다. 이와 같은 부정확한 디코딩 시도를 위해 디코더는 상당한 시간과 배터리 전원을 소모한다. 따라서, 이와 같은 블라인드 디코딩 프로세스는 디코딩 속도와 전력 소비에 있어서 비효율적이다.
본 출원은 비터비 디코더의 경로 메트릭 값을 이용하여 의미 없는 데이터를 디코딩 한다고 판단될 경우 디코딩 프로세스를 중단함으로써, 비터비 디코딩에 의한 전력 소비를 줄이고 향상된 디코딩 속도를 갖는 연산 장치 및 그것의 제어 방법을 제공하기 위한 것이다.
본 발명의 실시 예에 따른 연산 장치는, 테일바이팅 컨벌루셔널 코드로 인코딩된 데이터를 수신하고, 상기 인코딩된 데이터들로부터 복수의 스텝을 포함하는 트레이닝 구간을 개시하기 위한 후보를 선택하고, 상기 후보의 상기 트레이닝 구간의 마지막 스텝에서 가능한 상태들의 최종 경로 메트릭 값들을 결정하고, 상기 최종 경로 메트릭 값들에 기초하여 경로 메트릭-관련 값을 결정하고, 상기 경로 메트릭-관련 값에 기초하여 상기 후보에 대한 디코딩의 조기 종료를 결정하는 비터비 디코더를 포함한다.
본 발명의 다른 실시 예에 따른 테일바이팅 컨벌루셔널 코드로 인코딩된 데이터의 디코딩 프로세스 제어 방법은, 테일바이팅 컨벌루셔널 코드로 인코딩된 데이터를 컨벌루셔널 디코더에서 수신하는 단계; 상기 인코딩된 데이터들로부터 복수의 스텝을 포함하는 트레이닝 구간을 개시하기 위한 후보를 선택하는 단계; 상기 트레이닝 구간의 마지막 스텝에서 가능한 상태들의 최종 경로 메트릭 값들을 결정하는 단계; 상기 가능한 상태들의 상기 최종 경로 메트릭 값들을 기초로 경로 메트릭-관련 값을 결정하는 단계; 및 상기 경로 메트릭-관련 값을 기초로 상기 후보에 대한 디코딩의 조기 종료를 결정하는 단계를 포함한다.
본 발명의 다른 실시 예에 따른 디코더는, 테일바이팅 컨벌루셔널 코드로 인코딩된 데이터를 수신하는 수신기; 브랜치 메트릭을 계산하는 브랜치 메트릭 프로세서; 트레이닝 구간의 마지막 스텝에서 가능한 상태들의 최종 경로 메트릭 값들을 계산하는 경로 메트릭 프로세서; 및 상기 가능한 상태들의 상기 최종 경로 메트릭 값들을 기초로 경로 메트릭-관련 값을 결정하고, 상기 경로 메트릭-관련 값과 경로 메트릭-관련 임계값을 기초로 후보에 대한 디코딩의 조기 종료를 결정하는 경로 메트릭 분석기를 포함한다.
본 발명의 다른 실시 예에 따른 모바일 장치는, 디스플레이; 테일바이팅 컨벌루셔널 코드로 인코딩된 데이터를 디코딩하는 비터비 디코더를 포함하는 이동 통신 모뎀; 상기 이동 통신 모뎀과 연결된 메모리; 및 상기 이동 통신 모뎀과 연결되고 물리적인 다운링크 제어 채널을 수신하는 무선 안테나를 포함하되, 상기 비터비 디코더는 테일바이팅 컨벌루셔널 코드로 인코딩된 데이터를 수신하고, 상기 인코딩된 데이터들로부터 복수의 스텝을 포함하는 트레이닝 구간을 개시하기 위한 후보를 선택하고, 상기 후보의 상기 트레이닝 구간의 마지막 스텝에서 가능한 상태들의 최종 경로 메트릭 값들을 결정하고, 상기 최종 경로 메트릭 값들에 기초하여 경로 메트릭-관련 값을 결정하고, 상기 경로 메트릭-관련 값에 기초하여 상기 후보에 대한 디코딩의 조기 종료를 결정한다.
본 출원의 실시 예에 따르면, 디코딩 속도의 향상과 전력 소모 감소를 갖는 연산 장치 및 그것의 제어 방법이 제공된다.
도 1은 컨볼루셔널 인코더 및 컨볼루셔널 인코더의 아웃풋을 디코딩하는 디코더를 포함하는 시스템을 보여주는 블록도이다.
도 2는 물리적인 다운링크 제어 채널에 포함된 다운링크 제어 정보를 디코딩하는 장치의 예를 보여주는 블록도이다.
도 3은 LTE 시스템에서 정의된 컨벌루셔널 인코더를 보여준다.
도 4는 비터비 디코더를 포함하는 수신기의 예를 보여주는 블록도이다.
도 5는 구속장(constraint length)이 5인 컨벌루셔널 코드를 위한 트렐리스도의 예를 보여준다.
도 6은 본 실시 예에 따른 비터비 디코더를 보여주는 블록도이다.
도 7은 비터비 버터플라이 동작을 보여주는 도면이다.
도 8은 본 실시 예에 따른 비터비 디코더에 의한 40비트 코드를 위한 디코딩 프로세스를 보여주는 도면이다.
도 9는 트레이닝 횟수가 2인 경우 비터비 디코더의 디코딩 흐름을 보여주는 도면이다.
도 10은 컨벌루셔널 디코더에 의해 동작되는 첫번째 트레이닝 구간에서 트렐리스도의 일부를 보여준다.
도 11은 본 실시 예에 따른 비터비 디코딩의 조기 종료 프로세스를 보여주는 순서도이다.
도 12는 비터비 디코더에서 트레이닝 횟수가 2인 경우 도 11의 조기 종료 프로세스를 보여주는 도면이다.
도 13은 서로 다른 두개의 정규화된 경로 메트릭 임계값 세팅들의 버려지는 후보들의 비율을 보여준다.
도 14는 도 13의 시뮬레이션에 따른 프레임 에러율(Frame Error Rate, FER)을 보여준다.
도 15는 다른 실시 예에 따른 비터비 디코더에서 트레이닝 횟수가 2인 경우 도 11의 조기 종료 프로세스를 보여주는 도면이다.
도 16은 본 실시 예에 따른 컨벌루셔널 디코더에 의해 동작되는 트레이닝 구간의 트렐리스도의 일부를 보여준다.
도 17은 본 실시 예에 따른 어플리케이션 프로세서(Application Processor, AP)를 포함하는 모바일 스테이션을 보여주는 블록도이다.
도 1은 컨볼루셔널(convolutional) 인코더(110) 및 컨볼루셔널 인코더의 아웃풋을 디코딩하는 디코더(120)를 포함하는 시스템을 보여주는 블록도이다.
도 1을 참조하면, 출력 코드 워드(output code word)는, 즉 인코딩된 비트들(C0, C1, … , Ch-2, Ch-1)은 v-스테이지 쉬프트 레지스터(shift register, 미도시)를 포함하는 컨벌루셔널 인코더(110)의 임펄스 응답을 가지는 입력 비트들(A0, A1, … , Ag-2, Ag-1)의 시퀀스(sequence)의 컨벌루션으로 얻어지는 결과이다. 일 예로, 인코딩 하기 위한 전체 비트들의 개수는 g개이고, 인코딩된 전체 비트들의 개수는 코드 레이트(code rate)와 인코딩 하기 위한 전체 비트들의 개수인 g개에 따라 결정되는 h개이다. 특정 시간에서, n개의 비트들의 시퀀스는, 즉 n-비트 코드워드(C0, C1, … , Cn-2, Cn-1)는 m개의 입력 비트들(A0, A1, … , Am-2, Am-1)과 쉬프트 레지스터에 저장된 v개의 비트들의 함수로서 생성된다. 예를 들어, m=1이고 n=3일 때, 컨벌루셔널 인코더는 하나의 입력 비트들 수신하고 프로세싱하여 세개의 인코딩된 비트들을 출력한다. 그리고나서, 다음 하나의 비트를 입력 비트로 수신하고 다른 세개의 인코딩된 비트들을 출력한다. 컨벌루셔널 인코더(110)의 구속장(constraint length)은 m+v로 정의되고, 코드 레이트는 m/n으로 결정된다(n>m인 경우). 전송된 비트들의 컨벌루셔널한 인코딩된 시퀀스 또는 코드 워드(C0, C1, … , Ch-2, Ch-1)는 디코더(120)에 (R0, R1, … , Rh-2, Rh-1)로 수신된다. 이상적인 환경에서, 컨벌루셔널 인코더(110)에 의해 전송된 인코딩된 비트들(C0, C1, … , Ch-2, Ch-1)은 디코더(120)에서 수신된 인코딩된 비트들(R0, R1, … , Rh-2, Rh-1)과 동일하다. 하지만, 실제로는 일반적으로 전송 에러, 노이즈 및/또는 간섭으로 동일하지 않다. 컨벌루셔널 코드를 입력 비트들(A0, A1, … , Ag-2, Ag-1)의 원래의 시퀀스로 디코딩 하기 위해, 비터비(Viterbi) 알고리즘이 가장 일반적으로 사용되나, 다른 알고리즘들이 사용될 수도 있다.
LTE, LTE-A(LTE-Advanced)와 같은 3GPP(3rd Generation Partnership Project) 표준 스킴(scheme)에서, 제어 채널은 기지국(base station) 또는 베이스 노드와 같은 통신망 구성요소로부터 모바일 장치(사용자 장비, 모바일 스테이션 등)에 대한 제어 정보를 전송하기 위해 사용된다.
제어 정보는 리소스 할당, 변조(modulation)와 코딩 스킴, 전원 제어, 프리코딩(precoding)에 관한 정보 및/또는 모바일 장치 또는 모바일 장치들의 그룹의 동작을 제어하기 위한 다른 정보를 포함할 수 있다. LTE, LTE-A 표준에서, 물리적인 다운링크 제어 채널(Physical Downlink Control Channel, PDCCH)은 다운링크 제어 정보(Downlink Control Information, DCI) 메세지로 알려진 통신망 구성요소에 의해 전송되는 메세지를 가진다. 복수의 사용자 시스템에서, 다운링크 제어 정보들는 셀 내의 모든 사용자에 대해 의도되도록 전송될 수 있다. 다른 다운링크 제어 정보들은 특정 모바일 스테이션만을 위해 의도될 수 있다. 다른 다운링크 제어 정보 포맷들이 제어 정보의 다른 종류들을 전달하기 위해 사용될 수 있다.
다양한 제어 채널 포맷들이 기지국에 의해 사용될 수 있다. 모바일 장치는 제어 정보를 수신하기 전에는 3GPP 표준들 내에서 정의된 다운링크 제어 정보들과 같은 제어 정보를 가지는 제어 채널의 포맷을 모를 수 있다. 모바일 장치에 의해 블라인드 디코딩 스킴이 사용될 수 있고, 모바일 장치는 기지국으로부터 수신된 데이터를 기초로 하는 각 제어 채널 포맷들에 따라 여러 개의 가상의 제어 채널들 또는 제어 채널 후보(candidate)들을 디코딩하기 위한 시도(attempt)를 할 수 있다. 제어 채널 포맷에 따라 제어 채널의 후보에 전송되었을 수 있는 제어 정보는 후보 제어 정보로 지칭할 수 있다. 모바일 장치는 제어 정보를 정확하게 수신하였는지 여부를 순환 중복 검사(Cyclic Redundancy Check, CRC)를 통해 결정할 수 있다.
도 2는 물리적인 다운링크 제어 채널에 포함된 다운링크 제어 정보를 디코딩하는 장치의 예를 보여주는 블록도이다. 본 실시 예에서 제어 채널은 LTE 시스템에서 정의되는 물리적인 다운링크 제어 채널이다. 장치(200)는 물리적인 다운링크 제어 채널 버퍼(PDCCH Buffer, 210) 및 다운링크 제어 정보 디코더(DCI decoder, 220)를 포함한다. 물리적인 다운링크 제어 채널 버퍼(210)는 물리적인 다운링크 제어 채널 검색 공간(search space) 내 모든 제어 채널 엘리먼트(Control Channel Element, CCE)들을 위한 버퍼 데이터를 포함한다. 버퍼 데이터는 소프트 결정(soft decision) 디코딩 스킴에 의해 생성되는 소프트 비트들 또는 하드 결정(hard decision) 디코딩 스킴에 의해 생성되는 하드 비트들 일 수 있다. 수신기(receiver)는 전송기(transmitter)가 보낸 패리티(parity) 비트들에 대응하는 전압 샘플들의 시퀀스를 생성할 수 있다. 전송기로부터 전송된 데이터가 나타내는 전압은 수신된 비트 시퀀스를 형성하기위해 디지털화 될 수 있다. 수신된 비트 시퀀스가 디코딩 되는 경우, 디코딩 프로세스는 하드 결정 디코딩 또는 "하드 디코딩"이라 불린다. 전압 샘플들이 디지털화 되기 전에 직접 디코딩 되는 경우, 다코딩 프로세스는 소프트 결정 디코딩 또는 "소프트 디코딩"이라 불린다. 다운링크 제어 정보 디코더(220)는 물리적인 다운링크 제어 채널 블라인드 디코더(PDCCH blind decoder, 221) 및 복수개의 순환 중복 검사 모듈(CRC check module, 224)을 포함한다. 각 순환 중복 검사 모듈(224)를 위해 장치(200)은 각 결정 모듈을 포함할 수 있다.
다운링크 제어 정보 디코더(220)는 가능한 다운링크 제어 정보를 생성하기 위해 물리적인 다운링크 제어 채널 버퍼(210)로부터의 버퍼 데이터에 기초하여 블라인드 디코딩을 수행할 수 있다. 더 구체적으로는, 다운링크 제어 정보 디코더(220)의 물리적인 다운링크 제어 채널 블라인드 디코더(221)는 버퍼 데이터를 무턱대고 디코딩한다. 일 예로, 물리적인 다운링크 제어 채널 블라인드 디코더(221)는 검색 테이블(search table, 222) 및 비터비 디코더(223)을 포함할 수 있다. 검색 테이블(222)은 가능한 후보 다운링크 제어 정보들 각각의 어그리게이션 레벨(aggregation level)들, 개시 제어 채널 엘리먼트 주소, 및 다운링크 제어 정보 포맷들을 포함하는 후보 다운링크 제어 정보 검색 장소의 정의를 포함할 수 있다. 검색 테이블(222)에 포함된 정보를 기초로, 비터비 디코더(223)은 물리적인 다운링크 제어 채널 버퍼(210) 내 존재하는 버퍼 데이터를 디코딩하기 위한 복수의 시도를 한다. 검색 테이블(222) 내 주어진 후보 다운링크 제어 정보에 대해, 버퍼 데이터는 다음의 정보로 디코딩 될 수 있다: RNTI(Radio Network Temporary Identity)의 종류와 다운링크 제어 정보가 의도된 모바일 장치의 신원을 나타내는 RNTI; 어그리게이션 레벨; 물리적인 다운링크 제어 채널을 위한 개시 제어 채널 엘리먼트 주소; 다운링크 제어 정보 페이로드; 및 순환 중복 검사. 물리적인 다운링크 제어 채널 블라인드 디코더(221)에 의해 디코딩 된 후보 다운링크 제어 정보들 각각은 탐지가 유효한지 결정하기 위해 디코딩된 순환 중복 검사 비트들을 RTNI와 검사하는 각 순환 중복 검사 모듈(224)로 전송된다. 여기에서, 물리적인 다운링크 제어 채널 블라인드 디코더(221)는 최대 N번의 블라인드 디코딩 시도를 할 수 있다. LTE 시스템에서 N은 44일 수 있다. 도 2에서 DCI[0], ... , DCI[N-1]로 보이는 것과 같이, 각 시도는 가능한 다운링크 제어 정보들 각각을 생성한다. 일반적으로, 대다수 블라인드 디코딩 시도는 순환 중복 검사를 통과하는 가능한 다운링크 제어 정보를 생성하지 못한다. 따라서, 블라인드 디코딩 프로세스의 낮은 효율과 블라인드 디코딩 프로세스로 야기되는 비효율적인 전력 소비는 해결해야할 문제이다.
비터비 디코더, 즉 도 2의 비터비 디코더(223)은 이진(binary) 컨볼루셔널 코드들로부터 입력 비트들을 수신할 수 있다. 이진 컨볼루셔널 코드는 테일바이팅 컨볼루셔널 코드(tail biting convolutional code, TBCC)일 수 있다. LTE 표준은 물리적인 다운링크 제어 채널 내로 보내진 제어 정보를 인코딩하기 위해 1/3의 코드 레이트, 구속장 7의 테일바이팅 컨볼루셔널 코드를 사용한다. 구속장이 7이므로 트렐리스도 내 64개의 상태(state)가 존재한다.
도 3은 LTE 시스템에서 정의된 컨볼루셔널 인코더를 보여주고, 도 5는 구속장(constraint length)이 5인 컨볼루셔널 코드를 위한 트렐리스도의 예를 보여준다.
컨볼루셔널 인코더는 G0=133(8진법의), G1=171(8진법의), G2=165(8진법의) 다항식을 사용한다. 도 3의 가산기는 배타적 논리합(exclusive or, XOR) 연산을 의미한다. 여섯개의 딜레이 요소들(S0, S1, S2, S3, S4, S5)은 각각 하나의 비트를 가진다. 테일바이팅에서 딜레이 요소들은 페이로드(payload)의 마지막 여섯 개의 비트들로 초기 설정된다. 컨볼루셔널 인코더는 각 비트(Ak)마다 세개의 출력 비트들(Ck(0), Ck(1), Ck(2))을 생성한다. 출력 비트들은 레이트 매칭과 변조(modulation)를 만족한다. 일 예로, 컨볼루셔널 인코더의 상태들은 도 5의 좌측에 이진 표현(binary representation)으로 주어진다. 여섯 개의 딜레이 요소들(v)의 숫자는 대응하는 비터비 디코더의 트렐리스도에서 가능한 상태들(2v)의 숫자와 관련된다.
도 4는 비터비 디코더를 포함하는 수신기의 예를 보여주는 블록도이다. 수신기에서, 수신된 심볼은 먼저 등화되고(equalized) 역매핑(demapped) 될 수 있다. 역매핑 프로세스는 위에서 설명된 소프트 디코딩 스킴에 따라 유효한 수신된 비트와의 우도(likelihood)를 포함하는 소프트 비트들을 생성한다. 일 예로, 양의 소프트 비트 값은 논리 "1"을 나타내고, 음의 소프트 비트 값은 논리 "0"을 나타낸다. 0은 논리 "1" 또는 "0"에 동일한 우도를 나타낸다. 다른 예로, 음의 소프트 비트 값은 논리 "1"을 나타내고, 양의 소프트 비트 값은 논리 "0"을 나타낸다. 0은 논리 "1" 또는 "0"에 동일한 우도를 나타낸다. 위에 설명된 바와 같이, LTE 시스템에서, 비터비 디코더는 전송기의 컨볼루셔널 인코더내 가능한 상태(S0, S1, S2, S3, S4, S5)와 대응하는 64개의 내부 상태를 사용한다. 비터비 알고리즘의 반복은 트렐리스 스텝이라 불리고, 구속장이 5인 컨볼루셔널 코드의 트렐리스도의 예가 도 5에 보여진다.
도 6은 본 실시 예에 따른 비터비 디코더를 보여주는 블록도이다. 비터비 디코더(600)은 브랜치 메트릭(branch metric, BM) 프로세서(610), 경로 메트릭(path metric, PM) 프로세서(620), 경로 메트릭 분석기(PM analyzer, 630), 및 트레이스백 로직(640)을 포함한다. 브랜치 메트릭 프로세서(610)는 소프트 비트들과 같은 입력 비트 시퀀스를 수신하고 브랜치 메트릭을 계산한다. 입력 비트 시퀀스는 수신된 우도와 함께 수신된 비트를 나타내는 복수개의 비트들을 포함한다. 일 예로, 소프트 비트의 2의 보수(two's complement) 표현이 선택될 수 있고, 그 사인(sign)은 수신된 비트를, 그 절대 값은 정확하게 수신된 비트의 우도를 표현한다. 1/3의 레이트를 가지는 컨볼루셔널 코드에서 비터비 디코더는 각 트렐리스 스텝마다 세개의 소프트 비트들을 소모한다. 각 세개의 소프트 비트들로부터, 브랜치 메트릭 프로세서(610)는 요구되는 트렐리스 스텝에서 가능한 모든 8개의 브랜치 메트릭을 계산한다. 계산된 브랜치 메트릭은 경로 메트릭 프로세서(620)로 전달된다.
경로 메트릭 프로세서(620)는 하나의 트렐리스 스텝에서 다음 트렐리스 스텝으로 트렐리스의 모든 경로 메트릭을 계산한다. 경로 메트릭 프로세서(620)는 각 트렐리스 스텝(미도시)의 모든 경로 메트릭들을 저장하는 경로 메트릭 레지스터와 경로 메트릭 계산부(미도시)를 포함할 수 있다. 일반적으로, 경로 메트릭 계산부는 각 경로의 경로 메트릭을 얻기위해 각 브랜치 메트릭을 요약하는 가산 비교 선택부(Add-Compare-Select unit, ACS unit)일 수 있다. 각 경로는 최대 우도(maximum likelihood, ML) 경로만큼 적합한 경로가 선택된다. 새로운 경로 메트릭은 이전 스테이지(또는 "이전 스텝" 또는 "이전 트렐리스 스텝")에 대해 계산된 경로 메트릭과 이전 상태에서 다음 상태로의 이동에 대응하는 브랜치 메트릭에 따라 달라진다. 일 예로, 경로 메트릭 프로세서(620)는 구속장 7의 컨볼루셔널 코드에 대해 64 개의 레지스터를 포함할 수 있다. 도 7의 트렐리스도의 일부를 참고하면 경로 메트릭 계산부는 32번의 버터플라이 동작들을 계산할 수 있다. j=0, 1, … , 31에 대해, 버터플라이 동작을 위해 대응하는 브랜치 메트릭은 현재 트렐리스 스텝에 대한 각 경로 메트릭의 가능한 후보들을 각각 계산하기 위해 이전 트렐리스 스텝의 경로 메트릭 상태(PM[j], PM[j+32])에서 가산되거나 감산될 수 있다. 후보가 가장 낮은 브랜치 또는 가장 높은 브랜치로부터 선택되는 지의 결정에 기초하여, 결정 비트는 0과 1 사이로 결정된다.
트레이스백 메모리(미도시)는 각 트렐리스 스텝의 모든 64 결정 비트들을 저장하기 위해 비터비 디코더(600)내에 구성될 수 있다.
첫번째 트렐리스 스텝부터 마지막 트렐리스 스텝까지 브랜치 메트릭과 경로 메트릭의 계산은 하나의 트레이닝 구간(training section)으로 지칭될 수 있다. 하나의 트레이닝 구간 완료 후, 다른 트레이닝 구간이 동작될 수 있다. 가능한 상태들, 즉 위의 예에 따르면 총 64개의 상태들 각각에 대해, 이전 트레이닝 구간의 마지막 트렐리스 스텝의 경로 메트릭 값들은 현재 트레이닝 세션의 첫번째 트렐리스 스텝의 초기 경로 메트릭 값들로 각각 사용될 수 있다. 첫번째 트레이닝 구간에 대해, 가능한 상태들 각각의 초기 경로 메트릭 값은 0으로 설정될 수 있다.
경로 메트릭 분석기(630)은 경로 메트릭-관련(PM-related) 값이 경로 메트릭-관련 임계값(threshold)보다 작은지에 대해 결정할 수 있다. 경로 메트릭 분석기(630)에 의해 수행되는 다양한 동작의 예들이 이후 설명된다.
하나 이상의 트레이닝 구간 이후, 트레이스백 로직(640)에 의해 트레이스백 동작이 개시된다. 비터비 디코더의 트레이스백 동작의 다양한 예들이 잘 알려져 있다. 따라서, 그에 대한 상세한 설명은 생략한다. 몇번의 반복된 트레이스백 이후, 트레이스백 로직(640)은 트렐리스에서 가장 가능성이 높은 경로를 찾을 수 있다. 도 8에서, 트레이스백 동작은 트레이닝 구간과 최대 우도 경로 탐색 동작이 완료된 후 수행된다.
도 8은 본 실시 예에 따른 비터비 디코더에 의한 40비트 코드를 위한 디코딩 프로세스를 보여주는 도면이다. 도 8을 참조하면, 도 1의 입력 비트들은 현재 상태에서 다음 상태로 이동한다. n개의 출력 비트들은 코드 레이트 m/n에 기초하여 생성된다. 한 상태에서 다음 상태로의 이동을 "트렐리스(trellis)"라고 한다. 도 8은 K=3이고 m=1인 구속장을 가지는 컨볼루셔널 코드의 트렐리스도의 예를 보여준다. 위에서 설명한 바와 같이, 구속장은 인코딩 프로세스에서 사용된 비트들의 개수와 연관된다. K=3인 구속장에서, 가능한 상태들의 개수는 v-비트들(00, 01, 10, 11, v=2)과 대응하는 전체 상태들의 개수에 기초하여 결정된다. 트렐리스도는 주어진 상태에서 다음 상태로의 가능한 모든 이동들을 나타낸다. m=1인 Radix 2 구조에서, 하나의 상태에서 나오는 두개의 이동이 존재하고 하나의 상태로 들어가는 두개의 이동이 존재한다. m개의 입력 비트들에 대해 하나의 상태로 들어가고 나오는 2m개의 이동이 존재한다. 설명의 편의를 위해 여기서는 radix 2인 구조를 위주로 설명하지만, 이에 한정되지 않고 radix 4, radix 8 등의 구조들에도 적용이 가능할 것이다. 도 8은 j=0, 1, … , g-1 일때, j 상태에서 j+1 상태로의 모든 가능한 이동들을 보여주고, 도 8의 예에서 g는 40이다. 코드 레이트, 구속장, 상태의 개수 등은 인코더와 디코더의 다른 설정에 따라 달라질 수 있다.
도 8을 참조하면, 테일바이팅 컨볼루셔널 코드에 기초하여 인코딩된 물리적인 다운링크 제어 채널의 디코딩을 위해, 가능한 상태들 각각의 경로 메트릭 값들은 하나의 트레이닝 구간을 통해 업데이트 될 수 있다. 트레이닝 구간의 길이는 제어 정보로 인코딩되는 입력 비트들의 개수에 대응할 수 있다. 트레이닝 구간에서는 생존 경로(survival parh) 정보를 저장하지 않을 수 있다. 예를 들어, 트레이닝 구간이 최대 우도 경로 탐색과 트레이스백 동작들의 개시 전에 존재하는 경우, 트레이닝 구간에서는 소프트 비트들을 수신하고 생존 경로 정보를 저장하지 않고 경로 메트릭 값들을 업데이트 하기 위해 가산 비교 선택 동작을 수행할 수 있다. 최대 우도 경로 탐색 동작은 트레이닝 구간을 통해 얻어진 가능한 상태들 각각의 최종 경로 메트릭 값을 대응하는 상태의 초기 경로 메트릭 값으로 사용하고, 경로 메트릭 값들을 업데이트 하기 위해 가산 비교 선택 동작을 수행할 수 있다. 최대 우도 경로 탐색 동작은 트레이닝 구간을 통해 얻어진 가능한 상태들 각각의 최종 경로 메트릭 값을 대응하는 상태의 초기 경로 메트릭 값으로 하는 설정을 가지고 트레이닝 구간에서 수행된 계산을 수행할 수 있다.
도 9는 트레이닝 횟수가 2인 경우 비터비 디코더의 디코딩 흐름을 보여주는 도면이다. 도 9에서 보여지는 실시 예에 따르면, 테일바이팅 컨볼루셔널 코드에 기초하여 인코딩된 물리적인 다운링크 제어 채널의 디코딩을 위해, 가능한 상태들 각각의 경로 메트릭 값들은 하나 이상의 트레이닝 구간들을 통해 업데이트 될 수 있다. 하나의 트레이닝 구간의 길이는 인코딩된 제어 정보의 입력 비트들의 개수에 대응할 수 있다. 첫번째 트레이닝 구간을 포함하는 하나 이상의 트레이닝 구간들에서는 생존 경로 정보를 저장하지 않을 수 있다. 예를 들어, 두개의 트레이닝 구간이 최대 우도 경로 탐색과 트레이스백 동작들의 개시 전에 존재하는 경우, 첫번째 트레이닝 구간에서는 소프트 비트들을 수신하고 생존 경로 정보를 저장하지 않고 경로 메트릭 값들을 업데이트 하기 위해 가산 비교 선택 동작을 수행할 수 있다. 두번째 트레이닝 구간에서는 이전 트레이닝 구간을 통해 얻어진 가능한 상태들 각각의 최종 경로 메트릭 값을 대응하는 상태의 초기 경로 메트릭 값으로 사용하고, 경로 메트릭 값들을 업데이트 하기 위해 가산 비교 선택 동작을 수행할 수 있다.
도 10은 컨볼루셔널 디코더에 의해 동작되는 첫번째 트레이닝 구간에서 트렐리스도의 일부를 보여준다.
도 10을 참조하면, k+1 스텝의 경로 메트릭 값을 계산하기 위해, k 스텝의 경로 메트릭 값과 입력 데이터와 k 스텝과 k+1 스텝 간의 코드 워드 사이의 상관값인 브랜치 메트릭 값을 가산함으로써, 가산 동작이 수행된다. 도 10에서 보여지듯이, k+1 스텝의 Sc 상태의 경로 메트릭 값은 k+1 스텝에서 Sc 상태에 도달할 수 있는 두개의 경로 중 하나이다. 경로 메트릭 값은 첫번째 경로를 통해 k 스텝의 Sa 상태로부터 계산된다. k 스텝의 Sa 상태의 경로 메트릭 값은 -50이고, k 스텝의 Sa 상태와 k+1 스텝의 Sc 상태 사이의 브랜치 메트릭 값은 수학식 1에 의해 계산된 -5이다.
Figure 112016071640100-pat00001
Figure 112016071640100-pat00002
는 디코더에 수신된 비트들의 컨볼루셔널하게 인코딩된 시퀀스이고,
Figure 112016071640100-pat00003
이다.
기지국으로부터 전송된 코드 워드가 0인 경우,
Figure 112016071640100-pat00004
는 양의 값을 가질 수 있다. 기지국으로부터 전송된 코드 워드가 1인 경우,
Figure 112016071640100-pat00005
는 음의 값을 가질 수 있다. 이러한 설정에서,
Figure 112016071640100-pat00006
는 전송된 비트의 비트 값이 수신된 비트의 비트 값과 대응하는 경우, 음의 값을 가진다, 즉 전송기에 의해 전송된 비트와
Figure 112016071640100-pat00007
에 대응하는 비트는 모두 "0" 또는 모두 "1"이다.
다른 설정에서,
Figure 112016071640100-pat00008
이다.
이러한 설정에서,
Figure 112016071640100-pat00009
는 전송된 비트의 비트 값이 수신된 비트의 비트 값과 대응하는 경우, 양의 값을 가진다, 즉 전송기에 의해 전송된 비트와
Figure 112016071640100-pat00010
에 대응하는 비트는 모두 "0" 또는 모두 "1"이다.
Sk 상태에 대한 생존 경로의 마지막 스텝은 수학식 2로 정의된다.
Figure 112016071640100-pat00011
Figure 112016071640100-pat00012
은 트레이닝 구간의 마지막 스텝 또는 최대 우도 경로 탐색 동작의 마지막 스텝에서의 Sk 상태의 경로 값이다. 마지막 스텝은 테일바이팅 컨볼루셔널 코드 인코더로 입력된 정보 비트의 개수, 즉 도 1의 'g'이다.
Figure 112016071640100-pat00013
는 Sk 상태의 생존 경로 위 j 스텝의 브랜치 메트릭 값이고, I는 코드 레이트와 마지막 스텝을 곱한 값, 즉 도 1의 'h' 이다. 다시 말하면, I는 주어진 후보에 대해 인코더로부터 출력되는(또는 비터비 디코더로 입력되는) 테일바이팅 컨볼루셔널 코드로 인코딩된 비트들의 개수이다.
첫번째 트레이닝 구간의 마지막 스텝에서 각 상태의 최종 경로 메트릭 값은 수학식 2에서 보여지는 것과 같이
Figure 112016071640100-pat00014
Figure 112016071640100-pat00015
의 상관관계를 나타내는 브랜치 메트릭 값의 누적이다.
도 10의 예 에서, 코드 레이트는 3이고 브랜치 메트릭은 (r0c0+r1c1+r2c2)와 같다. 다른 경로 메트릭 값은 두번째 경로를 통해 k 스텝의 Sb 상태로부터 계산된다. k 스텝의 Sb 상태의 경로 메트릭 값은 -55이고, k 스텝의 Sb 상태와 k+1 스텝의 Sc 상태 사이의 브랜치 메트릭 값은 수학식 1에 의해 계산된 5이다. 여기에서, k 스텝의 Sb 상태와 k+1 스텝의 Sc 상태 사이의 코드 값
Figure 112016071640100-pat00016
는 k 스텝의 Sa 상태와 k+1 스텝의 Sc 상태 사이의 코드 값
Figure 112016071640100-pat00017
와 다르다. 컨볼루셔널 인코더와 디코더 설정에 따라 모든 브랜치의 코드 값
Figure 112016071640100-pat00018
는 미리 정해진다.
이러한 설정에서,
Figure 112016071640100-pat00019
는 수신된 비트의 비트 값과 대응하는 전송된 비트의 비트 값, 즉 전송기에서 전송된 비트와
Figure 112016071640100-pat00020
에 대응하는 비트가 모두 "0"이거나 모두 "1"인 경우 음의 값을 가진다. 데이터 에러가 없는 최소 경로 값은 수학식 3으로 설정된다.
Figure 112016071640100-pat00021
전송기에서 데이터를 인코딩할 때 사용한 실제 어그리게이션 레벨과 매칭되지 않는 잘못된 어그리게이션 레벨에 기초한 비터비 디코더에 제공된 수신된 데이터와 같은 랜덤 데이터 입력 또는 에러가 있는 데이터 입력이 디코딩 되는 경우,
Figure 112016071640100-pat00022
는 양의 값을 가지는
Figure 112016071640100-pat00023
를 포함한다. 따라서,
Figure 112016071640100-pat00024
의 값은
Figure 112016071640100-pat00025
보다 크다. 수학식 4는 하나 이상의
Figure 112016071640100-pat00026
이 양수인 경우
Figure 112016071640100-pat00027
의 값을 보여준다.
Figure 112016071640100-pat00028
물리적인 다운링크 제어 채널 블라인드 디코딩에서, 디코더에서 디코딩을 위해 설정된 어그리게이션 레벨이 전송기에서 테일바이팅 컨볼루셔널 코드 인코딩 시 실제로 설정된 어그리게이션 레벨과 매칭되지 않는 경우, 디코딩 데이터는 랜덤 데이터 특성을 보인다. 따라서,
Figure 112016071640100-pat00029
는 증가하고
Figure 112016071640100-pat00030
또한 증가한다. 이러한 특성 때문에
Figure 112016071640100-pat00031
는 수신된 데이터가 디코딩을 위한 추정된 어그리게이션 레벨과 같은 적절한 추정으로 정확하게 디코딩된 것인지 결정하기 위해 사용될 수 있다.
그러나, 수신된 데이터의 평균 입력 레벨이 낮은 경우,
Figure 112016071640100-pat00032
는 상대적으로 작은 값을 가질 수 있다. 수신된 데이터의 평균 입력 레벨이 높은 경우,
Figure 112016071640100-pat00033
는 상대적으로 큰 값을 가질 수 있다. 수신된 데이터가 적절한 추정으로 정확하게 디코딩된 것인지 더 정확하게 예측하기 위해, 평균 입력 레벨의 효과는 정규화(normalize)를 사용함으로써 제거될 수 있다. 예를 들어, 정규화된 최소 경로 메트릭 값은 수학식 5로 정의될 수 있다.
Figure 112016071640100-pat00034
데이터 에러가 없는 정규화된 최소 경로 메트릭 값은 수학식 6으로 결정된다.
Figure 112016071640100-pat00035
데이터 에러가 존재하는 경우, 정규화된 최소 경로 메트릭 값은 -1보다 크다.
더 나아가, 정규화된 최소 경로 메트릭 값의 소수점의 오른쪽으로 하나 이상의 숫자들을 평가하고 비교하기 위해, 스케일링 파라미터가 정규화된 최소 경로 메트릭 값에 곱해질 수 있다. 수학식 7은 스케일링 파라미터 2n이 사용된 예를 보여준다.
Figure 112016071640100-pat00036
이 수학식에서 n은 스케일링 정도를 결정하는 정수이다. 그러나, 스케일링 파라미터는 이에 한정되지 않는다.
데이터 에러가 존재하지 않는 경로 메트릭 값이 가장 큰 값을 가지는 다른 설정에서, 데이터 에러가 없는 최대 경로 메트릭 값은 수학식 8에 따라 결정된다. 이 설정은
Figure 112016071640100-pat00037
이 양의 값을 가지는 경우, 전송된 비트의 비트 값이 수신된 비트의 비트 값에 대응하는 경우, 즉 전송기에 의해 전송된 비트와
Figure 112016071640100-pat00038
에 대응하는 비트가 모두 "0"이거나 모두 "1"인 경우 설정될 수 있다.
Figure 112016071640100-pat00039
전송기에서 데이터를 인코딩할 때 사용한 실제 어그리게이션 레벨과 매칭되지 않는 잘못된 어그리게이션 레벨에 기초한 비터비 디코더에 제공된 수신된 데이터와 같은 랜덤 데이터 입력 또는 에러가 있는 데이터 입력이 디코딩 되는 경우,
Figure 112016071640100-pat00040
는 음의 값을 가지는
Figure 112016071640100-pat00041
를 포함한다. 따라서,
Figure 112016071640100-pat00042
의 값은
Figure 112016071640100-pat00043
보다 작다. 수학식 9는 에러로 인해 하나 이상의
Figure 112016071640100-pat00044
이 음수인 경우
Figure 112016071640100-pat00045
의 값을 보여준다.
Figure 112016071640100-pat00046
유사하게, 수신된 데이터가 적절한 추정으로 정확하게 디코딩된 것인지 더 정확하게 예측하기 위해, 평균 입력 레벨의 효과는 정규화를 사용함으로써 제거될 수 있다. 예를 들어, 정규화된 최대 경로 메트릭 값은 수학식 10으로 정의될 수 있다.
Figure 112016071640100-pat00047
데이터 에러 없는 정규화된 최대 경로 메트릭 값은 수학식 11로 결정된다.
Figure 112016071640100-pat00048
수학식 7과 유사하게, 스케일링 파라미터는 수학식 11에 곱해질 수 있다. 수학식 12는 스케일링 파라미터가 적용된 경우의 예를 보여준다.
Figure 112016071640100-pat00049
이 수학식에서 n은 스케일링 정도를 결정하는 정수이다. 그러나, 스케일링 파라미터는 이에 한정되지 않는다.
도 11은 본 실시 예에 따른 비터비 디코딩의 조기 종료 프로세스를 보여주는 순서도이다.
S1110 단계에서, 비터비 디코더는 주어진 후보에 대한 블라인드 디코딩을 개시를 결정한다. 후보는 어그리게이션 레벨, 개시 제어 채널 엘리먼트 등과 같은 하나 이상의 파라미터들에 관한 다양한 추정들을 가진 제어 정보일 수 있다. LTE 시스템에서, 후보는 다운링크 제어 정보를 포함하는 물리적인 다운링크 제어 채널일 수 있다.
S1120에서, 비터비 디코더는 트렐리스도의 마지막 스텝에서 가능한 상태들 각각이 최종 경로 메트릭 값을 가지도록 브랜치 메트릭 값들과 경로 메트릭 값들을 계산하여 트레이닝을 수행할 수 있다. 비터비 디코더는 트렐리스도의 마지막 스텝에서 가능한 모든 상태들의 최종 경로 메트릭 값들로부터 최소 경로 메트릭 값을 결정할 수 있다. 최소 경로 메트릭 값은 수학식 13에 정의된 값일 수 있다.
Figure 112016071640100-pat00050
q는 2v, k는 1, 2, …, q 이고, v는 테일바이팅 컨볼루셔널 코드 인코더 내 쉬프트 레지스터의 개수이다(도 1 참조).
예를 들어,
Figure 112016071640100-pat00051
는 가능한 상태들의 최종 경로 메트릭 값들 중 최소 값을 가질 수 있다. 이 경우,
Figure 112016071640100-pat00052
이다.
Figure 112016071640100-pat00053
를 결정한 후, 정규화된 경로 메트릭 값이 결정될 수 있다(수학식 5 또는 수학식 7 참조).
S1130 단계에서, 비터비 디코더는 정규화된 경로 메트릭 값이 정규화된 경로 메트릭 임계값보다 작은지에 대해 결정할 수 있다. 일 예에서, S1130단계는 도 6의 경로 메트릭 분석기(630)에 의해 수행될 수 있다. 경로 메트릭 분석기(630)는 비터비 디코딩 프로세스의 조기 종료를 결정하기 위해 경로 메트릭-관련 값이 경로 메트릭-관련 임계값보다 작은지에 대해 결정할 수 있다. 도 11의 예에서, 경로 메트릭-관련 값은 트레이닝 구간 완료 후 트렐리스도의 마지막 스텝에서 가능한 모든 상태들의 최종 경로 메트릭 값들로부터 결정된 최소 경로 메트릭 값의 정규화된 값인 "정규화된 경로 메트릭 값"이다. 경로 메트릭-관련 임계값은 도 11의 예에서 정규화된 경로 메트릭 임계값 T이다. 정규화된 경로 메트릭 값이 정규화된 경로 메트릭 임계값 T보다 작지 않은 경우, S1170 단계에서, 비터비 디코더는 현재 후보의 디코딩을 종료하고 다음 후보의 블라인드 디코딩을 개시한다.
정규화된 경로 메트릭 값이 정규화된 경로 메트릭 임계값 T보다 작은 경우, S1140 단계에서, 비터비 디코더는 트레이닝 구간에 남아 설정에 따라 추가 트레이닝 동작을 수행한다. S1140 단계에서, 비터비 디코더는 각 상태의 최종 경로 메트릭 값을 대응하는 상태의 초기 경로 메트릭 값으로 각각 설정하여 추가적인 트레이닝 동작을 수행할 수 있다. S1140 단계 완료 후, S1150 단계가 비터비 디코더에 의해 수행된다. 경우에 따라, 비터비 디코더의 디코딩 프로세스 내의 각 후보에 대해 오직 하나의 트레이닝 구간만이 존재하도록 설정되는 경우, S1140 단계는 생략될 수 있고, S1150 단계에서, 비터비 디코더는 각 상태의 최종 경로 메트릭 값을 대응하는 상태의 초기 경로 메트릭 값으로 각각 설정하여 최대 우도 경로 탐색 및 트레이스백 동작을 수행할 수 있다. S1160 단계에서, 현재 후보의 디코딩을 검증하기 위해 순환 중복 검사가 수행된다. S1170 단계에서는, 다음 후보에 대해 블라인드 디코딩이 개시된다. 다시 말해, S1110 단계부터 S1170 단계는 다음 후보에 대해 반복된다.
도 12는 비터비 디코더에서 트레이닝 횟수가 2인 경우 도 11의 조기 종료 프로세스를 보여주는 도면이다.
도 12에서 보여지듯이, 하나의 트레이닝 구간이 완료되고 나서, S1530 단계에서, 정규화된 경로 메트릭 값은 정규화된 경로 메트릭 임계값 T와 비교된다. 그 비교값을 기초로, 현재 후보에 대한 비터비 디코딩의 조기 종료가 결정될 수 있다. 조기 종료가 결정되지 않으면, 남은 트레이닝, 최대 우도 경로 탐색, 및 트레이스백 동작이 현재 후보에 대해 수행된다. 특이한 환경을 제외하고는, 하나의 트레이닝 구간 이후 최종 경로 메트릭 값들이 수신된 비트들의 특성과 물리적인 다운링크 제어 채널 후보에 대한 잘못 가정된 어그리게이션 레벨과 같은 잘못 가정된 파라미터를 가지는 수신된 비트들의 랜덤한 특성들을 나타내기 때문에, 하나의 트레이닝 구간 이후 계산된 정규화된 경로 메트릭 값은 도 14 및 도 15에서 보여지는 조기 종료의 결정을 위한 신뢰할 만한 파라미터이다. 잘못된 후보들의 다수에 대해 조기 종료가 수행되는 경우, 이후 트레이닝들, 최대 우도 탐색, 및 트레이스백 동작은 잘못된 후보들에 대해 생략될 수 있다. 경로 메트릭-관련 임계값 T이 적절하게 설정되는 경우, 비터비 디코더의 전반적인 디코딩 시간과 디코딩을 위한 전력 소비는 현저하게 줄어들 수 있다. 더 나아가, 최종 경로 메트릭 값들이 이미 계산되고, 최대 경로 메트릭 값의 결정과 임계값 비교 동작의 추가는 프로세싱 오버로드를 크게 증가시키지 않는다.
정규화된 경로 메트릭 임계값 T의 결정
수학식 4 및 수학식 5는
Figure 112016071640100-pat00054
이 수신된 비트
Figure 112016071640100-pat00055
와 최선의 경로의 코드 워드
Figure 112016071640100-pat00056
사이의 상관값(correlation value)임을 제안한다. 도 12의 예 에서,
Figure 112016071640100-pat00057
의 값이 -1에서 1까지 증가함에 따라 디코딩 실패율은 증가한다. 예를 들어, 수신된 비트 특성들이 에러율이 5% 이하일 때 입력 심볼 에러가 치유될수 있다고 보여지는 경우, 에러율이 5%보다 큰 에러는 순환 중복 검사 이후 디코딩 실패로 이어지기 쉽다. 따라서, 하나의 트레이닝 이후 디코딩 동작은 시간과 다른 리소스의 낭비일 수 있다. 특히, 5%의 에러율을 가지는
Figure 112016071640100-pat00058
는 수학식 4에 따라 아래와 같이 표현될 수 있다.
Figure 112016071640100-pat00059
따라서, 5% 이상의 에러율을 가지는 경우 비터비 디코더의 조기 종료를 수행하기 위해,
Figure 112016071640100-pat00060
와 비교하기 위한 정규화된 경로 메트릭 임계값 T는 -0.9(스케일링 안함) 또는 -0.9*2n(스케일링 파라미터 2n으로 스케일링 함)일 수 있다.
정규화된 경로 메트릭 임계값 T가 p%의 에러율보다 클 때 조기 종료를 위한 설정을 하는 경우, 정규화된 경로 메트릭 임계값 T는
Figure 112016071640100-pat00061
(스케일링 안함) 또는
Figure 112016071640100-pat00062
(스케일링 파라미터 2n으로 스케일링 함)으로 설정될 수 있다. 그러나, 스케일링 파라미터는 그에 한정되지 않는다. 더 나아가, 수신된 데이터와 마진의 에러 정정 특성을 고려하여, 정규화된 경로 메트릭 임계값 T는 오프셋(양의 값)이 가산됨으로써,
Figure 112016071640100-pat00063
또는
Figure 112016071640100-pat00064
보다 클 수 있다.
도 13은 서로 다른 두개의 정규화된 경로 메트릭 임계값 세팅들의 버려지는 후보들의 비율을 보여준다.
도 13의 시뮬레이션에서, 물리적인 다운링크 제어 채널은 어그리게이션 레벨 1에서 인코딩 되고, 블라인드 디코딩 프로세스들은 심볼 에러율이 2%인 임계값과 10%인 임계값을 가지고 수행된다. 도 13에서, 'MOD_STOP_x'는 조기 종료를 위한 정규화된 경로 메트릭 임계값 T가 (x*100)% 심볼 에러율에서 설정되는 것을 나타낸다. 조기 종료를 위한 정규화된 경로 메트릭 임계값 T가 2% 심볼 에러율에서 설정되는 경우, 블라인드 디코딩 후보들의 약 80%가 비터비 디코딩의 조기 종료에 의해 버려진다.
도 14는 도 13의 시뮬레이션에 따른 프레임 에러율(Frame Error Rate, FER)을 보여준다.
도 14에서, 두개의 정규화된 경로 메트릭 임계값은 비터비 디코딩 프로세스를 크게 악화시키지 않는다. 따라서, 정규화된 경로 메트릭 임계값이 물리적인 다운링크 제어 채널 디코딩에서 적절하게 설정되는 경우, 디코딩 프로세스의 조기 종료로 인해 디코딩 속도의 향상과 전력 소모 감소의 효과를 얻을 수 있다.
도 15는 다른 실시 예에 따른 비터비 디코더에서 트레이닝 횟수가 2인 경우 도 11의 조기 종료 프로세스를 보여주는 도면이다.
도 15에서 보여지듯이, 하나의 트레이닝 구간이 완료되고 나서, S1530 단계에서, 정규화된 경로 메트릭 값은 정규화된 경로 메트릭 임계값 T와 비교된다. 도 15의 예에서, 정규화된 경로 메트릭 값은 수학식 10 또는 수학식 12를 기초로 결정될 수 있다. 여기에서, 데이터 에러가 존재하지 않는 경우 경로 메트릭 값이 가장 큰 값을 갖고, 데이터 에러가 없는 최대 경로 메트릭 값은 수학식 8에 따라 결정된다. 이 설정은
Figure 112016071640100-pat00065
이 양의 값을 가지는 경우, 전송된 비트의 비트 값이 수신된 비트의 비트 값에 대응하는 경우, 즉 전송기에 의해 전송된 비트와
Figure 112016071640100-pat00066
에 대응하는 비트가 모두 "0" 이거나 모두 "1"인 경우 설정될 수 있다. 더 나아가, 트렐리스도의 마지막 스텝에서의 최대 경로 메트릭 값은 수학식 14에 의해 결정될 수 있다.
Figure 112016071640100-pat00067
q는 2v, k는 1, 2, …, q 이고, v는 테일바이팅 컨볼루셔널 코드 인코더 내 쉬프트 레지스터의 개수이다(도 1 참조). 정규화된 경로 메트릭 값
Figure 112016071640100-pat00068
은 수학식 10에 기초하여 결정될 수 있다.
S1530 단계의 비교에 기초하여, 현재 후보의 비터비 디코딩의 조기 종료가 결정될 수 있다. 조기 종료가 결정되지 않으면, 남은 트레이닝, 최대 우도 경로 탐색, 및 트레이스백 동작이 현재 후보에 대해 수행된다.
도 15의 예에서, 정규화된 경로 메트릭 임계값 T가 p% 보다 많은 에러를 가질 때 조기 종료되도록 설정되는 경우, 정규화된 경로 메트릭 임계값 T는
Figure 112016071640100-pat00069
(스케일링 안함) 또는
Figure 112016071640100-pat00070
(스케일링 파라미터 2n으로 스케일링 함)으로 설정될 수 있다. 그러나, 스케일링 파라미터는 그에 한정되지 않는다. 더 나아가, 수신된 데이터와 마진의 에러 정정 특성을 고려하여 오프셋(음의 값)이 정규화된 경로 메트릭 임계값 T에 가산될 수 있다.
본 실시 예에 따르면, 경로 메트릭-관련 임계값은 다이내믹하게 제어될 수 있다. 일 예에서, 서브 프레임에서 절반 보다 많은 후보들이 잘못된 후보들인 것으로 결정되는 경우, 경로 메트릭-관련 임계값은 남은 후보들에 대해 조기 종료가 적게 일어나도록 제어될 수 있다. 더 나아가, 경로 메트릭-관련 임계값은 경로 메트릭-관련 임계값들과 대응하는 후보들의 유효성을 비교하여 평가 될 수 있다. 예를 들어, 그러한 평가는 각 무선 프레임내 특정 서브프레임 내에서 주기적으로 수행될 수 있다. 특정 서브프레임 내에서, 경로 메트릭-관련 임계값을 정확하게 평가하기 위해 조기 종료는 수행되지 않을 수 있다.
도 16은 본 실시 예에 따른 컨볼루셔널 디코더에 의해 동작되는 트레이닝 구간의 트렐리스도의 일부를 보여준다.
도 16을 참조하면, Klast 스텝은 첫번째 트레이닝 구간의 마지막 스텝일 수 있다. 도 16에서, 가능한 상태 중, Sc 상태는 최소 경로 메트릭 값
Figure 112016071640100-pat00071
을 가진다.
좀 더 구체적으로는, 도 16에서, Klast 스텝에서 Sc 상태로 향하는 생존 경로는 경로 메트릭 값 PM1=(-55+10)=-45 과 경로 메트릭 값 PM2=(-70-10)=-80 를 비교하여 Klast-1 스텝에서의 Sb 상태로부터 Klast 스텝에서의 Sc 상태로의 경로와 Klast-1 스텝에서의 Sd 상태로부터 Klast 스텝에서의 Sc 상태로의 경로 사이에서 결정된다. -80이 -45보다 작으므로, Klast-1 스텝에서의 Sd 상태로부터 Klast 스텝에서의 Sc 상태로의 경로는 Klast 스텝에서의 Sc 상태로의 생존 경로의 마지막 브랜치로 결정된다. Klast 스텝에서의 최소 경로 메트릭 값을 가지는 상태에서 경로 메트릭 차이 θ, 즉 |PM1-PM2|는, 비터비 디코딩의 조기 종료를 결정하기 위해 경로 메트릭 차이 임계값 Tθ와 비교될 수 있다. 이러한 설정에서, Klast 스텝에서의 최소 경로 메트릭 값을 가지는 상태에서 경로 메트릭 차이 θ와 경로 메트릭 차이 임계값 Tθ는 경로 메트릭-관련 값과 경로 메트릭-관련 임계값으로 각각 사용될 수 있다. 경로 메트릭 차이 θ가 경로 메트릭 차이 임계값 Tθ보다 작은 경우 (또는 작거나 같은 경우), PM1과 PM2 간의 작은 차이는 순환 중복 검사 이후 디코딩 실패의 결과를 가질수 있으므로 비터비 디코더는 비터비 디코딩 프로세스의 조기 종료를 결정할 수 있다.
다른 예에서, Klast 스텝에서 다음 최소 경로 메트릭 값을 가지는 상태에서의 경로 메트릭 차이 θ2 또한 두번째 경로 메트릭 차이 임계값 Tθ2와 비교될 수 있다. θ와 θ2가 Tθ와 Tθ2보다 작은 경우, 비터비 디코딩의 조기 종료가 결정될 수 있다. 더 나아가, 두개 이상의 경로 메트릭 차이가 비터비 디코딩의 조기 종료를 결정하는 데 고려될 수 있다. 예를 들어, 최종 경로 메트릭 값들은 최소 값으로부터 분류되고, 가장 작은 네개의 최종 경로 메트릭 값들을 가지는 네개의 상태들이 선택될 수 있다. 경로 메트릭 차이들은 비터비 디코딩의 조기 종료를 결정하기 위해 가장 작은 네개의 최종 경로 메트릭 값들을 가지는 네개의 상태에 관하여 계산될 수 있다.
도 17은 본 실시 예에 따른 어플리케이션 프로세서(Application Processor, AP)를 포함하는 모바일 스테이션을 보여주는 블록도이다. 예를 들어, 어플리케이션 프로세서는 시스템온칩(system on chip, SoC)일 수 있다.
도 17을 참조하면, 모바일 스테이션(1000)은 어플리케이션 프로세서(1100), 외부 메모리(1200), 스토리지(1300), 디스플레이(1500), 및 사용자 인터페이스(1600)을 포함한다.
어플리케이션 프로세서(1100)는 외부 메모리(1200), 스토리지(1300), 디스플레이(1500), 및 사용자 인터페이스(1600)의 전반적인 동작을 제어할 수 있다. 일 실시 예에 따르면, 어플리케이션 프로세서(1100)는 시스템온칩으로 제공될 수 있다. 어플리케이션 프로세서(1100)는 안테나와 연결되는 무선 주파수 통신(radio frequency communication, RFC) 모듈(1110)을 포함한다. 다른 예에서, 무선 주파수 통신 모듈(1110)은 버스 연결과 같은 통신 인터페이스를 통해 어플리케이션 프로세서(1100)와 연결되는 별개의 무선 통신 모뎁 칩으로 구성될 수 있다.
외부 메모리(1200)는 어플리케이션 프로세서(1100)으로 프로세싱된 데이터와 사용자 인터페이스(1600)을 통해 입력된 데이터를 저장할 수 있다. 외부 메모리(1200)는 SRAM(Static Random Access Memory), MRAM(Magnetoresistive Random Access Memory), 임베디드 DRAM(embedded DRAM) 등들 중 적어도 하나를 포함할 수 있다. 그러나, 외부 메모리(1200)의 양상들은 그에 한정되지 않는다.
스토리지(1300)는 전원의 온/오프 조건과 상관없이 저장된 데이터를 보유하는 스토리지의 다양한 종류를 포함하는 휘발성 스토리지와 불휘발성 스토리지 중 적어도 하나일 수 있다. 예를 들어, 스토리지(1300)는 플래쉬 메모리, 하드디스크, ROM(Read Only Memory), PROM(Programmable Read Only Memory), EPROM(Electrically Programmable Read Only Memory), EEPROM (Electrically Erasable and Programmable Read Only Memory), PRAM(Phase-change RAM), MRAM(Magnetic RAM), RRAM(Resistive RAM), FRAM(Ferroelectic RAM)과 같은 다양한 종류 중 적어도 하나일 수 있다. 스토리지(1300)는 어플리케이션 프로세서(1100)의 제어에 대응하여 동작할 수 있다.
디스플레이(1500)는 어플리케이션 프로세서(1100)의 제어에 따라 모바일 스테이션(1000)에서 프로세싱된 정보를 디스플레이 한다. 어플리케이션 프로세서(1100)내 IP 블록들 중 하나는 디스플레이(1500)와 연결된 디스플레이 컨트롤러로 제공될 수 있다.
사용자 인터페이스(1600)는 모바일 스테이션의 동작을 제어하는 사용자 입력을 탐지하고, 그에 대응하는 입력 데이터를 생성한다. 사용자 인터페이스(1600)는 키 패드, 마우스, 손가락 스캔 센서, 돔 스위치, 터치패드, 조그 휠 등과 같은 사용자로부터 명령이나 정보를 탐지하는 입력 장치를 포함할 수 있다.
무선 주파수 통신 모듈(1110)은 IEEE 802.11과 같은 규약을 따르는 WLAN(Wireless Local Area Network) 통신 모듈과 LTE, LTE-A와 같은 규약을 따르는 셀룰러 무선 통신 모듈 중 적어도 하나를 포함할 수 있다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시 예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.

Claims (20)

  1. 테일바이팅 컨볼루셔널 코드(tail biting convolutional code, TBCC)로 인코딩된 데이터를 디코딩하는 비터비 디코더(Viterbi decoder, VD)를 포함하는 연산 장치에 있어서,
    상기 비터비 디코더는
    테일바이팅 컨볼루셔널 코드로 인코딩된 데이터를 수신하고,
    상기 인코딩된 데이터들로부터 복수의 스텝을 포함하는 트레이닝 구간(section)을 개시하기 위한 후보(candidate)를 선택하고,
    상기 후보의 상기 트레이닝 구간의 마지막 스텝에서 가능한 상태(state)들의 최종 경로 메트릭(path metric, PM) 값들을 결정하고,
    상기 최종 경로 메트릭 값들에 기초하여 경로 메트릭-관련 값을 결정하고,
    상기 경로 메트릭-관련(PM-related) 값에 기초하여 상기 후보에 대한 디코딩의 조기 종료를 결정하며,
    상기 비터비 디코더는
    상기 가능한 상태들의 상기 최종 경로 메트릭 값들로부터 최소 경로 메트릭 값을 결정하고,
    상기 최소 경로 메트릭 값을 정규화(normalize)함으로써 상기 경로 메트릭-관련 값을 계산하고,
    상기 경로 메트릭-관련 값과 심볼 에러율에 기초하여 결정되는 정규화된 경로 메트릭 임계값을 비교하는 연산 장치.
  2. 제1항에 있어서, 상기 경로 메트릭-관련 값은 상기 가능한 상태들의 상기 최종 경로 메트릭 값들로부터 선택된 최소 경로 메트릭 값 또는 최대 경로 메트릭 값이고,
    상기 비터비 디코더는 상기 경로 메트릭-관련 값과 경로 메트릭-관련 임계값(threshold)을 비교하고, 상기 비교에 기초하여 상기 조기 종료를 결정하는 연산 장치.
  3. 제1항에 있어서, 상기 비터비 디코더는
    상기 경로 메트릭-관련 값이 상기 정규화된 경로 메트릭 임계값보다 큰 경우 상기 조기 종료를 결정하는 연산 장치.
  4. 삭제
  5. 제1항에 있어서, 상기 비터비 디코더는
    상기 경로 메트릭-관련 값이 상기 정규화된 경로 메트릭 임계값보다 작은 경우 상기 조기 종료를 결정하는 연산 장치.
  6. 제1항에 있어서, 상기 비터비 디코더는
    상기 가능한 상태들의 상기 최종 경로 메트릭 값들로부터 적어도 2개의 최소 경로 메트릭 값들을 결정하고,
    상기 마지막 스텝에서 상기 적어도 2개의 최소 경로 메트릭 값들을 제공하는 가능한 상태에서 상기 적어도 2개의 최소 경로 메트릭 값들 간의 차이인 경로 메트릭 차이을 계산하고,
    상기 경로 메트릭 차이와 경로 매트릭 차이 임계값을 비교하고,
    상기 경로 메트릭 차이가 상기 경로 메트릭 차이 임계값보다 작은 경우 상기 조기 종료를 결정하는 연산 장치.
  7. 제1항에 있어서, 상기 비터비 디코더가 상기 조기 종료를 수행하지 않도록 결정하는 경우, 상기 비터비 디코더는
    상기 가능한 상태들의 상기 최종 경로 메트릭 값들을 다음 트레이닝 구간 또는 최대 우도(maximum likelihood, ML) 경로 탐색 동작에서 대응하는 가능한 상태의 초기 경로 메트릭 값으로 각각 설정하고,
    상기 최대 우도 경로 탐색 동작에서 생존 경로(survival path)를 탐색하고,
    상기 생존 경로와 연관된 데이터 비트들에 기초하여 16-비트 순환 중복 검사(Cyclic Redundancy Check, CRC)를 수행하고,
    상기 16-비트 순환 중복 검사에 기초하여 상기 후보가 맞는 후보인지 결정하는 연산 장치.
  8. 제1항에 있어서, 상기 비터비 디코더가 상기 조기 종료를 수행하도록 결정하는 경우, 상기 비터비 디코더는
    상기 후보에 대한 상기 디코딩을 중단하고,
    다음 후보에 대해 트레이닝 구간을 개시하는 연산 장치.
  9. 제1항에 있어서,
    상기 테일바이팅 컨볼루셔널 코드로 인코딩된 데이터는 다운링크 제어 정보(Downlink Control Information, DCI)를 포함하는 물리적인 다운링크 제어 채널(Physical Downlink Control Channel, PDCCH)에 대응하고,
    상기 비터비 디코더는 어그리게이션 레벨(aggregation level) 1, 2, 4 및 8 중 적어도 하나에 관한 복수의 후보들에 대해 블라인드 디코딩을 수행하는 연산 장치.
  10. 테일바이팅 컨볼루셔널 코드로 인코딩된 데이터를 컨볼루셔널 디코더에서 수신하는 단계;
    상기 인코딩된 데이터들로부터 복수의 스텝을 포함하는 트레이닝 구간을 개시하기 위한 후보를 선택하는 단계;
    상기 트레이닝 구간의 마지막 스텝에서 가능한 상태들의 최종 경로 메트릭 값들을 결정하는 단계;
    상기 가능한 상태들의 상기 최종 경로 메트릭 값들을 기초로 경로 메트릭-관련 값을 결정하는 단계;
    상기 경로 메트릭-관련 값을 기초로 상기 후보에 대한 디코딩의 조기 종료를 결정하는 단계;
    상기 가능한 상태들의 상기 최종 경로 메트릭 값들로부터 최소 경로 메트릭 값을 결정하는 단계;
    상기 최소 경로 메트릭 값을 정규화(normalize)함으로써 상기 경로 메트릭-관련 값을 계산하는 단계; 및
    상기 경로 메트릭-관련 값과 심볼 에러율에 기초하여 결정되는 정규화된 경로 메트릭 임계값을 비교하는 단계를 포함하는 테일바이팅 컨볼루셔널 코드로 인코딩된 데이터의 디코딩 프로세스 제어 방법.
  11. 테일바이팅 컨볼루셔널 코드로 인코딩된 데이터를 디코딩 하기 위한 디코더에 있어서,
    테일바이팅 컨볼루셔널 코드로 인코딩된 데이터를 수신하는 수신기(receiver);
    브랜치 메트릭(branch metric)을 계산하는 브랜치 메트릭 프로세서;
    인코딩된 데이터들로부터 복수의 스텝을 포함하는 트레이닝 구간(section)을 개시하기 위한 후보(candidate)를 선택하고, 상기 트레이닝 구간의 마지막 스텝에서 가능한 상태들의 최종 경로 메트릭 값들을 계산하는 경로 메트릭 프로세서; 및
    상기 가능한 상태들의 상기 최종 경로 메트릭 값들을 기초로 경로 메트릭-관련 값을 결정하고, 상기 경로 메트릭-관련 값과 경로 메트릭-관련 임계값을 기초로 상기 후보에 대한 디코딩의 조기 종료를 결정하는 경로 메트릭 분석기(analyzer)를 포함하며,
    상기 경로 메트릭 분석기는,
    상기 가능한 상태들의 상기 최종 경로 메트릭 값들로부터 최소 경로 메트릭 값을 결정하고,
    상기 최소 경로 메트릭 값을 정규화(normalize)함으로써 상기 경로 메트릭-관련 값을 계산하고,
    상기 경로 메트릭-관련 값과 심볼 에러율에 기초하여 결정되는 정규화된 경로 메트릭 임계값을 비교하는 디코더.
  12. 제11항에 있어서, 상기 경로 메트릭-관련 값은 상기 가능한 상태들의 상기 최종 경로 메트릭 값들로부터 선택된 최소 경로 메트릭 값 또는 최대 경로 메트릭 값이고,
    상기 경로 메트릭 분석기는 상기 비교에 기초하여 상기 조기 종료를 결정하는 디코더.
  13. 제11항에 있어서, 상기 경로 메트릭 분석기는
    상기 경로 메트릭-관련 값이 상기 경로 메트릭-관련 임계값보다 큰 경우 상기 조기 종료를 결정하는 디코더.
  14. 제13항에 있어서,
    상기 경로 메트릭-관련 임계값은 0.001% 에서 50%의 범위의 상기 심볼 에러율에 기초하여 결정되는 디코더.
  15. 제11항에 있어서, 상기 경로 메트릭 분석기는
    상기 경로 메트릭-관련 값이 상기 경로 메트릭-관련 임계값보다 작은 경우 상기 조기 종료를 결정하는 디코더.
  16. 제11항에 있어서, 상기 경로 메트릭 분석기는
    상기 가능한 상태들의 상기 최종 경로 메트릭 값들로부터 적어도 2개의 최소 경로 메트릭 값들을 결정하고,
    상기 마지막 스텝에서 상기 적어도 2개의 최소 경로 메트릭 값들을 제공하는 가능한 상태에서 상기 적어도 2개의 최소 경로 메트릭 값들 간의 차이인 경로 메트릭 차이을 계산하고,
    상기 경로 메트릭 차이와 상기 경로 메트릭-관련 임계값을 비교하고,
    상기 경로 메트릭 차이가 상기 경로 메트릭-관련 임계값보다 작은 경우 상기 조기 종료를 결정하는 디코더.
  17. 제11항에 있어서, 상기 경로 메트릭 분석기가 상기 조기 종료를 수행하지 않도록 결정하는 경우, 상기 디코더는
    상기 가능한 상태들의 상기 최종 경로 메트릭 값들을 다음 트레이닝 구간 또는 최대 우도 경로 탐색 동작에서 대응하는 가능한 상태의 초기 경로 메트릭 값으로 각각 설정하고,
    상기 최대 우도 경로 탐색 동작에서 생존 경로를 탐색하고,
    상기 생존 경로와 연관된 데이터 비트들에 기초하여 16-비트 순환 중복 검사(Cyclic Redundancy Check, CRC)를 수행하고,
    상기 16-비트 순환 중복 검사에 기초하여 상기 후보가 맞는 후보인지 결정하는 디코더.
  18. 제11항에 있어서, 상기 경로 메트릭 분석기가 상기 조기 종료를 수행하도록 결정하는 경우, 상기 디코더는
    상기 후보에 대한 상기 디코딩을 중단하고,
    다음 후보에 대해 트레이닝 구간을 개시하는 디코더.
  19. 제11항에 있어서,
    상기 테일바이팅 컨볼루셔널 코드로 인코딩된 데이터는 다운링크 제어 정보를 포함하는 물리적인 다운링크 제어 채널에 대응하고,
    상기 디코더는 어그리게이션 레벨 1, 2, 4 및 8 중 적어도 하나에 관한 복수의 후보들에 대해 블라인드 디코딩을 수행하는 디코더.
  20. 디스플레이;
    테일바이팅 컨볼루셔널 코드로 인코딩된 데이터를 디코딩하는 비터비 디코더를 포함하는 이동 통신 모뎀;
    상기 이동 통신 모뎀과 연결된 메모리; 및
    상기 이동 통신 모뎀과 연결되고 물리적인 다운링크 제어 채널을 수신하는 무선 안테나를 포함하는 모바일 장치에 있어서,
    상기 비터비 디코더는
    테일바이팅 컨볼루셔널 코드로 인코딩된 데이터를 수신하고,
    상기 인코딩된 데이터들로부터 복수의 스텝을 포함하는 트레이닝 구간을 개시하기 위한 후보를 선택하고,
    상기 후보의 상기 트레이닝 구간의 마지막 스텝에서 가능한 상태들의 최종 경로 메트릭 값들을 결정하고,
    상기 최종 경로 메트릭 값들에 기초하여 경로 메트릭-관련 값을 결정하고,
    상기 경로 메트릭-관련 값에 기초하여 상기 후보에 대한 디코딩의 조기 종료를 결정하며,
    상기 비터비 디코더는
    상기 가능한 상태들의 상기 최종 경로 메트릭 값들로부터 최소 경로 메트릭 값을 결정하고,
    상기 최소 경로 메트릭 값을 정규화(normalize)함으로써 상기 경로 메트릭-관련 값을 계산하고,
    상기 경로 메트릭-관련 값과 심볼 에러율에 기초하여 결정되는 정규화된 경로 메트릭 임계값을 비교하는 모바일 장치.
KR1020160093644A 2016-07-22 2016-07-22 경로 메트릭 값 기반의 디코딩 프로세스 제어 방법, 연산 장치 및 모바일 장치 KR102547476B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020160093644A KR102547476B1 (ko) 2016-07-22 2016-07-22 경로 메트릭 값 기반의 디코딩 프로세스 제어 방법, 연산 장치 및 모바일 장치
US15/339,264 US10439652B2 (en) 2016-07-22 2016-10-31 Method for controlling decoding process based on path metric value and computing apparatus and mobile device for controlling the same
CN201710022738.1A CN107645297B (zh) 2016-07-22 2017-01-12 控制解码处理的方法、计算设备及移动装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160093644A KR102547476B1 (ko) 2016-07-22 2016-07-22 경로 메트릭 값 기반의 디코딩 프로세스 제어 방법, 연산 장치 및 모바일 장치

Publications (2)

Publication Number Publication Date
KR20180010849A KR20180010849A (ko) 2018-01-31
KR102547476B1 true KR102547476B1 (ko) 2023-06-27

Family

ID=60988954

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160093644A KR102547476B1 (ko) 2016-07-22 2016-07-22 경로 메트릭 값 기반의 디코딩 프로세스 제어 방법, 연산 장치 및 모바일 장치

Country Status (3)

Country Link
US (1) US10439652B2 (ko)
KR (1) KR102547476B1 (ko)
CN (1) CN107645297B (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3741064B1 (en) 2018-01-16 2023-11-22 Lenovo (Singapore) Pte. Ltd. Rate-matching a data transmission around resources
US10778259B2 (en) * 2018-11-28 2020-09-15 Samsung Electronics Co., Ltd. Wireless communication device and method of operating the same
US10992323B2 (en) * 2019-02-01 2021-04-27 Micron Technology, Inc. Early decoding termination for a memory sub-system
US20230101789A1 (en) * 2020-03-23 2023-03-30 Telefonaktiebolaget Lm Ericsson (Publ) Accelerating bit error correction in a receiver
CN114531161B (zh) * 2022-02-23 2023-04-28 电子科技大学 一种多模列表维特比实现方法及译码器

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090103659A1 (en) * 2007-10-23 2009-04-23 Telefonaktiebolaget Lm Ericsson (Publ) Reduced-complexity decoding algorithms for tail-biting convolutional codes
US20160036465A1 (en) * 2014-07-29 2016-02-04 Intel IP Corporation Decoder and method for decoding an encoded sequence of bits

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3154679B2 (ja) 1996-10-18 2001-04-09 三菱電機株式会社 連接符号の誤り訂正復号装置及び復号方法
JP2005348412A (ja) 2004-06-02 2005-12-15 Samsung Electronics Co Ltd 移動通信システムにおける時分割多重フレームを検出する装置及び方法
KR100630168B1 (ko) 2004-08-09 2006-09-29 삼성전자주식회사 이동통신 시스템에서 비터비 디코더의 공유 방법 및 장치
CN101047472B (zh) * 2006-03-31 2013-02-06 世意法(北京)半导体研发有限责任公司 使用搜索深度维特比算法对咬尾卷积码的解码方法
US20090285323A1 (en) * 2008-05-15 2009-11-19 Sundberg Carl-Erik W Adaptive soft output m-algorithm receiver structures
US8185811B2 (en) 2007-08-17 2012-05-22 Kan Ling Capital, L.L.C. Robust joint erasure marking viterbi algorithm decoder
US20090089648A1 (en) 2007-10-01 2009-04-02 The Hong Kong University Of Science And Technology Low power viterbi decoder using scarce state transition and path pruning
US8238475B2 (en) 2007-10-30 2012-08-07 Qualcomm Incorporated Methods and systems for PDCCH blind decoding in mobile communications
US8325840B2 (en) * 2008-02-25 2012-12-04 Ntt Docomo, Inc. Tree position adaptive soft output M-algorithm receiver structures
US20110167323A1 (en) 2010-01-07 2011-07-07 Mediatek Inc. Error-Correcting Apparatus and Method Thereof
US8433975B2 (en) 2010-08-13 2013-04-30 Nxp B.V. Bitwise reliability indicators from survivor bits in Viterbi decoders
TW201233070A (en) 2011-01-26 2012-08-01 Ind Tech Res Inst Pre-decoded tail-biting convolutional decoder and decoding method thereof
CN102891690B (zh) * 2011-07-19 2017-02-22 上海无线通信研究中心 一种咬尾卷积码译码方法
WO2012163135A1 (zh) 2011-05-27 2012-12-06 上海无线通信研究中心 一种信道译码方法及译码器
US9564920B2 (en) * 2012-02-23 2017-02-07 Qualcomm Incorporated Method and apparatus for mitigation of false packet decodes due to early decoding
CA2910573C (en) 2013-05-03 2021-12-07 Ibiquity Digital Corporation Iterative forward error correction decoding for fm in-band on-channel radio broadcasting systems
KR102375951B1 (ko) * 2015-07-29 2022-03-17 삼성전자주식회사 오류 감소를 위한 디코딩 장치 및 방법
US9686783B1 (en) * 2015-11-11 2017-06-20 Mbit Wireless, Inc. Method and apparatus for PDCCH detection
CN105356893A (zh) * 2015-11-24 2016-02-24 中国科学院计算技术研究所 一种尾码可配置的Viterbi解码方法及解码器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090103659A1 (en) * 2007-10-23 2009-04-23 Telefonaktiebolaget Lm Ericsson (Publ) Reduced-complexity decoding algorithms for tail-biting convolutional codes
US20160036465A1 (en) * 2014-07-29 2016-02-04 Intel IP Corporation Decoder and method for decoding an encoded sequence of bits

Also Published As

Publication number Publication date
CN107645297B (zh) 2023-08-22
US10439652B2 (en) 2019-10-08
CN107645297A (zh) 2018-01-30
US20180026662A1 (en) 2018-01-25
KR20180010849A (ko) 2018-01-31

Similar Documents

Publication Publication Date Title
CN109314602B (zh) 用于错误检测编码的装置和方法
CN110089037B (zh) 用于极化码构造的装置和方法
KR102547476B1 (ko) 경로 메트릭 값 기반의 디코딩 프로세스 제어 방법, 연산 장치 및 모바일 장치
US11025278B2 (en) Polar coding encoding/decoding method and apparatus
US10361728B2 (en) Multiple-symbol combination based decoding for general polar codes
US20190190544A1 (en) Method and apparatus for generating a code word
JP2019533345A (ja) ポーラー符号を使用してデータを符号化するための方法及び装置
CN110326342B (zh) 一种用于指定编码子信道的有序序列的装置和方法
CN107911195B (zh) 一种基于cva的咬尾卷积码信道译码方法
US11088780B2 (en) Low complexity blind detection of code rate
US10560221B2 (en) Apparatus and methods for training-based channel code design
EP2599228B1 (en) Decoding techniques for tail-biting codes
CN109257140B (zh) 一种极化信道可靠度排序的方法、极化码编码方法及装置
CN109565287A (zh) 降级极化解码
JP2020521350A (ja) ポーラーコードレートマッチング方法および装置
US10581464B2 (en) Encoder device, decoder device, and methods thereof
US20080152045A1 (en) High-throughput memory-efficient BI-SOVA decoder architecture
US10826541B2 (en) Convolutional code decoder and convolutional code decoding method
JP5169771B2 (ja) 復号器および復号方法
US8929488B2 (en) Technique for processing encoded information in a wireless communication network
EP2605410B1 (en) Channel decoding method and tail biting convolutional decoder
CN112737600A (zh) 译码方法和译码器
CN116073958B (zh) 译码方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right