KR20170077844A - 가중식 순차 디코딩 - Google Patents

가중식 순차 디코딩 Download PDF

Info

Publication number
KR20170077844A
KR20170077844A KR1020160181433A KR20160181433A KR20170077844A KR 20170077844 A KR20170077844 A KR 20170077844A KR 1020160181433 A KR1020160181433 A KR 1020160181433A KR 20160181433 A KR20160181433 A KR 20160181433A KR 20170077844 A KR20170077844 A KR 20170077844A
Authority
KR
South Korea
Prior art keywords
sub
node
block
decoding
decoder
Prior art date
Application number
KR1020160181433A
Other languages
English (en)
Other versions
KR101923782B1 (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 앵스띠뛰 미네-뗄레콩
Publication of KR20170077844A publication Critical patent/KR20170077844A/ko
Application granted granted Critical
Publication of KR101923782B1 publication Critical patent/KR101923782B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/02Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas
    • H04B7/04Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas
    • H04B7/08Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas at the receiving station
    • 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/0047Decoding adapted to other signal detection operation
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/02Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas
    • H04B7/04Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas
    • H04B7/0413MIMO systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • H04L25/03006Arrangements for removing intersymbol interference
    • H04L25/03178Arrangements involving sequence estimation techniques
    • H04L25/03184Details concerning the metric
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • H04L25/03006Arrangements for removing intersymbol interference
    • H04L25/03178Arrangements involving sequence estimation techniques
    • H04L25/03203Trellis search techniques
    • H04L25/03242Methods involving sphere decoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/26Systems using multi-frequency codes
    • H04L27/2601Multicarrier modulation systems
    • H04L27/2626Arrangements specific to the transmitter only
    • H04L27/2627Modulators
    • H04L27/264Pulse-shaped multi-carrier, i.e. not using rectangular window
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/26Systems using multi-frequency codes
    • H04L27/2601Multicarrier modulation systems
    • H04L27/2647Arrangements specific to the receiver only
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/02Arrangements for detecting or preventing errors in the information received by diversity reception
    • H04L1/06Arrangements for detecting or preventing errors in the information received by diversity reception using space diversity
    • H04L1/0618Space-time coding
    • H04L1/0631Receiver arrangements

Landscapes

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

Abstract

본 발명의 실시예들은 통신 시스템에서 송신 채널을 통해 수신된 신호를 디코딩하는 디코더(10)로서, 상기 신호는 소정 세트의 값들로부터 선택된 정보 심볼들을 운반하고 신호 벡터와 연관되며, 상기 송신 채널은 채널 행렬에 의해 표현되는 상기 디코더(10)를 제공한다. 상기 디코더는 상기 채널 행렬에 관련된 행렬의 분할에 대응하여 상기 수신된 신호 벡터를 일 세트의 서브-벡터들로 분할하도록 구성된 서브-블록 분할 유닛(12); 각 서브-벡터에 대한 서브-블록 가중 계수를 계산하도록 구성된 적어도 하나의 가중 계수 계산 유닛(14); 및 상기 데이터 신호에 의해 운반된, 상기 송신된 심볼들을 나타내는 추정된 심볼들을 스택에 저장된 정보로부터 재귀적으로 결정하는 적어도 하나의 심볼 추정 유닛(11)을 포함한다.
상기 적어도 하나의 심볼 추정 유닛은 순차 디코딩 알고리즘의 적어도 한번의 반복을 적용하도록 구성되며, 상기 순차 디코딩 알고리즘은 다수의 노드들을 포함하는 디코딩 트리의 선택된 노드의 자식 노드들을 확장함으로써 스택을 반복적으로 채우는 것을 포함하고, 상기 디코딩 트리의 각 노드는 상기 수신된 신호의 적어도 일부분의 심볼의 후보 컴포넌트에 대응하며, 각 노드는 초기 메트릭을 할당받는다. 상기 심볼 추정 유닛은 상기 적어도 하나의 노드와 연관된 상기 메트릭으로부터 그리고 상기 적어도 하나의 노드가 속하는 상기 서브-벡터에 대해 계산된 상기 서브-블록 가중 계수로부터 상기 확장된 자식 노드들중 적어도 하나의 노드에 대한 변경된 메트릭을 계산하도록 추가로 구성되며, 상기 심볼 추정 유닛은 상기 적어도 하나의 노드에 상기 변경된 메트릭을 할당하도록 구성된다.

Description

가중식 순차 디코딩{WEIGHTED SEQUENTIAL DECODING}
본 발명은 디지털 통신에 관한 것으로서, 특히 수신된 데이터 신호를 순차적으로 디코딩하기 위한 방법들, 시스템들 및 컴퓨터 프로그램들에 관한 것이다.
과거 몇십년에 걸쳐 서비스들 및 어플리케이션들에 대한 수요가 급성장하였고, 이러한 수요에 통신 시스템들을 맞추기 위한 주요한 진보가 이루어졌다. 현대의 통신 시스템들은 하나 이상의 리소스들(예컨대, 대역폭, 송신 전력, 등)에 대한 액세스를 사용자에게 제공하는 무선 통신 시스템들을 포함한다. 서로 다른 무선 통신 시스템들이 현재 이용가능한데, 예컨대, 단일 안테나 또는 MIMO (Multiple Input- Multiple Output) 시스템과 같은 다중 안테나를 이용하는 단일 또는 다수의 송신기/수신기를 포함하는 셀룰러 및 무선 애드 혹(ad-hoc) 네트워크들이 이용 가능하다. MIMO 통신 시스템들은 다수의 안테나들 상에서 다수의 타임 슬롯들 동안 데이터를 통신하기 위한 공간 및 시간 차원들을 활용함으로써 데이터 송신율을 증가시킨다.
무선 통신 시스템의 주요한 도전과제는 수신된 신호들의 디코딩에 있다. 또한, 무선 통신 시스템에서, 하나 이상의 수신기들로 송신된 신호들은 페이딩, 간섭, 및 노이즈에 의해 영향받는 송신 채널에서 전달된다. 그에 따라, 수신기에 의해 수신된 신호들은 방해받은 상태일 수 있다(disturbed). 따라서, 디코더는 원래의 바람직한 신호를 정확하게 디코딩하는 것을 요구받는다.
디코더는 정보 심볼들의 수신된 벡터와 송신된 심볼들의 가능한 벡터들을 비교함으로써 수신된 신호로부터 하나 또는 다수의 송신기들에 의해 전달된 원래의 데이터를 추정한다. 몇가지 디코딩 방법들이 수신기들의 요구되는 성능 레벨 및 처리 능력에 따라 사용될 수 있다. 균일하게 분산된 정보 심볼들을 위한 최적의 디코딩 방법은 최대 우도 디코딩(maximum-likelihood (ML) decoding)으로 알려져 있다. 이는 최소의 검출 에러의 가능성을 제공한다. ML 디코더에 따라, 수신된 신호에 가장 가까운 정보 심볼들의 벡터(즉, 수신된 신호에 대해 최소 유클리드 거리를 갖는 벡터)는 바람직하다.
ML 디코딩 기준의 하나의 구현은 성운(constellation) 알파벳의 가능한 모든 값에 대한 철저한 탐색을 이용하는 것이다. 이 방법은 최적의 성능을 제공한다. 그러나, 성운 코드북(constellation codebook)의 크기 또는 송신 안테나들의 개수가 높을수록 고복잡도가 증가하며, 그에 따라, 이러한 기술들의 구현은 높은 공간 효율을 보장하도록 높은 성운 차수를 요구할 뿐 아니라 더 높은 다이버시티 차수를 보장하기 위해 증가하는 개수의 안테나를 요구하는 실제 시스템에서는 불가능하다.
디코더 복잡도를 고려하려 수신된 신호를 적절하게 디코딩하는, 다른 ML 기준-기반 디코딩 기술들이 스피어(Sphere) 디코더("E. Viterbo and J. Boutros. A universal lattice code decoder for fading channels. IEEE Transactions on Information Theory, 45(5):1639-1642, July 1999") 또는 쉬노르-유커너(Schnorr-Euchner) 디코더("C. P. Schnorr and M. Euchner. Lattice basis reduction: Improved practical algorithms and solving subset sum problems.In Math. Programming, pages 181-191, 1993")와 같이 제안되었다. 그러나, 이들 디코더들은 성운 크기나 안테나들의 개수가 증가함에 따라 증가하는 복잡도를 가진다. ZF(Zero-Forcing), ZF-DFE(Zero Forcing-Decision Feedback Equalizer), 및 MMSE(Minimum Mean Square Error) 디코더와 같은, 다른 차선의 저복잡도(low-complexity) 디코더들이 실제 시스템에서 구현되지만, 달성가능한 다이버시티 차수 및 에러 성능 면에서 열악한 성능을 나타낸다.
단일 또는 다수의 유저들 및/또는 단일 또는 다수의 안테나들을 이용하는, 선형 통신 시스템에서 적용가능한 또 다른 디코딩 알고리즘들은, ML 최적화 문제(디코딩 트리)의 트리 표현을 이용한 최적의 ML 디코딩 기준 및 트리 탐색을 구현한 격자 순차 디코더들("스택" 디코더 등)을 포함한다. 이러한 디코딩 알고리즘들은 철저한 탐색 방법에 대해 감소된 복잡도를 제공한다. 순차 디코더들에 의해 구현된 탐색 전략에 따라, 확장된 트리 노드들은 글로벌 스택(global stack)에 저장된다. 특히, 스택 디코더는 글로벌 스택에 디코딩 처리 동안 확장된 트리 노드들을 저장하고, 그 디코딩 메트릭들을 올림 차순에 따라 정렬한다.
순차 디코더들은 이하의 문헌에 개시된 스택 디코더(Stack decoder)와 같은, 최적-우선 트리-탐색(best-first tree-search)을 구현한 디코더들을 포함한다.
- "A.R. Murugan, H. El-Gamal, M.-O. Damen, and G. Caire. A unified framework for tree search decoding: Rediscovering the sequential decoder. IEEE Transactions on Information Theory, 52(3):933-953, March 2006";
- "F. Jelinek. Fast sequential decoding algorithm using a stack. IBM J. Res. Dev., 13(6):675-685, November 1969"
최적-우선 트리 탐색을 이용한 다른 타입의 격자 순차 디코딩 방법은 "R. Fano. A heuristic discussion of probabilistic decoding. IEEE Transactions on Information Theory, 9(2):64-74, April 1963"에 개시된 파노(Fano) 디코딩 방법으로 알려져 있다.
순차 디코더들은 전체 디코딩 복잡도를 개선한다. 그러나, 증가하는 성운 크기 및 많은 개수의 안테나들의 이유로, 스택 디코딩 기술은 높은 계산 복잡도를 요구한다. 이러한 복잡도를 감소하기 위해, SB-스택 디코더(Spherical-Bound Stack: SB-Stack)라고 칭해지는 다른 디코딩 기술이 "The Spherical Bound Stack Decoder"라는 명칭의 G.R. Ben-Othman, R. Ouertani, 및 A. Salah에 의한 논문(article)(In Proceedings of International Conference on Wireless and Mobile Computing, pages 322-327, October 2008.)에서 제안되어 있다. SB-스택 방식은 스택 탐색 전략에 스피어 디코더 탐색 영역을 결합하는데, 디코더는 스택 디코딩 전략을 구현한, 수신된 포인트에 중심을 갖는 구(sphere) 내부의 가장 가까운 벡터를 탐색한다. 구형의 탐색 영역은 각 디코딩된 심볼에 대해 탐색 구간을 부여한다. 각 트리 레벨에서 이들 구간들에 속한 노드들 만이 방문되어 확장된다.
격자 순차 디코더들은 선형 무선 통신 시스템에서 최적의 디코딩 방식으로서 강하게 부각되어 최적의 ML 디코딩 문제를 최소 누적 메트릭을 갖는 그래프-트리에서 경로의 탐색으로 감소시킨다.
통상적인 순차 디코더에서 최고의 핏(fit)(경로)을 결정하기 위해, ML 메트릭에 좌우되는 값은 트리에서 각 노드(소위 "메트릭")에 할당된다.
일부 통상적인 방식에서, 디코딩 트리의 주어진 레벨 k에서 각 노드에 대한 경로 메트릭은 바이어스 항 b 및 레벨 k에 좌우되는 항 "
Figure pat00001
"으로 감소될 수 있다.
바이어스 항은 디코더에 의해 수행되는 계산량을 제어하는 것을 허용한다. 또한, 바이어스 항은 디코더의 성능-복잡도 트레이드오프를 달성하는 것이 가능하게 한다.
ML 메트릭에서 바이어스 항의 도입에 따라, 스택, 파노(Fano) 및 SB-스택 디코더들을 포함하는 파라미터화된 순차 디코더들은 성능-복잡도 트레이드오프의 면에서 유연성을 제공한다. 그러나, 공간적으로 다중화되고 코딩된 MIMO 시스템에서 바이어스의 선택은 일반적으로 채널 통계 또는 노이즈 레벨을 고려함이 없이 결정론적으로 고정된다. "R. Fano. A heuristic discussion of probabilistic decoding. IEEE Transactions on Information Theory, 9(2):64-74, April 1963"에 개시된 방시과 같은, 컨벌루션 코드를 사용하는 다른 방식에서는, 바이어스를 위한 최적의 값이 정의되는데, 이것은 기본 코드의 코딩율에 대응한다. "O. Shalvi, N. Sommer, and M. Feder, Signal codes: Convolutional lattice codes, IEEE Transactions on Information Theory, 57(8):5203-5226, Aug 2011"에 기재된 바와 같은 톰린슨-하라시마(Tomlinson-Harashima) 쉐이핑(shaping)에 대한 통상적인 격자 코딩 결합에 대해, 높은 SNR 체제(regime)의 최적화된 값은
Figure pat00002
로 정의되는데,
Figure pat00003
은 송신 채널에 영향을 미치는 추가 노이즈의 변동을 나타낸다.
그러나, 기존 방식에서는 바이어스 파라미터의 값은 모든 트리 레벨들에 대해 동일하다. 이는 성능/복잡도의 면에서 충분하지 않은 유연성을 초래한다.
이들 문제점 및 다른 문제점을 해결하기 위해, 본 발명은 통신 시스템에서 송신 채널을 통해 수신된 신호를 디코딩하는 디코더를 제공하는데, 상기 신호는 소정 세트의 값들로부터 선택된 정보 심볼들을 운반하고 신호 벡터와 연관되며, 상기 송신 채널은 채널 행렬에 의해 표현되며, 상기 디코더는
- 상기 채널 행렬에 관련된 행렬의 분할에 대응하여 상기 수신된 신호 벡터를 일 세트의 서브-벡터들로 분할하도록 구성된 서브-블록 분할 유닛;
- 각 서브-벡터에 대한 서브-블록 가중 계수를 계산하도록 구성된 적어도 하나의 가중 계수 계산 유닛; 및
- 상기 데이터 신호에 의해 운반된, 상기 송신된 심볼들을 나타내는 추정된 심볼들을 스택에 저장된 정보로부터 재귀적으로 결정하는 적어도 하나의 심볼 추정 유닛;을 포함한다.
상기 적어도 하나의 심볼 추정 유닛은 순차 디코딩 알고리즘의 적어도 한번의 반복을 적용하도록 구성되며, 상기 순차 디코딩 알고리즘은 다수의 노드들을 포함하는 디코딩 트리의 선택된 노드의 자식 노드들을 확장함으로써 스택을 반복적으로 채우는 것을 포함하고, 상기 디코딩 트리의 각 노드는 상기 수신된 신호의 적어도 일부분의 심볼의 후보 컴포넌트에 대응하며, 각 노드는 초기 메트릭을 할당받느다. 상기 심볼 추정 유닛은 상기 적어도 하나의 노드와 연관된 상기 메트릭으로부터 그리고 상기 적어도 하나의 노드가 속하는 상기 서브-벡터에 대해 계산된 상기 서브-블록 가중 계수로부터 상기 확장된 자식 노드들중 적어도 하나의 노드에 대한 변경된 메트릭을 계산하도록 추가로 구성되며, 상기 심볼 추정 유닛은 상기 적어도 하나의 노드에 상기 변경된 메트릭을 할당하도록 구성된다.
일 실시예에서, 상기 디코더는 상기 채널 행렬로부터 QR 분해를 수행함으로써 직교 행렬 Q 및 상삼각 행렬 R을 사전에 결정하도록 구성될 수 있으며, 상기 서브-블록 분할 유닛은 상기 상삼각 행렬 R을 다수의 상삼각 서브-행렬들과 다수의 직교 서브-행렬들로 분할하도록 구성되며, 상기 다수의 상삼각 서브-행렬들의 개수는 2보다 크거나 동일하며, 상기 서브-블록 분할 유닛은 상기 수신된 신호 벡터의 각 서브-벡터가 상기 상삼각 서브-행렬들중 하나에 대응하도록 상기 수신된 신호 벡터를 일 세트의 서브-벡터들로 분할하도록 구성된다.
상기 디코더는 상기 직교 행렬의 전치 행렬을 상기 수신된 신호와 곱함으로써 상기 수신된 신호를 결정하도록 구성될 수 있다.
일부 실시예들에서, 상기 적어도 하나의 심볼 추정 유닛은 각 서브-벡터에 대응하는 상기 송신된 신호의 각 서브-블록의 적어도 하나의 추정을 재귀적으로 결정하도록 구성될 수 있으며, 소정의 서브-블록의 각 추정은 상기 사전에 처리된 서브-블록들의 적어도 하나의 추정으로부터 결정되며, 상기 심볼 추정 유닛은, 상기 사전에 처리된 서브-블록들의 적어도 하나의 추정을 이용하여 상기 송신된 신호의 각 서브-블록의 적어도 하나의 추정을 결정하는, 순차 디코딩 알고리즘의 적어도 한번의 반복을 적용한다.
소정의 서브-블록에 대해 계산된 상기 서브-블록 가중 계수는 각 서브-블록에 대해 동일하다.
대안적으로, 소정의 서브-블록에 대해 계산된 상기 서브-블록 가중 계수는 사전에 추정된 서브-블록들에 대해 결정된 상기 서브-블록 가중 계수들의 적어도 일부의 함수일 수 있다.
일 실시예에서, 소정의 서브-블록에 대해 계산된 상기 서브-블록 가중 계수는 신호대 잡음비(signal-to-noise ratio)의 함수일 수 있다.
대안적으로 또는 추가적으로, 상기 서브-블록 가중 계수는 상기 서브-블록에 대응하는 디코딩 트리의 일부의 레벨 및 서브-블록의 크기로 구성된 그룹에서 선택된 서브-블록 파라미터의 함수일 수 있다.
다른 실시예에서, 상기 서브-블록 가중 계수는 서브-블록들의 개수 및 서브-블록들의 차수로 구성된 그룹에서 선택된 분할 파라미터의 함수일 수 있다.
또 다른 실시예에서, 상기 서브-블록 가중 계수는 상기 서브-블록에 대응하는 상삼각 서브-행렬의 대각 컴포넌트들의 함수일 수 있다.
일부 실시예들에서, 상기 변경된 메트릭 계산 유닛은 상기 서브-블록 가중 계수만큼 상기 초기 메트릭을 감소시키도록 구성될 수 있다.
상기 변경된 메트릭 계산 유닛은 각 확장된 자식 노드에 대해 변경된 메트릭을 계산하도록 구성될 수 있다.
상기 변경된 메트릭 계산 유닛은 상기 선택된 세트의 확장된 자식 노드들의 각 노드에 대해 변경된 메트릭을 계산하도록 구성될 수 있다.
상기 메트릭 결정 유닛은 각 확장된 노드에 상기 초기 메트릭을 할당하도록 구성될 수 있으며, 상기 변경된 메트릭 계산 유닛은 스택 재정리 조건(stack reordering condition)의 검출에 응답하여 상기 스택에 저장된 각 노드에 대한 변경된 메트릭을 계산하도록 구성되며, 상기 디코더는 상기 스택의 노드들에 연관된 상기 변경된 메트릭들의 값들을 증가시킴으로써 상기 스택을 재정리하도록 구성될 수 있다.
상기 변경된 메트릭 계산 유닛은 종료 알람의 트리거에 응답하여 각 확장된 자식 노드에 대한 변경된 메트릭을 계산하도록 구성될 수 있다.
일부 실시예들에서, 상기 순차 디코딩 알고리즘은 스택 디코딩 알고리즘, 파노(Fano) 디코더, M-알고리즘을 구현한 디코더, 및 SB-스택 디코딩 알고리즘으로 구성된 그룹에서 선택될 수 있다.
또한, 인코딩된 신호를 수신하여 디코딩하는 수신기로서, 상기 신호를 디코딩하기 위해 상기 전술한 청구항들의 어느 한 항에 따른 디코더를 포함하는 수신기가 제공된다.
또한, 무선 통신 네트워크에서 데이터를 송신 및 수신할 수 있는 이동 장치로서, 신호를 수신하는 청구항 17에 따른 수신기를 포함하는 이동 장치가 제공된다.
본 발명은 또한, 통신 시스템에서 송신 채널을 통해 수신된 신호를 디코딩하는 방법을 제공하는데, 상기 신호는 소정 세트의 값들로부터 선택된 정보 심볼들을 운반하고 신호 벡터와 연관되며, 상기 송신 채널은 채널 행렬에 의해 표현되며, 상기 방법은,
- 상기 채널 행렬에 관련된 행렬의 분할에 대응하여 상기 수신된 신호 벡터를 일 세트의 서브-벡터들로 분할하는 단계;
- 각 서브-벡터에 대한 서브-블록 가중 계수를 계산하는 단계; 및
- 상기 데이터 신호에 의해 운반된, 상기 송신된 심볼들을 나타내는 추정된 심볼들을 스택에 저장된 정보로부터 재귀적으로 결정하는 단계;를 포함한다.
상기 추정된 심볼들을 재귀적으로 결정하는 단계는 순차 디코딩 알고리즘의 적어도 한번의 반복을 적용하는 단계를 포함하고, 상기 순차 디코딩 알고리즘은 다수의 노드들을 포함하는 디코딩 트리의 선택된 노드의 자식 노드들을 확장함으로써 스택을 반복적으로 채우는 것을 포함하고, 상기 디코딩 트리의 각 노드는 수신된 신호의 적어도 일부분의 심볼의 후보 컴포넌트에 대응하며, 각 노드는 초기 메트릭을 할당받으며, 상기 추정된 심볼들을 재귀적으로 결정하는 단계는 상기 적어도 하나의 노드와 연관된 상기 메트릭으로부터 그리고 상기 적어도 하나의 노드가 속하는 상기 서브-벡터에 대해 계산된 상기 서브-블록 가중 계수로부터 상기 확장된 자식 노드들중 적어도 하나의 노드에 대한 변경된 메트릭을 계산하는 단계를 더 포함하고, 상기 방법은 상기 적어도 하나의 노드에 상기 변경된 메트릭을 할당하는 단계를 포함한다.
또한, 본 발명은, 통신 시스템에서 송신 채널을 통해 수신된 신호를 디코딩하는 컴퓨터 프로그램 제품을 제공하는데, 상기 신호는 소정 세트의 값들로부터 선택된 정보 심볼들을 운반하고 신호 벡터와 연관되며, 상기 송신 채널은 채널 행렬에 의해 표현되며, 상기 컴퓨터 프로그램 제품은,
비일시적 컴퓨터 판독가능 저장 매체; 및
상기 비일시적 컴퓨터 판독가능 저장 매체에 저장되며 컴퓨터에 의해 실행될 때 프로세서가
- 상기 채널 행렬에 관련된 행렬의 분할에 대응하여 상기 수신된 신호 벡터를 일 세트의 서브-벡터들로 분할하고;
- 각 서브-벡터에 대한 서브-블록 가중 계수를 계산하고;
- 상기 데이터 신호에 의해 운반된, 상기 송신된 심볼들을 나타내는 추정된 심볼들을 스택에 저장된 정보로부터 재귀적으로 결정하도록, 동작시키는 명령들을 포함한다.
상기 프로세서는 순차 디코딩 알고리즘의 적어도 한번의 반복을 적용함으로써 추정된 심볼들을 재귀적으로 결정하도록 동작되며, 상기 순차 디코딩 알고리즘은 다수의 노드들을 포함하는 디코딩 트리의 선택된 노드의 자식 노드들을 확장함으로써 스택을 반복적으로 채우는 것을 포함하고, 상기 디코딩 트리의 각 노드는 상기 수신된 신호의 적어도 일부분의 심볼의 후보 컴포넌트에 대응하며, 각 노드는 초기 메트릭을 할당받으며, 상기 프로세서는 상기 적어도 하나의 노드와 연관된 상기 메트릭으로부터 그리고 상기 적어도 하나의 노드가 속하는 상기 서브-벡터에 대해 계산된 상기 서브-블록 가중 계수로부터 상기 확장된 자식 노드들중 적어도 하나의 노드에 대한 변경된 메트릭을 계산하고 상기 적어도 하나의 노드에 상기 변경된 메트릭을 할당하도록 추가로 동작된다.
본 발명의 추가적인 장점들은 첨부된 도면 및 상세한 설명을 검토하면 당업자에게 명백해진다. 어떠한 추가적인 장점들도 본 명세서에 통합되는 것을 의도한다.
본 명세서에 통합되어 그 일부를 구성하는 첨부된 도면은 다양한 실시예들을 도시하고 상기 제공된 본 발명의 일반적인 설명 및 이하 제공되는 실시예들의 상세한 설명과 함께 본 발명의 실시예들을 설명하기 위한 것이다.
도 1은 일부 실시예들에 따른 디코더를 모식적으로 나타낸다.
도 2는 디코딩 방법을 구현하는 예시적인 통신 시스템을 모식적으로 나타낸다.
도 3은 일부 실시예들에 따른 디코더의 구조를 나타내는 블록도이다.
도 4는 일 실시예에 따른 순차 서브-블록 디코딩 방법을 나타낸 흐름도이다.
도 5는 다른 실시예에 따른 순차 서브-블록 디코딩 방법을 나타낸 흐름도이다.
도 6은 상삼각 행렬의 예시적인 분할을 나타낸다.
도 7은 서브-블록들의 분할을 나타내는 ML 최적화 문제의 예시적인 트리 표현을 나타낸다.
도 8은 서브-블록 재귀적 접근에 따른 디코더를 나타내는 블록도이다.
도 9는 일부 실시예들에 따른 서브-블록 재귀적 디코딩 방법을 나타낸 흐름도이다.
도 10은 일부 실시예들에 따른 디코더의 예시적인 하드웨어 아키텍쳐를 모식적으로 나타낸다.
도 1을 참조하면, 본 발명의 일부 실시예들에 따른 디코더(10)가 도시되어 있다.
디코더(10)는 디코딩 알고리즘의 적어도 하나의 반복(iteration)을 적용함으로써 통신 시스템에서 송신 채널을 통해 수신된 신호 Yc를 디코딩하고 송신된 신호 의 추정
Figure pat00004
을 결정하도록 구성된다. 수신된 신호는 소정 세트의 값들로부터 선택된 정보 심볼들을 운반하고 신호 벡터(예컨대, 성운 알파벳(constellation alphabet)으로부터)에 의해 표현된다. 송신 채널은 채널 행렬 H ("채널 상태 행렬"이라고도 칭함)에 의해 표현된다.
순차 디코딩은 가장 가까운 격자 포인트 탐색 문제에 따라 디코딩 트리에서 후보 노드들을 탐색하고 서로 다른 길이의 이전에 조사된 경로들의 정리된(ordered) 리스트 또는 스택을 평행하게 채우는 것에 기반한다. 이하의 설명은 등가의 데이터 구조가 사용될 수 있더라도 설명의 목적을 위해 "스택"을 참조하여 이루어진다.
일부 실시예들에 따라, 디코더(10)는 스택에 저장된 정보로부터 데이터 신호에 의해 운반되는 송신된 심볼들을 나타내는 추정된 심볼들을 재귀적으로 결정하는 적어도 하나의 심볼 추정 유닛(110)을 포함하는데, 상기 심볼 추정 유닛(11)은 순차 디코딩 알고리즘(또한, "순차 디코딩 스텝들"이라고도 칭함)의 적어도 하나의 반복을 적용한다. 순차 디코딩 알고리즘은 복수개의 노드들을 포함하는 디코딩 트리의 선택된 노드의 자식 노드들을 확장함으로써 스텍을 반복적으로 채우도록 적용되며, 디코딩 트리의 각 노드는 수신된 신호의 적어도 일부에 의해 운반된 정보 심볼들의 후보 컴포넌트에 대응한다.
순차 디코딩은 채널 상태 행렬 H의 QR 분해에 기반할 수 있다.
디코딩 트리("탐색 트리" 또는 "논리 트리"라고도 칭함)는 예컨대, 2q QAM 성운에 속할 수 있는 성운 포인트들의 좌표들(컴포넌트들)에 의해 취해진 서로 다른 값들을 나타내는 데이터 구조를 형성한다. 디코딩 트리는 수신된 데이터 신호에 의해 운반된 정보 심볼들의 가능한 컴포넌트들을 나타내는 복수개의 노드들을 포함한다(수신된 데이터 신호는 예컨대, 실수값 표현에 따라 표현될 수 있다). 디코딩 트리에서의 노드들은 수신된 데이터 신호의 적어도 일부에 의해 운반된 심볼들의 서로 다른 가능한 값들을 나타낸다. 일부 실시예들의 이하 설명에서, 심볼들은 si로 지시되는데, si는 정보 심볼들의 송신된 벡터의 실수 및 허수 컴포넌트들을 나타내며, i는 n부터 1까지의 정수를 나타낸다.
디코딩 트리는 복수개의 레벨들, 브랜치들 및 경로들을 포함한다. 여기에서, 노드의 레벨은 심볼들의 벡터에서 디코딩된 정보 심볼의 랭크에 대응한다. 본 발명의 일부 실시예들의 이하의 설명에서, 노드의 레벨은 정보 심볼들의 벡터에서 심볼들의 역순서에 대응한다. 따라서, 트리의 제1 레벨에 있는 노드들은 정보 심볼들의 벡터의 마지막 컴포넌트에 대응하고, 제2 레벨은 정보 심볼들의 끝에서 두번째(penultimate) 컴포넌트에 대응한다. 어떠한 자식 노드(자식 노드는 "후계자(successor)"라고도 칭함)도 갖지 않는 노드는 "리프" 노드라고도 칭하며, 트리의 가장 낮은 레벨에 위치한다. 브랜치들은 '루트 노드'라고 일컫어지는 가상 노드로부터 출발한다 (루트 노드는 트리에서 가장 높은 노드이며, 어떠한 부모 노드도 가지지 않는다). 브랜치는 2개의 연속하는 레벨들에 위치하는 2개의 노드들 사이의 연결을 형성한다. 각 브랜치는 부분 유클리드 거리(partial Euclidean Distance)를 나타내는 메트릭 함수와 연관될 수 있다. 소정의 노드의 깊이(또는 크기)는 상기 소정의 노드로부터 디코딩 트리의 루트 노드까지의 경로의 길이를 나타낸다. n개의 송신된 정보 심볼들의 벡터(실수 표현(real value representation)으로)에 대해, 리프 노드는 깊이 n에서의 노드를 나타내며, 루트 노드로부터 리프 노드까지의 각 경로는 오리지날 정보 심볼들 (가능한 송신된 신호)의 벡터의 가능한 값에 대응한다. 수신된 신호와 가능한 송신된 신호 사이의 유클리드 거리는 대응하는 리프 노드의 메트릭 함수에 대응한다(이하, 메트릭은 "비용(cost)"으로도 지칭될 수 있다). 따라서, ML 솔루션은 가장 낮은 메트릭 함수를 갖는, 디코딩 트리에서의 경로에 대응한다. 노드의 메트릭은 데이터 신호가 고려된 수치에 의해 정의될 수 있다.
일부 실시예들의 이하의 설명에서, 노드 sk의 자식 노드들은 컴포넌트들 sk-1에 의해 표시되며, 트리에서 깊이 i의 경로는 길이 (n-i+1)의 벡터 (sn, sn -1, ...si)에 의해 표시된다.
순차 디코딩 알고리즘은 스택에서 선택된 세트의 확장된 노드들을 저장하며, 각 노드는 대응하는 메트릭과 연관되어 스택에 저장된다.
따라서, 스택은 후보 노드들을 포함하는데, 각 노드는 그 할당된 메트릭과 함께 스택에 유지된다. 디코딩 알고리즘의 반복은 트리의 리프 노드에 도달할때 까지 또는 종료 조건(termination condition)을 만족할 때까지 스택에서 최상위 노드를 재귀적으로 확장할 수 있다.
심볼 결정 유닛(11)은 확장된 자식 노드들 중에서 적어도 하나의 노드에 대한 초기 메트릭을 결정하기 위한 노드 메트릭 계산 유닛(110)을 포함한다. 초기 메트릭은 노드에 할당될 수 있다. 초기 메트릭은 루트 노드와 노드 사이의 경로에 의해 표현된 심볼들의 벡터와 수신된 신호 사이의 유클리드 거리의 함수를 표현할 수 있다.
심볼 결정 유닛(11)은 확장된 자식 노드들중 적어도 하나의 노드에 대한 변경된 메트릭을 계산하고, 변경된 메트릭을 노드에 할당하는 메트릭 변경 유닛(112)를 더 포함할 수 있으며, 변경된 메트릭은 노드의 초기 메트릭과, 노드가 속한 수신된 정보 심볼들의 서브-블록에 대해 계산된 서브-블록 가중 계수 b(k)로부터 계산될 수 있다.
본 발명의 어플리케이션에 따라, 각 확장된 자식 노드는 초기 메트릭 또는 변경된 메트릭을 할당받을 수 있다.
디코더는 채널 행렬 H에 관련된 행렬의 분할에 따라 수신된 신호 벡터를 일 세트의 서브-벡터들로 분할하도록 구성된 서브-블록 분할 유닛(12)을 포함할 수 있으며, 각 서브-벡터는 수신된 신호에 포함된 정보 심볼들 s (k) 의 서브-블록에 대응한다. 일부 실시예에서, 채널 행렬 H에 관련된 행렬은 채널 행렬 H의 QR 분해로부터 획득된 상삼각 행렬(upper triangular sub-matrix) R일 수 있으며, Q는 직교 행렬을 표시한다.
디코더(10)는 정보 심볼 s (k) 의 각 서브-블록에 대해 서브-블록 가중 계수 b(k)를 계산하도록 구성된 서브-블록 계수 결정 유닛(12)을 더 포함할 수 있다.
일부 실시예들에서, 서브-블록 가중 계수들은 모든 서브-블록들 또는 서브-블록들의 서브-세트에 대해 동일한 값을 가질 수 있다, 다른 실시예에서, 소정의 서브-블록 s(k)에 대한 서브-블록 가중 계수의 값은 서로 다른 파라미터들에 따라, 예컨대, 서브-블록에 관련된 하나 이상의 서브-블록 파라미터들 및/또는 정보 심볼들의 서브 블록들로의 분할에 관련된 하나 이상의 분할 파라미터들(예컨대, 블록들의 개수, 서브-블록들의 크기, 서브-블록들의 길이, 등) 및/또는 하나 이상의 다른 서브-블록들에 대해 결정된 서브-블록 가중 계수들에 따라 결정될 수 있다. 가중 계수들 b(k)은 SNR(Signal To Noise Ratio) 값 및/또는 채널 페이딩(fading)을 더 고려할 수 있다.
소정의 서브-블록에 대한 서브-블록 가중 계수는 나머지 서브-블록들에서 사용되는 가중 계수들에 좌우된다.
서브-블록-기반 가중 계수를 순차 디코딩 스텝들의 실행 동안 확장된 노드의 메트릭을 변경하도록 적용함으로써, 서브-블록들에 위치하여 노드들이 되는, 노드들이 선호될 수 있다. 이러한 유연성(flexibility)은 성능과 복잡도 간의 트레이드오프(tradeoff)를 향상시킬 수 있다.
가중 계수는 상삼각 행렬 R의 분할된 서브-행렬들의 엔트리들에 더 좌우될 수 있다. 예컨대, 높은 가중 계수는 대응하는 피드백 서브-행렬들 B( jk )이 많은 개수의 넌제로(non-zero) 엔트리들을 포함한다면, 인덱스 k의 서브-블록에 관련될 수 있다. 가중 계수를 도출하기 위한 이들 행렬들의 다수의 제로 엔트리들을 고려하여, 정보 심볼들의 서브-벡터들 간의 간섭을 정의하는 피드백 행렬들은 에러 전파를 감소시키고, 그에 따라 에러율을 감소시킨다.
일 실시예에서, 메트릭 변경 유닛(112)은 고려된 노드의 초기 메트릭로부터 서브-블록 가중 계수를 감산함으로써 변경된 메트릭을 결정할 수 있다.
일부 실시예들에서, 변경된 메트릭은 각 반복 동안 확장된 각 자식 노드에 대해 결정될 수 있다.
대안적으로, 변경된 메트릭은 스택에 저장된 각 노드에 대해 산출될 수 있으며, 노드들은 스택 재순서 활성화 조건(stack reordering activation condition)의 트리거에 응답하여 변경된 메트릭들에 의해 다시 순서가 정해진다.
다른 대안에 따라, 순차 디코딩 알고리즘은 종료 알람이 트리거될 때까지 디코딩 스텝들의 각 반복(iteration)에서 각 확장된 자식 노드로 초기 메트릭을 할당함으로써 디코딩을 시작할 수 있다. 순차 디코딩 알고리즘은 서브-블록 가중 계수들을 사용하여 각 확장된 자식 노드에 대해 변경된 메트릭을 계산함으로써 계속적으로 디코딩하여, 디코딩의 이른 종료를 가능하게 한다.
본 발명은 무선 선형 통신 시스템에서 구현될 수 있다. 통신 시스템은 통신 채널을 통해 복수개의 정보 심볼들을 동시에 송신하는 적어도 하나의 송신기와 독립적인 신호의 형태로 상기 송신기에 의해 송신된 정보 심볼들을 수신하는 적어도 하나의 수신기를 포함할 수 있다.
본 발명은 정보 데이터를 디코딩하는 무선 통신 시스템에서 구현될 수 있다. 통신 시스템은 통신 채널을 통해 복수의 정보 심볼들을 동시에 송신하는 적어도 하나의 송신기 및 독립적인 신호들의 형태로 송신기에 의해 송신된 심볼들을 수신하는 적어도 하나의 수신기를 포함한다. 통신 채널은 IEEE 802.11 (WiFi)이나 FBMC (Filter Banck Multicarrier) 등의 무선 표준들에서 채택된 OFDM (Orthogonal Frequency-Division Multiplexing) 변조와 같은 단일 또는 멀티캐리어 변조 포맷들을 사용할 수 있다. 멀티캐리어 통신 기술들은 주파수-선택적인 채널들을 컴뱃(combat)하고 간섭과 지연을 다루는데 사용된다. 또한, 통신 시스템은 다수의 송신기들/수신기들이 있는 경우 서로 다른 시스템 소스들에 대한 액세스를 제공하는 데 사용되는 다수의 액세스 기술들을 통합시킬 수 있다. 다수의 액세스 기술들의 예들은 광 통신 시스템들에 사용되는 CDMA (Code division multiple access) 또는 FDMA (Frequency Division Multiple Access)를 포함할 수 있다.
본 발명의 일 실시예는 예컨대, 어떤 MIMO (Multiple Input Multiple Output) 구성에 따라, MIMO 채널에서 송신되는 데이터의 디코딩에 대해 또는 다수의 사용자들의 검출에 대해, 수신기에서 통합될 수 있다.
본 발명의 다른 어플리케이션들에서, 통신 시스템은 액세스 네트워크, 메트로폴리탄 네트워크, 또는 컴퓨터 네트워크에서 예컨대, 통신 매체로서 사용되는 PDM-OFDM (Polarization Division Multiplexing-OFDM) 시스템과 같은 광섬유-기반 통신 시스템일 수 있다.
MIMO 통신 시스템에서 MIMO 디코딩에 적용될 때, 단일의 사용자 또는 다수의 사용자 디코딩에 대해, 수신된 신호 또는 채널 출력의 차원(dimension)은 송신기에서 신호 공간의 차원, 송신(Tx) 안테나들의 개수(nt) 및/또는 수신(Rx) 안테나들의 개수(nr)에 좌우된다.
MIMO 시스템은 송신 안테나들이 동일한 사용자에서 병치되는 집중식 구성을 나타낸다. 대안적으로, MIMO 시스템은 송신 안테나들이 통신 네트워크에서 분산고 서로 다른 사용자들에 위치된 분산식 MIMO 시스템(또는 멀티-사용자 MIMO)일 수 있다. 이러한 멀티-사용자 MIMO 구성들은 예컨대, 셀룰러 3G, 4G, 및 LTE 표준에서 적용되는 업링크 통신에서 또는 예컨대, 애드-혹(ad-hoc) 네트워트들(무선 센서 네트워크, 머신투머신 통신, 사물 인터넷 등)에서 적용되는 협력 통신(cooperative communications)에서 예컨대, 모바일 네트워크에서 사용될 수 있다.
무선 네트워크 환경은 복수의 기지국(발명의 응용 콘텍스트에 따라 "노드", "액세스 포인트", 또는 "셀"로도 지칭됨)을 포함할 수 있으며, 각 기지국은 하나 이상의 안테나들을 포함하는 송신기 및 수신기를 포함한다. 각 기지국은 무선 접속을 통해 다른 기지국들과 통신할 수 있다.
도 2를 참조하면, MIMO 송신이 사용되는 송신기와 수신기 사이에 예시적인 무선 통신 시스템(100)은 채널의 다양한 자유도에 따라 변조된 심볼들을 분배하도록 송신에서 STBC (Space Time Block Code) 코드를 구현한다. 기지국의 각 송신기(2)는 무선 통신 시스템에 따라 다른 기지국의 수신기(3)과 데이터를 교환한다. 무선 네트워크(100)는 집중식 아키텍쳐 (제어기가 기지국의 동작을 제어하도록 제공됨) 또는 비집중식 아키텍쳐(기지국은 서로 직접 통신할 수 있음)에 좌우될 수 있다. 사용자 단말기(무선 장치, 셀룰러 폰, 개인 정보 단말기 (personal digital assistants) 등)는 순방향 링크 또는 역방향 링크 상에서 하나 이상의 기지국과 통신할 수 있다. 사용자 단말기는 고정된 또는 이동 단말기일 수 있다.
MIMO 구성은 수신 안테나들의 개수 (nr)와 동일한 개수(nt)의 송신 안테나들을 포함하는 경우에 대칭형일 수 있다. 대안적으로, MIMO 구성은 수신 안테나들의 개수 (nr)가 송신 안테나들의 개수(nt)와 다른 경우, 비대칭형일 수 있다 (특히, 랭크 부족(rank deficiency)을 피하기 위해, 수신측에서 개수 nr은 송신측에서의 nt보다 높음).
송신기(2)는 노이지(noisy) MIMO 채널에 의해 신호를 수신기(3)에 송신할 수 있다. 데이터 송신기(2)는 기지국에 특히 통합될 수 있다. 송신기(2)는 예컨대,
- 컨볼루션 코드들을 제공하는 채널 코더(20),
- 심볼들을 전달하는 QAM 변기기로서의 변조기(21);
- 코드 워드를 전달하는 공간/시간 엔코더(22); 및
- 각각 OFDM 또는 FBMC 변조기와 관련된 nt개의 송신 안테나들(23)를 포함할 수 있다.
송신기(2)는 채널 코더(20)에 의해 제공된 콘볼루션 코드를 사용하여 입력으로서 수신된 바이너리 신호를 코딩하도록 구성될 수 있다. 이 신호는 변조 방식(예컨대, 직교 진폭 변조 2q -QAM)에 따라 변조기(21)에 의해 변조된다. 변조기(21)는 또한, 복소 심볼들을 발생시키는 변조 방식을 구현할 수 있으며, 각 복소 심볼은 심볼 si의 그룹에 속한다. 그에 따라 획득된 변조된 심볼들은 공간-시간 코더(22)에 의해 코딩되어 골든 코드(Golden Code)와 같은 ST 코드 워드를 형성한다("The Golden Code: A 2x2 Full-Rate Space-Time Code with Non-Vanishing Determinants", J. -C. Belfiore, G. Rekaya, E. Viterbo, IEEE Transactions on Information Theory, vol. 51, no. 4, pages 1432-1436, April 2005). STB 코드는 크기 nt*T의 복소 행렬(nt는 송신 안테나들의 개수를 나타내며, T는 STB 코드의 시간 길이임) 또는 공간 다중화(spatial multiplexing)(변조된 심볼들은 송신 안테나들에 직접 전송된다)에 기초할 수 있다.
그에 따라 발생된 코드 워드는 시간 영역(time domain)으로부터 주파수 영역으로 변환되어 nt개의 송신 안테나들 상에서 분배된다. 각 전용 신호는 선택적으로 필터링, 주파수 전위(frequency transposition) 및 증폭 후에, 각각의 OFDM 또는 FBMC 변조기에 의해 변조되며, 대응하는 송신 안테나(23) 상에서 전송된다.
수신기(3)는 또한, 기지국에 통합될 수 있다. 수신기(3)는 무선 채널에서 송신기(2)에 의해 송신된 신호 y를 수신하도록 구성될 수 있다. 채널은 노이지(noisy)일 수 있다(예컨대, 페이딩에 영향받는 AWGN (Additive White Gaussian Noise)를 갖는 채널). 송신기(2)에 의해 송신된 신호는 다수의 경로들로 인한 에코및/또는 넌-제로 상대 속도를 갖는 송신기 및 수신기로 인한 도플러 효과에 의해 더 영향받을 수 있다.
수신기(3)는 셀룰러 네트워크 노드-B(Node-B)와 같은 기지국에, 로컬 네트워크나 애드-혹 네트워크에서의 액세스 포인트에, 또는 무선 환경에서 동작하는 다른 인터페이싱 장치에 통합될 수 있다. 수신기(11)는 고정 또는 이동형일 수 있다. 예시적인 실시예에서, 수신기(3)는
- 신호 y를 수신하는 nr개의 안테나들 (33), 각 수신 안테나는 각 OFDM 또는 FBMC 복조기와 관련되며, OFDM 또는 FBMC 복조기들(nr개의 복조기들)은 각 수신 안테나에서 관찰되는 수신 신호 및 변조된 신호들을 전달하는 를 복조하도록 구성되며, 주파수/시간 변환기는 송신시 구현되는 시간/주파수 변환의 역 동작을 수행하고 주파수 영역에서 신호를 전달하는데 사용될 수 있다;
본 발명의 실시예들에 따른 디코딩된 신호를 전달하도록 구성된 공간/시간 디코더(10);
디코딩과 관련된 복조를 수행하도록 구성된 복조기(31);를 포함한다.
공간 다중화를 사용하여 nt개의 송신 안테나들 및 nr개의 수신 안테나들을 갖는 멀티-안테나 시스템(MIMO)에 의해 수신된 신호를 디코딩하는 레일리 페이딩 무선 멀티-안테나 시스템(Rayleigh fading wireless multi-antenna system)에 대하여 본 발명을 적용할 때, 복소값(complex-value) 벡터로서 수신된 데이터 신호 yc는 채널 출력의 복소값 표현에 따라,
Figure pat00005
에 의해 주어진다.
수식 (1)에서,
Figure pat00006
은 분포
Figure pat00007
에 따라 그려진 엘리먼트들의 채널 행렬 H의 복소값을 나타내며, sc는 송신된 데이터 신호 벡터를 나타내는 벡터 s의 복소값을 나타내며,
Figure pat00008
은 추가적인 백색 가우시안 노이즈 벡터 w의 복소값의 나타낸다. 수신된 신호 yc은 예컨대, 수식 (2)에 따라 실수 표현으로 변형될 수 있다.
Figure pat00009
수식 (2)에서,
Figure pat00010
Figure pat00011
은 복소값 입력 (벡터 또는 행렬)의 실수 부분 및 허수 부분을 각각 나타낸다.
등가의 채널 출력은 다음과 같이 다음과 같이 기재될 수 있다.
Figure pat00012
길이 T의 공간-시간 코드가 사용되는 실시예들에서, 채널 출력은 다음과 같이 주어진 등가의 채널 행렬 Heq을 갖는 수식 (3)의 동일한 형태로 기재될 수 있다.
Figure pat00013
수식 (4)에서,
Figure pat00014
은 근본적인 코드의 코딩 행렬에 대응한다. 비코딩된 방식 및 코딩된 방식은 동일한 실수값의 격자 표현이 되며,
(3)에서 획득된 등가의 시스템에 따라, 수신된 신호는 H에 의해 발생되고 노이즈 벡터 w에 의해 교란된 격자의 지점으로서 보여질 수 있다.
최적의 디코딩이 요구되면, 수신기는 에러 가능성의 최소화에 따라,
Figure pat00015
H 및 y에서 주어진 데이터로부터 원래 송신된 심볼 벡터의 추정치
Figure pat00016
를 결정하는 것을 시도하는 ML 디코더를 구현한다.
*수식 (5)에서, 한정된 서브세트(subset)
Figure pat00017
는 정보 심볼들의 실수 및 허수 부분들에 속하는 알파벳을 나타낸다. 예컨대, 복소 정보 심볼들을 구성하는 2M-ary QAM 성운을 사용하여, 알파벳은
Figure pat00018
(
Figure pat00019
는 예컨대, 복소 정보 심볼이 속하는 M-ary QAM 성운을 나타낼 수 있음)에 의해 주어진 정수 서브세트이다. ML 디코딩 하에서의 에러 가능성의 최소화는
Figure pat00020
에 의해 주어진 최소화 문제와 등가이다.
H는 완전히 알려지거나 수신기에서 추정되는 코히어런트 시스템을 가정하면, 최적의 ML 디코딩은 수식 (6)의 최적화 문제에 따라 등가의 수신된 신호 y로 가장 근접한 격자 포인트를 찾기 위해 H에 의해 발생된 n-차원의 격자에서 가장 가까운 벡터 문제를 해결하도록 감소한다.
따라서, ML 디코더는 수신된 벡터 y와 가정된 메시지 Hs 사이의 가장 작은 유클리드 거리를 산출하는 심볼 y를 선택한다. ML 디코더는 선택된 알파벳 등의 선택된 세트의 값들 내에 후보 벡터 s 사에서 이산 최적화 문제를 표현한다. 시스템(다수의 안테나들)의 높은 성운 사이즈 및 높은 차원의 경우에, 처절한 방식에서 ML 솔루션에 대한 탐색은 일반적으로 매우 높은 복잡도를 요구한다.
트리 탐색 전략을 구현하는 순차 디코더들은 디코딩 트리 구조를 사용하는 수신된 벡터에 가장 가까운 격자 포인트를 탐색한다. 이러한 순차 디코더에 대한 신호의 송신 전에, 프리-디코딩은 H = QR (Q는 직교 행렬을 나타내고, R은 상삼각 행렬을 나타낸다)이 되도록 채널 행렬의 QR 분해를 사용하여 수행될 수 있다. Q의 직교성이 주어지면, 수식 (3)이 다음 형태로 재기재될 수 있다.
Figure pat00021
Figure pat00022
을 나타냄으로써, 수식 (7)은
Figure pat00023
으로 재기재될 수 있다.
ML 디코딩 문제는
Figure pat00024
에 의해 주어진 등가의 시스템을 해결하는 것에 상당한다.
따라서, R의 삼각 구조는 순차 트리-탐색에 가장 가까운 포인트의 탐색을 감소시킨다. 트리의 노드들은 심볼들 si의 서로 다른 가능한 값들을 나타낸다.
도 3은 일부 실시예들에 따른 공간 시간 디코더(10)를 나타내는 블록도이다.
디코더(10)는 복소값 채널 행렬 HC을 실수값 등가 채널 상태 행렬 H로 변환하고 복소값 채널 출력 YC를 실수값 벡터 y로 변환하도록 구성된 복소-실수 변환기(201)를 포함할 수 있다.
디코더(10)는 H = QR이 되도록 채널 행렬의 QR 분해를 수행하는 QR 분해 유닛(203)을 포함하는데, Q는 직교 행렬을 나타내고, R은 상삼각 행렬을 나타낸다. 디코더(10)는 수신된 신호 벡터 y을 등가의 수신된 신호 벡터
Figure pat00025
으로 재기재하는 변경자 유닛(modifier unit)(204)을 더 포함할 수 있다.
일부 실시예들에서, 디코더(110)는 QR 분해 이전의 채널 행렬 H의 행과 열을 치환하는 행렬 치환 유닛(202)을 더 포함할 수 있다.
디코더(10)는 상삼각 행렬 R을 N개의 상삼각 서브-행렬들
Figure pat00026
Figure pat00027
개의 직교 서브-행렬들
Figure pat00028
으로 분할하도록 구성된 분할 유닛(12)을 포함할 수 있다.
분할 유닛(12)은
Figure pat00029
이 되도록 길이들 l k 를 갖는 N개의 서브-벡터들
Figure pat00030
을 획득하기 위해 심볼들 s의 벡터로 추가로 분할할 수 있다.
그에 따라, 상삼각 행렬 R은
Figure pat00031
이 되도록 N개의 상삼각 서브-행렬들
Figure pat00032
Figure pat00033
개의 직교 서브-행렬들
Figure pat00034
로 이루어진
Figure pat00035
개의 행렬들로 분할될 수 있다.
각 상삼각 서브-행렬
Figure pat00036
Figure pat00037
크기의 정방 행렬을 나타내며, 서브-벡터
Figure pat00038
에 대응한다. 또한, 각 서브-행렬
Figure pat00039
Figure pat00040
크기의 직사각 행렬을 나타내며, 블록 j부터 블록 k까지의 피드백 행렬에 대응한다.
서브-블록 계수 결정 유닛(14)은 분할 유닛(12)에 의해 결정된 각 서브-블록
Figure pat00041
과 연관된 서브-블록 가중 계수 b(k)를 결정하도록 구성된다. 일부 실시예들에서, 서브-블록 게수 결정 유닛(14)은 서브-블록들의 개수 N 및/또는 서브-블록들의 적어도 일부의 사이즈 lk과 같은 적어도 하나의 분할 파라미터를 사용하여 서브-블록 가중 계수를 결정할 수 있다. 서브-블록 가중 계수들 b(k)(또한,
Figure pat00042
으로 표시됨)는 순차 디코딩 알고리즘의 적어도 하나의 반복의 실행 동안 능동적으로 결정될 수 있거나, 미리 계산될 수 있다. 서브-블록 가중 계수들 b(k)가 미리 계산된 실시예들에서는, 서브-블록 가중 계수들 b(k)는 대응하는 서브-블록
Figure pat00043
에 관련하여 데이터 구조에 저장될 수 있다.
이제 도 4를 참조하면, 일부 실시예들에 따라 수신기(3)에 의해 실행될 수 있는 순차 디코딩 방법을 나타내는 흐름도가 도시되어 있다. 순차 디코딩 방법은 채널 행렬 H과 연관된 송신 채널에 의해 전달된 송신된 데이터 신호에 대응하는, 수신된 데이터 신호를 디코딩하기 위한 순차 디코딩 트리를 사용한다.
탐색 트리(이하, "디코딩 트리"라고도 칭함)는 전술한 바와 같은 프리-디코딩 단계에서 채널 행렬 H (H=QR)의 QR 분해를 통해 발생될 수 있는데, Qt는 직교 행렬을 나타내며, R은 디코딩 등가 시스템에서 수신된 신호와 Qt의 곱셈을 통한, 생성 행렬(generator matrix)("등가 채널 행렬"이라고도 칭함)을 나타낸다. 행렬 R의 상삼각 구조가 주어지면, ML 최적화 문제는 디코딩 트리의 생성에 기초하여 트리-탐색을 수행함으로써 해결된다. 빈 스택 또는 리스트는 또한 초기화될 수 있다.
단계 401에서, 루트 노드는 현재 노드로서 선택되며, (루트, 0)의 쌍이 최상위 위치에서 스택에 추가된다.
단계 402에서, 제1 심볼 x1의 모든 가능성들을 나타내는 루트 노드의 자식 노드들 (또는 후손 노드들)이 생성된다.
단계 403에서, 자식 노드
Figure pat00044
의 초기 메트릭이 결정된다. 초기 메트릭은 루트 노드와 고려되는 노드 사이의 경로와 수신 신호 사이의 유클리드 거리
Figure pat00045
로부터 결정될 수 있다.
단계 404에서, 현재 자식 노드 si가 어느 서브-블록
Figure pat00046
에 속하는지를 결정하고, 서브-블록
Figure pat00047
에 대응하는 서브-블록 가중 계수 b(k)가 결정된다 (또는 대안적으로, 서브-블록 가증 계수 b(k)가 이전에 계산되었다면 검색된다).
단계 405에서, 자식 노드의 변경된 메트릭
Figure pat00048
Figure pat00049
와 같이 계산될 수 있다.
서브-블록 가중 계수값은 트리에서 가장 앞선 노드들을 선호하도록 결정될 수 있다. 결과적으로, 디코딩 처리의 더 빠른 수렴은 가능해지며, 감소된 에러 디코딩 개연성을 허용한다. 디코딩 트리에서, 루트 노드와 고려되는 자식 노드 사이에 하나의 경로가 존재한다. 이 경로로부터, 대응하는 디코딩된 비트들 또는 루트 노드와 고려되는 자식 노드 사이에 송신되는 송신된 정보 시퀀스의 추정을 결정할 수 있다.
단계 403 내지 405는 단계 402(블록 407)에서 생성된 각 자식 노드에 대해 반복된다.
모든 자식 노드들이 처리되면, 단계 408에서, 스택의 최상위에 위치된 노드는 스탭으로부터 제거된다. 디코딩 단계들의 첫번째 반복에서, 최상위 노드가 루트 노드이다.
단계 409 내지 410에서, 모든 자식 노드들은 또는 일 세트의 자식 노드들은 스택에 삽입된다. 각 자식 노드 si는 단계 405에서 결정된 각 메트릭
Figure pat00050
과 함께 스택에 추가된다. 경로 및/또는 트리에서 자식 노드의 레벨과 같은 추가 데이터가 각 자식 노드와 연관되어 더 삽입될 수 있다.
단계 411에서, 스택의 노드들은 노드와 연관된 메트릭
Figure pat00051
의 내림 차순에 따라 저장된다.
단계 412에서, 스택의 최상위 노드 stop는 그 자식 노드들을 생성하기 위해 현재 노드로서 선택된다.
단계 413에서, 선택된 노드가 리프 노드인지가 결정된다. 선택된 노드가 리프 노드(자식 노드를 갖지 않는)이면, 디코딩 방법은 단계 415에서 종료된다. 디코더는 심볼들의 벡터의 추정을 리턴할 수 있다.
그렇지 않다면, 단계 414에서, 선택된 노드가 현재 노드로서 설정되고, 디코딩 트리의 다음 레벨 단계 401 내지 414가 새롭게 선택된 노드(스택에서 가장 낮은 메트릭을 갖는 노드를 나타냄)에 대해 반복되어 디코딩 트리의 다음 레벨 j에서 자식 노드들을 생성할 수 있는데, 여기에서 j는 n-1 과 1 사이에 포함된다. 다음 처리되는 레벨 j는 스택에서 선택된 최상위 노드에 좌우된다.
따라서, 단계 401 내지 414의 각 반복(현재 노드의 처리에 대응함)은 루트 노드와 스택에 저장된 새로운 리프 노드 사이의 경로를 제공한다.
수시된 신호는 스택에 저장된 노드 정보, 특히, 이러한 정보를 가용할 수 있을 때 스택에 저장된 경로(들)로부터 추정될 수 있다. 예컨대, 심볼 추정(하드 결정)이 적용된다면, 트리의 구성은 단계 401 내지 414의 한번의 반복을 구현하여, 송신된 데이터 신호의 하드 추정에 대응하여 단일 경로가 결정될 수 있도록 한다. 대안적으로, 확률적 추정(소프트 결정)이 적용된다면, 디코딩 방법은 LLR(Log-Likelihood Ratio) 값들의 형태로 소프트-출력 정보를 전달할 수 있다. 이 경우, 단계 401 내지 414의 몇번의 반복이 수행될 수 있다. 각 반복은 루트 노드로부터 리프 노드들까지 다른 경로(후보 격자 포인트를 나타냄)를 제공한다. 이들 서로 다른 경로들(후보 격자 포인트들을 나타냄)은 그 경로들과 함께 보조 스택에 저장될 수 있다. 정보 신호의 확률적 추정은 이들 경로들에 기초하여 결정될 수 있다. 소프트-출력 디코딩의 효율은 스택에 채워진 후보 격자 포인트들의 개수에 좌우된다.
유리하게는, 이러한 실시예는 소프트-출력 신뢰도 메트릭에 다수의 후보 격자 포인트들을 적응시킴으로써 신뢰성 있는 소프트-출력 결정들을 제공할 수 있으며, 더 나은 성능을 가능하게 한다.
단계 403에서 계산된 자식 노드(si)과 연관된 초기 메트릭
Figure pat00052
("기본 노드 메트릭(elementary node metric)"이라고도 칭함)은 루트 노드 sn으로부터 현재 노드 si까지의 경로에 포함된 트리에서 노드들의 메트릭들로부터 결정될 수 있다.
행렬 R의 삼각 구조는 순차 트리-탐색에 가장 가까운 포인트의 탐색을 줄여준다. 트리에서의 노드들은 심볼들 si의 서로 다른 가능한 값들을 나타내는데, 여기에서 i=1, ..., n에 대한 si는 정보 벡터 sc의 실수 및 허수 컴포넌트를 나타낸다. 트리 브랜치는 2개의 연속하는 노드들을 나타낼 수 있다 (si +1; si).
구체적으로, 트리에서 레벨 j에서의 노드의 메트릭
Figure pat00053
는 수신된 신호를 나타내는 벡터
Figure pat00054
의 j-번째(jth) 컴포넌트와 루트 노드 sn으로부터 레벨 j에서의 노드 sj까지의 트리의 노드 값들을 포함하는 벡터 (sn ... sj) 사이의 유클리드 거리로서 다음 수식 (11)에 따라 결정될 수 있다.
Figure pat00055
노드 sj의 누적된 메트릭 w(sj)는 루트 노드 sn으로부터 노드 sj까지 규정된 경로의 메트릭(즉, 경로에 포함된 트리의 노드들의 메트릭
Figure pat00056
의 합)을 나타냄을 유의해야 한다. 따라서, 이것은
Figure pat00057
에 따라 경로를 형성하는 서로 다른 노드들에 대한 모든 메트릭들의 합과 동일하다. 이 정의를 사용하면, 수식 (8)의 ML 메트릭 최소화는 최소 누적된 메트릭을 갖는 트리에서 경로를 탐색하는 것과 동일하다.
수식 (11)의 메트릭은 브랜치 (sj + 1;sj)에 대한 메트릭을 나타낸다. 행렬 R의 삼각 구조로 인해, 후보 격자 포인트들에 대한 탐색은 컴포넌트 sn으로부터 시작한다.
따라서, 일부 실시예들에 따른 노드 메트릭은 다음과 같이 결정될 수 있다.
Figure pat00058
수식 (12)에서, b(k)는 노드 sj가 속하는 정보 심볼들의 서브-블록
Figure pat00059
와 연관된 서브-블록 가중 계수 b(k)에 대응한다.
일 실시예에서, 서브-블록 가중 계수 b(k)는
Figure pat00060
컴포넌트들의 함수로서, 특히, 상삼각 행렬 R(채널 행렬로부터 도출된 행렬의 QR 분해로부터 얻어짐)의 분할로부터 획득된 대응하는 상삼각 서브-행렬 R(j)의 i번째 대각 엔트리로부터 단계 404에서 결정될 수 있다.
이는 상삼각 서브-행렬 R(j)의 대각 엘리먼트들
Figure pat00061
이 채널 품질을 특징 짓기 때문에 서브-블록들에 위치하여 노드들을 약속하는, 노드들을 선호하는 것을 가능하게 한다. 알고리즘의 수렴을 더 빠르게 하기 위해 채널 페이딩
Figure pat00062
의 높은 값들을 갖는 서브-블록들에 위치한 노드들은 작은 가중 계수를 그들에 할당함으로써 선호될 수 있다.
서브-블록 가중 계수 b(k)는 "Lattice Sequential Decoder for Coded MIMO Channel: Performance and Complexity Analysis". W. Abediseid and Mohamed Oussama Damen. CoRR abs/1101.0339 (2011)에 기재된 바와 같은 채널 변동
Figure pat00063
에 좌우되는 파라미터 b를 더 고려할 수 있다.
Figure pat00064
본 발명은 SB-스택에서 노드의 메트릭을 계산하는데 적용될 수 있다. SB-스택 디코더는 ML 디코딩 문제의 트리 표현을 사용하며, 루트 노드로부터 리프 노드까지의 각 경로는 가능한 송신된 신호이다. 루트 노드로부터 (내림 차순으로 트리의 가장 높은 차원으로부터) 시작하여, 모든 또는 일 세트의 자식 노드들 sn은 탐색되며, 각 탐색된 노드에 대해, 노드와 관련된 메트릭이 계산된다. 다음 부등식 (10)에 따라 구 제약(sphere constraint)을 만족하는 값을 갖는 노드들만이 생성되어 스택에 저장될 수 있다.
Figure pat00065
수식 (14)에 따른 ML 디코딩 문제의 삼각 구조를 이용하여, SB-스택 디코더는 수신된 신호 y를 나타내는 포인트 y에 중심을 가지며 반경
Figure pat00066
를 갖는 구
Figure pat00067
내부의 격자 포인드들의 일 세트를 결정한다.
부등식
Figure pat00068
는 다음과 같이 재기재될 수 있다.
Figure pat00069
수식 (15)에서, R은 n x n 행렬이고,
Figure pat00070
는 n-차원 벡터이다.
그에 따라, 최소화 문제 (ML 솔루션)
Figure pat00071
는 아래와 같이 다시 기재할 수 있다.
Figure pat00072
최초 반경
Figure pat00073
의 구에 대한 탐색 영역을 제한하기 위해, 탐색 구간은
Figure pat00074
은 각 디코딩된 컴포넌트 si에 대해 정의되고, 탐색 구간의 하부 경계 binf,i 및 상부 경계 bsup,i는 최초 반경
Figure pat00075
로부터 결정된다.
이로 인해, 구간
Figure pat00076
에 포함되는 값을 갖는 노드들만이 검색되고 스택에 저장된다. 각 디코딩된 심볼 si에 대한 탐색 구간 Ii
Figure pat00077
이 되도록 한다. 탐색 구간 Ii의 하부 경계 binf,i 및 상부 경계 bsup,i는 다음과 같이 정의될 수 있다.
Figure pat00078
Figure pat00079
Figure pat00080
Figure pat00081
Figure pat00082
Figure pat00083
디코딩 프로세스 동안 검색된 노드들의 개수는 각 심볼 si에 대해 구간 Ii에 좌우되고, 탐색 구간으 경계들은 최초 구 반경
Figure pat00084
에 좌우된다.
따라서, 구간은 디코딩될 신호의 심볼의 컴포넌트를 나타내는 각 노드 si에 대해 결정된다. 탐색은 리프 노드를 찾을때까지 계속되며, 최적의 경로
Figure pat00085
는 반경에 대한 어떠한 업데이트도 없이 리턴된다 (ML 기준에 따라 수신된 신호 벡터에 가장 가까운 벡터).
도 5를 참조하면, 일부 실시예들에 따른 SB 스택 디코딩 방법을 나타내는 흐름도가 도시되어 있다.
이 방법은 다음 단계들 중 적어도 일부를 포함하는 프리-디코딩 단계를 포함할 수 있다:
- 예컨대, 상기 행렬의 컬럼 벡터들의 직교성을 개선시키는 격자 감소 기술을 이용하여 또는/및 채널 행렬의 컨디션닝을 개선하는 MMSE-GDFE 필터링을 이용하여 채널 행렬에 대해 전처리를 수행하는 단계,
- H = QR이 되도록 채널 행렬의 QR 분해를 수행하는데, Q는 직교 행렬을 나타내며, R은 상삼각 행렬을 나타내는 단계,
- 등가 시스템을 계산하여 H 또는 등가적으로 R에 의해 생성된 격자의 삼각 격자 표현을 제공하는 단계.
이는 수식 (22)에 의해 주어진 최소화 문제의 트리 솔루션에서 포인트를 찾도록 트리 탐색을 수행하도록 한다.
Figure pat00086
수식 (22)에서, 파라미터
Figure pat00087
Figure pat00088
에 의해 주어진다.
디코딩될 신호가 수신되면, 디코더는 스택에 저장된 트리의 현재 노드에 대해 다음 단계들 501 내지 515의 적어도 한 번의 반복을 구현할 수 있다.
방법은 루트 노드를 현재 노드로서 최초로 시작한다. 따라서, 첫번째 현재 노드는 루트 노드이다 (단계 501).
이 방법은 루트 노드를 현재 노드로서 처리함으로써 처음 시작한다. 단계들 502 내지 515는 스택의 탑보다 선택된 각 현재 노드에 대해 반복되어 현재 노드가 부모 노드인 자식 노드들을 생성한다. 그에 따라, 각 반복은 디코딩 트리 (i = n 내지 1)의 레벨 i와 연관된다. 파라미터 i는 스택에서 선택된 최상위 노드에 기반하여 각 새로운 반복에 대해 1씩 감소될 수 있다.
디코딩 트리 방법의 첫번째 반복은 제1 레벨 i=n에서 루트 노드의 자식 노드들을 결정하도록 구현된다.
디코딩 트리 방법의 후속의 반복들은 스택에서 선택된 최상위 노드 (및 디코딩 트리의 소정의 레벨 또는 레이어 i)에 대응하는 현재 노드의 자식 노드들을 결정하도록 구현될 수 있다.
트리의 각 노드는 메트릭, 경로, 및/또는 차원(또는 깊이)과 연관될 수 있다. 노드의 차원은 루트 노드를 현재 노드로서 고려하는 트리에서 노드의 레벨에 대응한다.
본 발명에 따라, 노드의 메트릭
Figure pat00089
은 수신된 신호들 사이의 유클리드 거리의 함수
Figure pat00090
및 루트 노드와 노드들중 적어도 일부에 대해 고려된 노드 사이의 경로로부터 결정될 수 있다.
- 수신된 신호들 사이의 유클리드 거리의 함수
Figure pat00091
및 루트 노드와 고려된 노드 사이의 경로로부터
- 서브-블록 가중 계수 b(i).
디코딩 트리에서, 루트 노드와 고려되는 노드 사이의 단일 경로가 존재한다. 그에 따라, 이 경로로부터, 대응하는 디코딩된 비트들 또는 루트 노드와 고려되는 노드 사이에서 송신되는 송신된 정보 시퀀스의 추정을 결정할 수 있다.
구체적으로, 처리되는 현재 노드에 대해, 모든 또는 미리 선택된 서브세트의 자식 노드들은 QR 분해로부터 얻어진 행렬 R의 i번째 레이어 상에
Figure pat00092
를 투영함으로써 결정되며, 각 자식 노드에 대해(단계 502), 탐색 구간
Figure pat00093
에 대해 자식 노드에 의해 만족되어야 하는 조건을 정의하는 제약사항
현재 노드(디코딩된 심볼의 컴포넌트에 대응함)의 레벨 i의 탐색 구간
Figure pat00094
은 단계 504에서 결정되며, 수식 (16) 및 (17)에 따라 최초 반경으로부터 결정된 하부 경계 binf,i 및 상부 경계 bsup,i를 포함한다. 따라서, 이 구간은 탐색 영역을 한정한다.
구체적으로, 단계 505 및 506에서, 현재 노드의 고려된 자식 노드가 구간
Figure pat00095
내에 포함된 값을 갖는 지를 결정한다. 만약 그렇다면, 노드의 메트릭
Figure pat00096
은 노드 si가 속하는 서브-블록
Figure pat00097
에 대해 결정된 서브-블록 가중 계수 b(k)를 이용하여 도 3의 단계 403 내지 405와 관련하여 기술된 바와 같이 단계 507 내지 509에서 계산된다. 자식 노드는 단계 510에서 연관된 메트릭과 함께 스택에 추가된다. 추가 데이터는 경로 및/또는 자식 노드의 차원과 같은 각 자식 노드와 연관되어 스택에 저장된다. 그러므로, 자식 노드는 그 값이 탐색 구간
Figure pat00098
에 놓여 있는 경우에만 고려될 수 있다. 따라서, 구간
Figure pat00099
에 포함된 값ㅇ르 갖는 모든 자식 노드들 또는 서브세트의 자식 노드들은 스택에 저장된다. 결국, 트리에서 스캔된 경로들은 반경
Figure pat00100
를 갖는 구 내부에 위치된 격자의 포인트들에 대응한다. 초기 반경
Figure pat00101
은 다른 방식에 따라 결정될 수 있다.
디코딩 방법은
Figure pat00102
에서 유한 또는 무한 격자들을 디코딩하도록 적용될 수 있으며, 트리에서 각 노드의 값은 최소 임계값 Cmin과 최대 임계값 Cmax 사이의 소정 범위를 갖는 성운에 속하는 심볼의 컴포넌트에 대응한다. 유한 격자들이 예컨대, QAM 변조로 디코딩되는 (유한 성운) 실시예들에서, 정보 심볼들 si는 유하나 알파벳으로부터 선택되며,트리 상에서 디코딩된 심볼들에 대응하는, 그 실수 및 허수 부분은 유한 구간
Figure pat00103
에 속한다. 예컨대, q-QAM 변조를 사용하는 실시예들에서, 심볼들 si는 구간
Figure pat00104
에 속하며, 사용된 성운 심볼들에 대응하는 탐색 트리에서의 노드들은 무한 세트
Figure pat00105
에 속하는데, 여기에서,
Figure pat00106
Figure pat00107
이다.
이러한 실시예들에서, 추정된 심볼들이 고려된 성운에 속하는 것을 보장하기 위해, 단계 505 및 506에서, i번째(ith) 레벨의 자식 노드들은 성운에 대응하는 성운 구간
Figure pat00108
과 구간
Figure pat00109
사이의 교차에 대응하는 구간
Figure pat00110
내에서 대안적으로 선택될 수 있다.
Figure pat00111
현재 노드의 모든 자식 노드들이 처리된 후에, 단계 511에서, 현재 노드는 스택으로부터 삭제된다.
단계 512에서 스택은 스택에서 가장 낮은 메트릭을 갖는 노드 sq가 스택의 최상위에 저장되도록 메트릭들
Figure pat00112
의 올림 차순으로 재정리될 수 있다.
단계 513에서, 스택의 최상위 노드 sq가 그 자식 노드들을 생성하기 위해 현재 노드로서 선택된다.
단계 514에서 선택된 노드가 리프 노드인지를 결정한다. 만약 선택된 노드가 리프 노드(즉, 자식 노드를 갖지 않는)이면 방법은 종료된다.
그렇지 않다면, 단계 515에서, 선택된 노드가 현재 노드로서 설정되고, 단계 502 내지 515가 새롭게 선택된 노드(스택에서 가장 낮은 메트릭을 갖는 노드를 나타냄)에 대해 반복되어 디코딩 트리의 다음 레벨 j에서 자식 노드들을 생성할 수 있는데, 여기에서 j는 n-1 과 1 사이에 포함된다. 다음 처리되는 레벨 j는 스택에서 선택된 최상위 노드에 좌우된다.
단계 502 내지 515의 각 반복(현재 노드의 처리에 대응함)은 그에 따라, 루트 노드와 스택에 저장된 새로운 리프 노드 사이의 경로를 제공한다.
리프 노드가 첫번째 반복에 도달하면, 알고리즘은 처리를 종료하거나, 단계 502 내지 515의 새로운 반복들을 수행한다. 수신된 신호를 나타내는 벡터에 가장 가까운 벡터는 스택에 저장된 노드 정보, 특히, 이러한 정보가 획득 가능하면, 스택에 저장된 경로(들)를 고려함으로써 단계 516에서 추정될 수 있다. 예컨대, 바이너리 추정(하드 결정)이 적용된다면, 트리의 구성은 단계 502 내지 515의 한번의 반복을 구현하여, 송신된 데이터 신호의 하드 추정에 대응하여 단일 경로가 결정될 수 있도록 한다. 대안적으로, 확률적 추정(소프트 결정)이 적용된다면, 디코딩 방법은 LLR(Log-Likelihood Ratio) 값들의 형태로 소프트-출력 정보를 전달할 수 있다. 이 경우, 단계 502 내지 515의 몇번의 반복이 수행될 수 있다. 각 반복은 루트 노드로부터 리프 노드들까지 다른 경로(후보 격자 포인트를 나타냄)를 제공한다. 이들 서로 다른 경로들(후보 격자 포인트들을 나타냄)은 그 경로들과 함께 보조 스택에 저장될 수 있다. 정보 신호의 확률적 추정은 이들 경로들에 기초하여 결정될 수 있다.
본 발명의 다른 실시예들에서, 디코딩 방법은 재귀적 서브-블록 디코딩 알고리즘에 기반할 수 있다.
본 발명이 확장하는 자식 노드의 메트릭을 계산하는 특별한 장점들을 갖는다면, EP N°15305910 (2015년 6월 12에 출원)에 개시된 바와 같은 함수
Figure pat00113
로부터 도 4의 403 내지 405 또는 도 5의 507 내지 509에서 상기 메트릭을 통상적으로 계산하면서, 서브-블록 종속 가중 계수 b(k)를 이용한 메트릭 감소는 스택을 재정리하기 위한 스택에 저장된 노드들에만 대안적으로 적용될 수 있다.
또 다른 실시예에서, EP N°15305907 (2015년 6월 12에 출원)에 개시된 바와 같은 함수
Figure pat00114
로부터 도 4의 403 내지 405 또는 도 5의 507 내지 509에서 상기 메트릭을 또한 통상적으로 계산하면서, 서브-블록 종속 가중 계수 b(i)를 이용한 메트릭 감소가 이른 종료를 트리거하도록 트리거하는 알람의 검출에 응답하여 적용될 수 있다.
도 6은 2개의 상삼각 행렬 R을 2개의 상삼각 행렬
Figure pat00115
(8 × 8 크기의 행렬) 및
Figure pat00116
(8 × 8 크기의 행렬) 및 직교 행렬 B로 분할한 예시를 나타낸다.
도 7은 16-QAM 성운에 대한 ML 디코딩 문제의 예시적인 트리 표현을 나타낸다. 16-QAM 성운에서, 복소 정보 심볼들의 실수 부분 및 허수 부분은 값들의 세트 {-3, 1, 1, 3}에 속한다. 디코딩 방법은 루트 노드로부터 트리-탐색 프로세스를 시작하여, 스택에서 최상위 노드의 자식 노드들을 반복적으로 확장함으로써 브랜치들(화살표에 의해 지시됨)을 따라 진행한다. 디코딩 트리(700)는 4개의 레벨 (레벨 1, 레벨 2, 레벨 3, 및 레벨 4)을 포함하며, 각 레벨은 실제 심볼들에 의해 취해진 서로 다른 값들에 대응한다 (레벨 1은 s4에 대응하고, 레벨 2은 s3에 대응하고, 레벨 3은 s2에 대응하고, 레벨 4는 s1에 대응함).
도 7은 다음과 같은 각 서브-블록
Figure pat00117
과 연관된 서브-블록 가중 계수 b(k)를 도시한다.
- 각 서브 블록 s(3)과 연관된 서브-블록 가중 계수 b(3)
- 각 서브 블록 s(2)과 연관된 서브-블록 가중 계수 b(2)
- 각 서브 블록 s(1)과 연관된 서브-블록 가중 계수 b(1)
도 7에 도시된 바와 같이, 서브 블록 s(3)은 하나의 노드 s4를 포함하고(즉, 노드 s4는 서브 블록 s(3)에 속함), 서브 블록 s(2)은 2개의 노드들 s3 및 s2를 포함하며, 서브 블록 s(1)은 오직 하나의 노드 s1을 포함한다.
각 경로에 연관된 메트릭은 유클리드 메트릭이거나 서브-블록 가중 계수들로부터 계산된 변경된 메트릭일 수 있다.
본 발명의 다른 실시예에서, 가중 순차 디코딩 방법은 각 서브-블록의 디코딩에 대해 하나의 순차 디코딩 알고리즘 Dk를 이용하여 서브-블록 재귀 방식에 따라 구현될 수 있다.
도 8은 일부 실시예들에 따른 재귀식 서브-블록 디코더(10)의 블록도이다. 디코딩 유닛(207)는 송신된 신호의 각 서브-블록의 적어도 하나의 추정
Figure pat00118
을 결정하는 적어도 하나의 순차 디코딩 알고리즘 Dk 및 디코딩 알고리즘 Dk을 이용하여 재귀식 서브-블록 디코딩을 구현한다. 디코딩 유닛(207)은 이하 서브-블록 디코딩 유닛(207)으로 지칭된다.
이러한 실시예에서, 분할 유닛(12)는
Figure pat00119
Figure pat00120
가 되도록 R 행렬의 분할에 대응하여 벡터
Figure pat00121
를 길이들
Figure pat00122
의 N개의 서브-벡터들
Figure pat00123
로 더 분할한다.
그에 따라, 수식 (8)은 다음과 같이 다시 기재될 수 있다.
Figure pat00124
수식 (9)의 ML 디코딩 문제는 다음과 같이 다시 기재될 수 있다.
Figure pat00125
서브-블록 디코딩 유닛(207)은 순차 디코딩 알고리즘 Dk 및 이전에 추정된 서브-블록들
Figure pat00126
에 대해 결정된 추정들
Figure pat00127
을 이용하여 각 서브-블록
Figure pat00128
에 대한 적어도 하나의 추정
Figure pat00129
을 결정하는 N개의 심볼 추정 유닛들(11)을 더 포함할 수 있다. 대안적으로 하나의 심볼 추정 유닛만이 또는 M개의 심볼 추정 유닛들(M<N)이 각 서브-블록
Figure pat00130
을 재귀적으로 디코딩하는데 사용될 수 있다.
서브-블록 디코더(207)는 N개의 심볼 추정 유닛들의 출력들을 합산함으로써 실수 벡터
Figure pat00131
를 결정하도록 구성된 신호 추정 유닛(15)를 더 포함할 수 있다.
각 심볼 추정 유닛(11)은 스택에 저장된 정보로부터 서브-벡터
Figure pat00132
에 포함된 송신된 심볼들을 나타내는 추정된 심볼들
Figure pat00133
을 결정하는 순차 디코딩 알고리즘 Dk의 적어도 한번의 반복을 적용한다. 심볼 추정 유닛(11)은 자식 노드와 연관된 초기 메트릭로부터 확장된 자식 노드중 적어도 하나 및 처리되는 서브-블록
Figure pat00134
에 대해 결정된 서브-블록 가중 계수 b(k)에 대한 서브-블록 메트릭을 결정한다. 일 실시예에서, 노드의 메트릭은 서브-블록 가중 계수에 의해 노드의 초기 메트릭을 서브-블록 가중 계수만큼 감소시킴으로써 결정될 수 있다. 이하의 설명은 서브-블록 가중 계수를 이용한 초기 메트릭의 감소에 대해 이루어지며, 단지 설명을 위한 것이다.
도 9는 재귀적 서브-블록 디코딩 방식에 따른 디코딩 방법을 나타내는 흐름도이다.
단계 901, 복소수-실수 변환이 수신된 신호의 실수 시스템을 결정하기 위해 수행될 수 있다. 예컨대, 공간 다중화 방식을 이용한 일 실시예에서, 수식 (2)에서의 시스템은 다음과 같이 변형된다.
Figure pat00135
도 (4)에서, Re(.) 및 Im(.) 연산자는 기본 벡터 또는 행렬을 형성하는 각 엘리먼트의 실수 부분 및 허수 부분을 출력한다.
수식 (24)는 다음과 같은 격자 표현 형태로 기재될 수 있다.
Figure pat00136
공간 다중화 및 공간-시간 블록 코딩된 대칭 및 비대칭 MIMO 방식들은 수식 (25)에서 주어진 채널 출력의 실수 격자 표현들에 대해 사용될 수 있다. 이하 실시예들의 이해를 용이하게 하기 위해, 다음 설명은 공간 다중화 방식을 참조하여 그리고 송신기 및 수신기가 동일한 개수의 안테나들 nt = nr를 갖춘 대칭 MIMO 구성과 관련하여 이루어진다. 따라서, 수식 (25)에서 실수 벡터들 y, s, 및 w은 n-차원 벡터(n = 2nt = 2nr)로서 표현되며, 등가의 실수 채널 행렬 H는 정방 n × n 행렬일 수 있다. 벡터 s는 벡터 sc를 구성하는 원래의 복소 정보 심볼들의 실수 부분 및 허수 부분으로 구성된다.
단계 902에서, 채널 행렬(일부 실시예에서 순서가 바뀐 채널 행렬)의 QR 분해는 H = QR이 되도록 수행될 수 있다. Q는 n × n 직교 행렬을 나타내고, R은 n × n 상삼각 행렬을 나타낸다. 행렬 Q의 직교성이 주어지면, 수식 (25)에서 시스템의 곱셈은 등가의 수신된 신호
Figure pat00137
및 등가의 시스템을 결정하도록 단계 903에서 다음과 같이 수행될 수 있다.
Figure pat00138
수식 (25)에서 실수의 등가 시스템은 원래 송신된 정보 심볼들의 추정을 위해 고려될 수 있다.
단계 902 이전에, 채널 행렬 H의 열(row) 벡터들과 행(column) 벡터들 사이의 치환은 채널 행렬을 재정리하도록 치환 행렬을 사용하여 수행될 수 있다.
최적의 디코딩 성능은 다음과 같이 주어진 ML 디코딩 문제에 따라 최적의 ML 디코딩을 사용하여 획득된다.
Figure pat00139
수식 (27)에서, A = [cmin, cmax]는 실제 벡터 s를 구성하는 복소값 벡터 sc의 실수 및 허수 부분들이 속하는 알파벳을 나타낸다.
ML 메트릭은 다음과 같이 정의될 수 있다.
Figure pat00140
단계 904에서, 서브-블록들의 개수 N (바람직학는 1보다 크거나 동일함), 서브-블록 디코딩 파라미터들의 세트,
Figure pat00141
을 만족하는 서브-블록 길이들
Figure pat00142
의 세트, 및 순차 디코딩 알고리즘들 Dk (k = 1, ..., N)의 세트와 같은 서브-블록 디코딩 파라미터들의 세트는 결정될 수 있다. 길이들
Figure pat00143
은 동일하거나 다를 수 있다. 디코딩 알고리즘들은 유사하거나 다를 수 있다.
상삼각 행렬 R의 서브-행렬들로의 분할, 벡터
Figure pat00144
의 서브-벡터들로의 분할이 수행될 수 있다. 따라서, 벡터
Figure pat00145
Figure pat00146
이 되도록 길이들
Figure pat00147
의 N개의 서브-벡터들
Figure pat00148
로 분할된다. 동일한 벡터 분할이 심볼들 s의 벡터 및 노이즈 벡터 w에 적용되어,
Figure pat00149
Figure pat00150
이 되도록 서브-벡터들
Figure pat00151
Figure pat00152
를 결정할 수 있다. 상삼각 행렬은 전술한 바와 같이, N개의 상삼각 행렬들
Figure pat00153
Figure pat00154
개의 직교 행렬들
Figure pat00155
로 이루어진
Figure pat00156
개의 행렬들로 분할된다.
분할된 서브-행렬들, 분할된 서브-벡터들 및 서브-블록 파라미터들은 각 서브-블록
Figure pat00157
에 관한 데이터를 포함하는 서브-블록 세트
Figure pat00158
에 저장된다. 세트
Figure pat00159
는 1부터 N-1까지의 범위의 k에 대해
Figure pat00160
로서 정의될 수 있다. 여기에서,
Figure pat00161
k = N에 대해, 세트 (SB)N이 다음식이 되도록
Figure pat00162
에 의해 주어진다.
Figure pat00163
수식 (29) 및 (30)에서의 시스템들은 정보 심볼들의 다양한 서브-벡터들의 디코딩을 위해 사용될 수 있다.
수식 (24)의 ML 디코딩 메트릭은 다음과 같이 기재될 수 있다.
Figure pat00164
심볼들의 각 서브-벡터
Figure pat00165
는 심볼의 서브-벡터
Figure pat00166
의 미리 추정된 서브-블록들
Figure pat00167
(여기에서,
Figure pat00168
) 및 서브-벡터 가중 계수 b(k)을 사용하여 순차 알고리즘 Dk의 적어도 한 번의 반복을 적용함으로써 단계 908에서 재귀적으로 추정될 수 있다. 서브-블록 가중 계수 b(k)는 미리 결정되거나(서브-블록 가중 계수 b(k)는 세트
Figure pat00169
에 속함) 능동적으로 결정될 수 있다. 초기화는 k = N에 대응하는 단계 905에서 수행되며, 심볼의 서브-벡터
Figure pat00170
(여기에서,
Figure pat00171
) 의 미리 추정된 서브-블록들
Figure pat00172
은 단계 907에서 검색될 수 있다.
단계 908은 심볼의 서브-벡터
Figure pat00173
의 서브-벡터 추정
Figure pat00174
을 결정하도록 각 서브-블록에 대해 반복될 수 있다.
더 상세하게는, 각 인덱스 k = N-1, ..., 1에 대해, 서브-벡터
Figure pat00175
는 미리 추정된 서브-벡터들
Figure pat00176
과 직사각 서브-행렬들
Figure pat00177
로부터 단계 908에서 계산될 수 있다. 인덱스 k의 서브-벡터의 추정은 순차 디코딩 알고리즘 D(k), 상삼각 서브-행렬 R(k) 및 계산된 서브-벡터
Figure pat00178
를 이용하여 결정될 수 있다. k = N에 대해, 추정
Figure pat00179
은 대응하는 디코딩 알고리즘 D(N), 대응하는 상삼각 서브-행력
Figure pat00180
및 벡터
Figure pat00181
를 이용하여 결정될 수 있다.
심볼의 모든 벡터들이 단계 909에서 추정된 것으로 결정되면, 단계 910 및 911은 서브-벡터들
Figure pat00182
로부터 송신된 신호의 추정
Figure pat00183
을 구성하도록 수행될 수 있다. 구성 단계는 2 과정을 포함할 수 있다. 첫번째로, 실제 벡터의 추정
Figure pat00184
은 다른 서브-벡터들에서의 서로 다른 추정들을 합산함으로써 구성될 수 있다. 획득된 벡터는
Figure pat00185
에 대한 컴포넌트
Figure pat00186
가 다음 수식에 의해 획득되도록 복소 벡터
Figure pat00187
로 변환된다.
Figure pat00188
수식 (32)에서,
Figure pat00189
는 벡터 u의 j번째(jth) 엘리먼트이다.
본 발명의 일부 실시예에 따라, k=1, ..., N에 대해 심볼 추정 유닛(11)에서 구현된 순차 디코딩 알고리즘들은 Dk는 유사할 수도 있고 다를 수도 있다. 하나의 디코딩 알고리즘 Dk는 제한 없이, 스택 또는 SB-스택 디코딩 알고리즘과 같은, 어떠한 순차 디코딩 알고리즘이라도 될 수 있다. 또한, LLL 감소와 같은 격자 감소를 이용한 디코딩 이전에 및/또는 예컨대, MMSE-GDFE 필터링을 이용한 좌측 전처리(left preprocessing) 이전에 서브-상삼각 행렬
Figure pat00190
에 대응하는 전처리가 수행될 수 있다. 전처리 방법들은 본 발명의 실시예들에 따라 서브-블록 분할 및 검출 이전에 채널 행렬에 적용될 수 있다.
소정의 서브-블록
Figure pat00191
에 대해 사용된 각 순차 디코딩 알고리즘 Dk는 서브-블록 메트릭
Figure pat00192
을 다음 수식에 따라 최소화함으로써 추정
Figure pat00193
을 전달하도록 시도할 수 있다.
Figure pat00194
구 디코더(SD), 스택 디코더, 또는/및 SB-스택 디코더 (SB-스택)와 같은 순차 트리-탐색 알고리즘들이 수식 (33)을 풀기위해 사용될 수 있다.
본 발명이 길이 T의 선형 공간-시간 블록 코드에 적용되고
Figure pat00195
심볼들을 인코딩할 때, 채널 출력의 실수 표현은 수식 (25)의 격자 표현 형식으로 기재될 수 있으며, 이 경우 등가의 채널 행렬은 다음 수식에 의해 주어진 실수
Figure pat00196
행렬
Figure pat00197
이다.
Figure pat00198
Figure pat00199
행렬
Figure pat00200
는 선형 공간-시간 블록 코드의 생성 행렬 또는 코딩 행렬로서 알려진 실수값으 행렬이다. IT는 차원 T의 단위(identity) 행렬을 나타내고, 연산자
Figure pat00201
는 크로네커 행렬 곱(Kronecker matrices product)이다.
또한, nt < nr의 비대칭 MIMO 구성에 본 발명을 적용하면, 수식 (25)의 형태로 격자 표현이 다음 수식에 의해 주어진 수식 (5)과 등가의 시스템에 대해 단계 901의 복소수-실수 변환을 수행함으로써 얻어질 수 있다.
Figure pat00202
행렬들 U 및 D은 행렬 D와 함께 행렬
Figure pat00203
의 단일값 분해로부터 단일값으로 획득된다. D는 행렬 Hc의 단일값들을 나타내는 양의 대각 엔트리들을 갖는 대각선이다.
도 10은 본 발명의 SB-스택 실시예의 수신기(3)의 공간/시간 디코더(30)의 예시적인 아키텍쳐를 나타낸다. 도시된 바와 같이, 공간/시간 디코더(30)는 데이터 및 어드레스 버스(64)에 의해 함께 연결된 다음의 엘리먼트들을 포함할 수 있다.
- 예컨대, 디지털 신호 프로세서(DSP)인 마이크로프로세서(61)(또는 CPU);
- 비휘발성 메모리(62)(또는 ROM, 판독 전용 메모리);
- 시간/주파수 변환기로부터 출력하는 입력 신호들을 수신하는 인터페이스(65)
- 디코딩된 데이터를 복조기(31)로 송신하는 인터페이스(66)
비휘발성 ROM 메모리(62)는 예컨대,
- 레지스터("Prog")(620);
- 서브-블록 가중 계수들 b(k)의 계수들(621)
을 포함한다.
비휘발성 ROM 메모리(62)는 유한 격자들이 디코딩된(표시되지 않음) 실시예들에서 Cmin 및 Cmax와 같은 디코더에 의해 사용된 다른 미리규정된 파라미터들을 포함할 수 있다.
본 발명의 이 실시예에 따른 방법을 구현하는 알고리즘들은 프로그램(621)에 저장될 수 있다. CPU 프로세서(41)는 프로그램(620)을 RAM 메모리에 다운로드하도록 구성될 수 있으며, 대응하는 명령들을 실행한다. 구체적으로 CPU는 컴퓨터에 의해 실행될 때, CPU로 하여금 송신된 심볼들을 나타내는 추정된 심볼들을 스택에 저장된 정보로부터 결정하도록 하는 명령들을 포함하며, 상기 스택은 디코딩 트리의 선택된 노드의 반복적으로 자식 노드를 확장함으로써 채워지며, 디코딩 트리는 목수의 노드들을 포함하며, 디코딩 트리의 각 노드는 수신된 데이터 신호의 심볼의 후보 컴포넌트에 대응하고, 각 노드는 메트릭을 할당받으며, 상기 스택은 각 반복시확장된 자식 노드들의 세트로 채워지며 노드와 연관된 메트릭의 값들을 증가시킴으로써 정리된다. 각 반복에 대해 선택된 노드는 스택에서 가장 낮은 메트릭을 갖는 노드에 대응한다. CPU는 확장된 자식 노드들의 세트의 각 자식 노드에 대해 초기 메트릭을 결정하도록 동작된다. CPU는 또한 확장된 자식 노드와 연관된 초기 메트릭 및 가중 계수들(디코딩 트리에서 노드의 레벨의 함수)로부터 확장된 자식 노드중 적어도 하나에 대한 변경된 메트릭을 계산하도록 동작된다. CPU는 확장된 자식 노드중 적어도 하나에 대해 변경된 메트릭을 할당하도록 또한 동작된다.
RAM 메모리(63)는
- 마이크로프로세서(61)에 의해 구동되고 공간/시간 디코더(30)의 액티브 모드에서 다운로드된, 레지스터(Prog)(630)에 있는 프로그램;
- 레지스터(631)에 있는 입력 데이터;
- 레지스터(632)에 있는 노드에 관련된 데이터;
- 레지스터(634)에 있는 우도 확률(likelihood probabilities 또는 LLR)를 포함한다.
레지스터(632)에 저장된 데이터는 디코딩 트리의 노드에 대해, 본 발명의 다양한 실시예들에 따라 결정된 이 노드와 연관된 메트릭 파라미터들(루트부터 상기 노드까지의 경로, 및/또는 트리의 깊이)을 포함한다.
더 일반적으로는, 본 명세서에서 설명된 디코딩 기술들은 다양한 수단에 의해 구현될 수 있다. 예컨대, 이들 기술들은 하드웨어, 소프트웨어 및 그 조합으로 구현될 수 있다. 하드웨어 구현에 있어서, 디코더의 처리 엘리먼트들은 예컨대, 하드웨어-전용 구성에 따라 또는 VLSI 및 DSP 모두를 이용한 구성에 따라 구현될 수 있다 (예컨대, 대응하는 메모리를 갖는 하나 이상의 FPGA, ASIC 또는 VLSI 집적 회로).
본 발명은 무선 통신 시스템과 관련되어 설명되었지만, 본 발명이 이러한 어플리케이션에 한정되지 않음은 주지되어야 한다. 예컨대, 디코딩 장치 및 방법은 신호 처리 장치, 소정의 입력 시퀀스로부터 출력 시퀀스를 디코딩하는, 예컨대, 오디오 크로스오버 및 오디오 마스터링과 같은 오디오 어플리케이션에서 사용되는 유한 임펄스 응답 (FIR)의 전자 필터들에 통합될 수 있다. 데이터의 입력 시퀀스가 주어지면, 차수 M의 FIR 필터의 출력 시퀀스는 사이즈 M의 슬라이딩 윈도우에서 관찰되는 최근의 입력 값들의 가중된 합이다. 출력 시퀀스의 모델에서 격자 표현이 주어지면, 본 발명의 일부 실시예들은 그에 따라 입력 시퀀스의 추정을 생성하도록 통합될 수 있다.
본 발명의 실시예들이 다양한 예들을 설명함으로써 나타내고 있고, 이들 실시예들이 매우 자세히 기술되어 있지만, 본 출원인은 이러한 상세들에 첨부된 특허청구범위의 범위를 제한하거나 어떤식으로든 한정할 의도는 아니다. 특히, 본 발명은 순차 디코딩 알고리즘의 특정 타입에 한정되지 않는다. 더 일반적으로, 본 발명은 스택 디코더, 파노(Fano) 디코더, M-알고리즘을 구현한 디코더들, SB-스택 및 특허 출원 EP N°14306517.5에 기재된 바와 같은 지그재그 스택 디코더와 같은 후보 격자 벡터들을 탐색하도록 최적-우선 트리-탐색(best-first tree-search)을 이용하여 어떠한 순차 디코딩 알고리즘에도 적용할 수 있다. 지그재그 디코더는 SB-스택 디코딩 알고리즘과 유사하게 스택을 사용하지만, 모든 자식 노드를 생성하거나 탐색 구간에서 후보 격자 포인트를 탐색하는 대신에, 지그재그 디코딩 알고리즘은 도 3의 흐름도에서 단계 302에서, 수신된 신호를 나타내는 벡터로부터 결정된 현재 노드의 기준 자식 노드, 기준 노드의 값으로부터 양의 정수 파라미터를 감산함으로써 결정되는 제1 이웃 자식 노드, 및 기준 자식 노드의 값에 양의 정수 파라미터를 가산함으로써 결정되는 제2 이웃 자식 노드를 포함하는 최대 3개의 자식 노드들을 생성한다. 자식 노드들은 3개의 자식 노드들중 도 3의 흐름도의 단계 304에서 선택된다. 이 선택된 자식 노드는 그 각각의 메트릭과 함께 SB-스택 디코더에 유사하게 스택에 저장될 수 있으며, 스택은 노드 메트릭들의 차수를 증가시킴으로써 재정리된다. 그에 따라 얻어진 스택의 최상위 노드는 새로운 현재 노드로서 선택되어 재귀 탐색 동작을 반복한다.
또한, 본 발명이 서브-블록 가중 계수의 예들과 관련하여, 특히 설명의 목적으로 이러한 가중 계수의 예들과 관련하여 설명되었어도, 본 발명은 이러한 예들에 한정되지 않음은 이해되어야 한다.
또한, 본 발명의 다양한 실시예들은 특정 타입의 검출에 한정되지 않으며, 하드 디코딩 및 소프트 디코딩 모두에 적용할 수 있다.
11: 심볼 추정 유닛
12: 서브-블록 분할 유닛
14: 서브-블록 계수 결정 유닛
110: 노드 메트릭 계산 유닛
112: 메트릭 변경 유닛

Claims (20)

  1. 통신 시스템에서 송신 채널을 통해 수신된 신호를 디코딩하는 디코더(10)로서, 상기 신호는 소정 세트의 값들로부터 선택된 정보 심볼들을 운반하고 신호 벡터와 연관되며, 상기 송신 채널은 채널 행렬에 의해 표현되는, 상기 디코더(10)에 있어서,
    상기 채널 행렬에 관련된 행렬의 분할에 대응하여 상기 수신된 신호 벡터를 일 세트의 서브-벡터들로 분할하도록 구성된 서브-블록 분할 유닛(12);
    각 서브-벡터에 대한 서브-블록 가중 계수를 계산하도록 구성된 적어도 하나의 가중 계수 계산 유닛(14); 및
    상기 데이터 신호에 의해 운반된, 상기 송신된 심볼들을 나타내는 추정된 심볼들을 스택에 저장된 정보로부터 재귀적으로 결정하는 적어도 하나의 심볼 추정 유닛(11);을 포함하고,
    상기 적어도 하나의 심볼 추정 유닛은 순차 디코딩 알고리즘의 적어도 한번의 반복을 적용하도록 구성되며, 상기 순차 디코딩 알고리즘은 다수의 노드들을 포함하는 디코딩 트리의 선택된 노드의 자식 노드들을 확장함으로써 스택을 반복적으로 채우는 것을 포함하고, 상기 디코딩 트리의 각 노드는 상기 수신된 신호의 적어도 일부분의 심볼의 후보 컴포넌트에 대응하며, 각 노드는 초기 메트릭을 할당받으며,
    상기 심볼 추정 유닛은 상기 적어도 하나의 노드와 연관된 상기 메트릭으로부터 그리고 상기 적어도 하나의 노드가 속하는 상기 서브-벡터에 대해 계산된 상기 서브-블록 가중 계수로부터 상기 확장된 자식 노드들중 적어도 하나의 노드에 대한 변경된 메트릭을 계산하도록 추가로 구성되며, 상기 심볼 추정 유닛은 상기 적어도 하나의 노드에 상기 변경된 메트릭을 할당하도록 구성된, 디코더.
  2. 제1항에 있어서, 상기 디코더는 상기 채널 행렬로부터 QR 분해를 수행함으로써 직교 행렬 Q 및 상삼각 행렬 R을 사전에 결정하도록 구성되며, 상기 서브-블록 분할 유닛(12)은 상기 상삼각 행렬 R을 다수의 상삼각 서브-행렬들과 다수의 직교 서브-행렬들로 분할하도록 구성되며, 상기 다수의 상삼각 서브-행렬들의 개수는 2보다 크거나 동일하고, 상기 서브-블록 분할 유닛(12)은 상기 수신된 신호 벡터의 각 서브-벡터가 상기 상삼각 서브-행렬들중 하나에 대응하도록 상기 수신된 신호 벡터를 일 세트의 서브-벡터들로 분할하도록 구성된, 디코더.
  3. 제2항에 있어서, 상기 디코더는 상기 직교 행렬의 전치 행렬을 상기 수신된 신호와 곱함으로써 상기 수신된 신호를 결정하도록 구성된, 디코더.
  4. 전술한 청구항들 중 어느 한 항에 있어서, 상기 적어도 하나의 심볼 추정 유닛(11)은 각 서브-벡터에 대응하는 상기 송신된 신호의 각 서브-블록의 적어도 하나의 추정을 재귀적으로 결정하도록 구성되며, 소정의 서브-블록의 각 추정은 상기 사전에 처리된 서브-블록들의 적어도 하나의 추정으로부터 결정되며, 상기 심볼 추정 유닛은, 상기 사전에 처리된 서브-블록들의 적어도 하나의 추정을 이용하여 상기 송신된 신호의 각 서브-블록의 적어도 하나의 추정을 결정하는, 순차 디코딩 알고리즘의 적어도 한번의 반복을 적용하는, 디코더.
  5. 전술한 청구항들 중 어느 한 항에 있어서, 소정의 서브-블록에 대해 계산된 상기 서브-블록 가중 계수는 각 서브-블록에 대해 동일한, 디코더.
  6. 제1항 내지 제4항 중 어느 한 항에 있어서, 소정의 서브-블록에 대해 계산된 상기 서브-블록 가중 계수는 사전에 추정된 서브-블록들에 대해 결정된 상기 서브-블록 가중 계수들의 적어도 일부의 함수인, 디코더.
  7. 제1항 내지 제4항 중 어느 한 항에 있어서, 소정의 서브-블록에 대해 계산된 상기 서브-블록 가중 계수는 신호대 잡음비(signal-to-noise ratio)의 함수인, 디코더.
  8. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 서브-블록 가중 계수는 상기 서브-블록에 대응하는 디코딩 트리의 일부의 레벨 및 서브-블록의 크기로 구성된 그룹에서 선택된 서브-블록 파라미터의 함수인, 디코더.
  9. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 서브-블록 가중 계수는 서브-블록들의 개수 및 서브-블록들의 차수로 구성된 그룹에서 선택된 분할 파라미터의 함수인, 디코더.
  10. 제2항 내지 제4항 중 어느 한 항에 있어서, 상기 서브-블록 가중 계수는 상기 서브-블록에 대응하는 상삼각 서브-행렬의 대각 컴포넌트들의 함수인, 디코더.
  11. 전술한 청구항들 중 어느 한 항에 있어서, 상기 변경된 메트릭 계산 유닛(112)은 상기 서브-블록 가중 계수만큼 상기 초기 메트릭을 감소시키도록 구성된, 디코더.
  12. 전술한 청구항들 중 어느 한 항에 있어서, 상기 변경된 메트릭 계산 유닛(112)은 각 확장된 자식 노드에 대해 변경된 메트릭을 계산하도록 구성된, 디코더.
  13. 제1항 내지 제10항 중 어느 한 항에 있어서, 상기 변경된 메트릭 계산 유닛(112)은 상기 선택된 세트의 확장된 자식 노드들의 각 노드에 대해 변경된 메트릭을 계산하도록 구성된, 디코더.
  14. 제1항 내지 제10항 중 어느 한 항에 있어서, 상기 메트릭 결정 유닛(110)은 각 확장된 노드에 상기 초기 메트릭을 할당하도록 구성되며, 상기 변경된 메트릭 계산 유닛(112)은 스택 재정리 조건(stack reordering condition)의 검출에 응답하여 상기 스택에 저장된 각 노드에 대한 변경된 메트릭을 계산하도록 구성되며, 상기 디코더는 상기 스택의 노드들에 연관된 상기 변경된 메트릭들의 값들을 증가시킴으로써 상기 스택을 재정리하도록 구성된, 디코더.
  15. 제1항 내지 제10항 중 어느 한 항에 있어서, 상기 변경된 메트릭 계산 유닛(112)은 종료 알람의 트리거에 응답하여 각 확장된 자식 노드에 대한 변경된 메트릭을 계산하도록 구성된, 디코더.
  16. 전술한 청구항들 중 어느 한 항에 있어서, 상기 순차 디코딩 알고리즘은 스택 디코딩 알고리즘, 파노(Fano) 디코더, M-알고리즘을 구현한 디코더, 및 SB-스택 디코딩 알고리즘으로 구성된 그룹에서 선택된, 디코더.
  17. 인코딩된 신호를 수신하여 디코딩하는 수신기로서, 상기 신호를 디코딩하기 위해 상기 전술한 청구항들의 어느 한 항에 따른 디코더를 포함하는 수신기.
  18. 무선 통신 네트워크에서 데이터를 송신 및 수신할 수 있는 이동 장치로서, 신호를 수신하는 청구항 17에 따른 수신기를 포함하는 이동 장치.
  19. 통신 시스템에서 송신 채널을 통해 수신된 신호를 디코딩하는 방법으로서, 상기 신호는 소정 세트의 값들로부터 선택된 정보 심볼들을 운반하고 신호 벡터와 연관되며, 상기 송신 채널은 채널 행렬에 의해 표현되는, 상기 방법에 있어서,
    상기 채널 행렬에 관련된 행렬의 분할에 대응하여 상기 수신된 신호 벡터를 일 세트의 서브-벡터들로 분할하는 단계;
    각 서브-벡터에 대한 서브-블록 가중 계수를 계산하는 단계; 및
    상기 데이터 신호에 의해 운반된, 상기 송신된 심볼들을 나타내는 추정된 심볼들을 스택에 저장된 정보로부터 재귀적으로 결정하는 단계;를 포함하고,
    상기 추정된 심볼들을 재귀적으로 결정하는 단계는 순차 디코딩 알고리즘의 적어도 한번의 반복을 적용하는 단계를 포함하고, 상기 순차 디코딩 알고리즘은 다수의 노드들을 포함하는 디코딩 트리의 선택된 노드의 자식 노드들을 확장함으로써 스택을 반복적으로 채우는 것을 포함하고, 상기 디코딩 트리의 각 노드는 수신된 신호의 적어도 일부분의 심볼의 후보 컴포넌트에 대응하며, 각 노드는 초기 메트릭을 할당받으며,
    상기 추정된 심볼들을 재귀적으로 결정하는 단계는 상기 적어도 하나의 노드와 연관된 상기 메트릭으로부터 그리고 상기 적어도 하나의 노드가 속하는 상기 서브-벡터에 대해 계산된 상기 서브-블록 가중 계수로부터 상기 확장된 자식 노드들중 적어도 하나의 노드에 대한 변경된 메트릭을 계산하는 단계를 더 포함하고, 상기 방법은 상기 적어도 하나의 노드에 상기 변경된 메트릭을 할당하는 단계를 포함하는 방법.
  20. 통신 시스템에서 송신 채널을 통해 수신된 신호를 디코딩하는 컴퓨터 프로그램 제품으로서, 상기 신호는 소정 세트의 값들로부터 선택된 정보 심볼들을 운반하고 신호 벡터와 연관되며, 상기 송신 채널은 채널 행렬에 의해 표현되는, 상기 컴퓨터 프로그램 제품에 있어서,
    비일시적 컴퓨터 판독가능 저장 매체; 및
    상기 비일시적 컴퓨터 판독가능 저장 매체에 저장되며 컴퓨터에 의해 실행될 때 프로세서가
    상기 채널 행렬에 관련된 행렬의 분할에 대응하여 상기 수신된 신호 벡터를 일 세트의 서브-벡터들로 분할하고;
    각 서브-벡터에 대한 서브-블록 가중 계수를 계산하고;
    상기 데이터 신호에 의해 운반된, 상기 송신된 심볼들을 나타내는 추정된 심볼들을 스택에 저장된 정보로부터 재귀적으로 결정하도록, 동작시키는 명령들을 포함하며,
    상기 프로세서는 순차 디코딩 알고리즘의 적어도 한번의 반복을 적용함으로써 추정된 심볼들을 재귀적으로 결정하도록 동작되며, 상기 순차 디코딩 알고리즘은 다수의 노드들을 포함하는 디코딩 트리의 선택된 노드의 자식 노드들을 확장함으로써 스택을 반복적으로 채우는 것을 포함하고, 상기 디코딩 트리의 각 노드는 상기 수신된 신호의 적어도 일부분의 심볼의 후보 컴포넌트에 대응하며, 각 노드는 초기 메트릭을 할당받으며,
    상기 프로세서는 상기 적어도 하나의 노드와 연관된 상기 메트릭으로부터 그리고 상기 적어도 하나의 노드가 속하는 상기 서브-벡터에 대해 계산된 상기 서브-블록 가중 계수로부터 상기 확장된 자식 노드들중 적어도 하나의 노드에 대한 변경된 메트릭을 계산하고 상기 적어도 하나의 노드에 상기 변경된 메트릭을 할당하도록 추가로 동작되는, 컴퓨터 프로그램 제품.
KR1020160181433A 2015-12-28 2016-12-28 가중식 순차 디코딩 KR101923782B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP15307155.0A EP3188390B1 (en) 2015-12-28 2015-12-28 Weighted sequential decoding
EP15307155.0 2015-12-28

Publications (2)

Publication Number Publication Date
KR20170077844A true KR20170077844A (ko) 2017-07-06
KR101923782B1 KR101923782B1 (ko) 2018-11-29

Family

ID=55527693

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160181433A KR101923782B1 (ko) 2015-12-28 2016-12-28 가중식 순차 디코딩

Country Status (4)

Country Link
US (1) US10284276B2 (ko)
EP (1) EP3188390B1 (ko)
KR (1) KR101923782B1 (ko)
CN (1) CN107040336B (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108768477A (zh) * 2018-05-24 2018-11-06 天津工业大学 一种基于模型扰动与格基约减的mimo检测方法
US11309992B2 (en) * 2018-07-17 2022-04-19 Qualcomm Incorporated Using lattice reduction for reduced decoder complexity
EP3664333B1 (en) * 2018-12-06 2023-12-13 Institut Mines Telecom Devices and methods for parallelized recursive block decoding
US11500841B2 (en) * 2019-01-04 2022-11-15 International Business Machines Corporation Encoding and decoding tree data structures as vector data structures
US20230171026A1 (en) * 2020-05-04 2023-06-01 Telefonaktiebolaget Lm Ericsson (Publ) Zigzag decoding of upstream-processed signals from independent receiver subarrays

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100795562B1 (ko) * 2006-11-08 2008-01-21 한국전자통신연구원 분할 검출 방식을 적용한 송신신호 검출 방법 및 그 장치
US20110122004A1 (en) * 2008-05-05 2011-05-26 Institut Telecom / Telecom Paristech Method of decoding a signal implementing a progressive construction of a decoding tree, corresponding computer program and decoding device
US8442105B1 (en) * 2011-11-02 2013-05-14 Xilinx, Inc. Equalization for minimum mean-square-error successive-interference-cancellation

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100150274A1 (en) * 2006-05-04 2010-06-17 Agency For Science, Technology And Research Method and System for Determining a Signal Vector
US20110182336A1 (en) * 2007-10-30 2011-07-28 Agency For Science, Technology And Research Method for determining a signal vector and detection circuit
EP3001625B1 (en) 2014-09-29 2021-05-19 Institut Mines-Télécom Methods and systems for decoding a data signal based on the generation of a decoding tree
EP3104564B1 (en) 2015-06-12 2020-05-06 Institut Mines-Télécom Anticipated termination for sequential decoders
EP3104565B1 (en) 2015-06-12 2020-03-25 Institut Mines-Télécom Sequential decoding with stack reordering

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100795562B1 (ko) * 2006-11-08 2008-01-21 한국전자통신연구원 분할 검출 방식을 적용한 송신신호 검출 방법 및 그 장치
US20110122004A1 (en) * 2008-05-05 2011-05-26 Institut Telecom / Telecom Paristech Method of decoding a signal implementing a progressive construction of a decoding tree, corresponding computer program and decoding device
US8442105B1 (en) * 2011-11-02 2013-05-14 Xilinx, Inc. Equalization for minimum mean-square-error successive-interference-cancellation

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Abdellatif Salah외3명, "NEW SOFT STACK DECODER FOT MIMO CHANNEL", In Signals, Systems and Computers, 2008 42nd Asilomar Conference on (pp. 1754-1758). IEEE. (2008) *
비특허 논문1(2008) *

Also Published As

Publication number Publication date
US10284276B2 (en) 2019-05-07
CN107040336A (zh) 2017-08-11
US20170187445A1 (en) 2017-06-29
EP3188390B1 (en) 2020-01-22
KR101923782B1 (ko) 2018-11-29
CN107040336B (zh) 2020-11-17
EP3188390A1 (en) 2017-07-05

Similar Documents

Publication Publication Date Title
KR101923782B1 (ko) 가중식 순차 디코딩
EP3104564B1 (en) Anticipated termination for sequential decoders
EP3171559B1 (en) Parameterized sequential decoding
KR102060866B1 (ko) 디코딩 트리의 생성에 기초하여 데이터 신호를 디코딩하기 위한 방법 및 시스템
CN107455001B (zh) 基于树搜索的解码
EP3169028B1 (en) Semi-exhaustive recursive block decoding method and device
CN107276935B (zh) 用于顺序球形解码的方法和设备
KR102037614B1 (ko) 스택 재배열을 이용하는 순차적 디코딩
Mejri et al. Reduced-Complexity Stack Decoder for MIMO Systems

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