KR101295208B1 - 미모(mimo) 통신을 위한 시스템 및 방법 - Google Patents

미모(mimo) 통신을 위한 시스템 및 방법 Download PDF

Info

Publication number
KR101295208B1
KR101295208B1 KR1020127014646A KR20127014646A KR101295208B1 KR 101295208 B1 KR101295208 B1 KR 101295208B1 KR 1020127014646 A KR1020127014646 A KR 1020127014646A KR 20127014646 A KR20127014646 A KR 20127014646A KR 101295208 B1 KR101295208 B1 KR 101295208B1
Authority
KR
South Korea
Prior art keywords
matrix
codeword
index
block
codewords
Prior art date
Application number
KR1020127014646A
Other languages
English (en)
Other versions
KR20120091312A (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 KR20120091312A publication Critical patent/KR20120091312A/ko
Application granted granted Critical
Publication of KR101295208B1 publication Critical patent/KR101295208B1/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/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
    • 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/0054Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Artificial Intelligence (AREA)
  • Radio Transmission System (AREA)

Abstract

MIMO 통신을 위한 시스템 및 방법이 제공된다.
방법은 전송기로부터, P개의 행렬을 포함하는 데이터 블록을 수신하는 단계, 및 동작 조건들이 충족되는지 안 되는지를 결정하는 단계를 포함한다. 상기 방법은, 상기 동작 조건들이 충족되지 않으면, 검사 위치를 계산하는 단계, 상기 검사 위치에 기초해서 코드워드를 선택하는 단계, 및 메트릭을 계산하는 단계를 포함한다. 그런 다음 상기 메트릭은 상기 코드워드의 이용 가능성을 결정하기 위해 오차 반경과 비교된다. 코드워드가 무효이면, 다른 코드워드가 선택된다. 코드워드가 유효이면, 모든 메트릭이 평가되었다면 그 코드워드를 저장하고, 그렇지 않으면 다른 행렬을 선택하여 평가한다. 데이터 블록 내의 초기의 행렬이 검사하지 않은 코드워드를 가지고 검사되고 있는 행렬에 대한 모든 코드워드가 검사되었다면, 철회가 수행될 수 있다. 데이터 블록에 대한 코드워드를 찾아낸 후, 저장된 데이터는 출력되어 프로세스된다.

Description

미모(MIMO) 통신을 위한 시스템 및 방법{SYSTEM AND METHOD FOR MULTIPLE INPUT, MULTIPLE OUTPUT(MIMO) COMMUNICATIONS}
본 출원은 2009년 11월 23일에 출원되고 발명의 명칭이 "System and Method for Multiple Input, Multiple Output(MIMO) Communications"인 미국 비가출원 No. 12/624,264의 권리를 주장하는 바이며, 상기 출원은 본 명세서에 원용되어 포함된다.
본 발명은 일반적으로 무선통신에 관한 것이며, 특히 MIMO 통신을 위한 시스템 및 방법에 관한 것이다.
통상적으로, 미모(Multiple Input, Multiple Output: MIMO) 통신 시스템은 시공간 코딩 기술을 사용하여 통신 링크의 용량을 향상시키거나 및/또는 그 신뢰도를 개선한다. 또한, 2-전송 안테나 MIMO 통신 시스템을 위한 골든 코드(golden code)와 같이, 완벽한 시공간 블록 코드를, 논-배니싱 결정인자(non-vanishing determinants)가 최대 전송률 및 최대 다이버시티(full-rate and full diversity)를 달성하는 에너지 효율적 선형 분산 시공간 블록 코드로서 도입하였다.
일반적으로, MIMO 통신 시스템은 수신기에서 통신 채널을 추정하는 것에 의존하는 결맞음 통신 시스템(coherent communication system)이다. 통상적으로, 이러한 시스템은 채널을 가능하게 하는 파일럿 신호(또는 시퀀스)를 전송함으로써 수행될 수 있다. 그렇지만, 파일럿 신호를 전송하면 통신 시스템의 유효 용량이 감소된다. 고속 페이딩(fast fading)으로 인해 통신 채널을 빈번하게 재추정해야 하는 고속 이동 상황과 같은 경우에서, 파일럿 신호를 전송함으로써 통신 시스템의 유효 용량이 감소하는 것은 특히 심각하다.
파일럿 신호 오버헤드 문제를 완화하는 데 도움이 될 수 있는 기법은 전송의 차등 인코딩(differential encoding)을 사용하는 것이다. 차등 인코딩을 사용하면 필요한 신호대잡음비(signal-to-noise ratio: SNR)에 대한 증가된 비용으로 통신 채널을 추정할 필요가 없게 된다. 파일럿 신호 오버헤드 문제를 완화하는 데 도움이 될 수 있는 다른 기법은 블라인드 MIMO를 사용하는 것인데, 통신 채널뿐만 아니라 전송된 코드워드도 수신기에 알려지지 않는다. 그런 다음 블라인드 검출을 사용하여 그 전송된 코드워드를 복구할 수 있다.
MIMO 통신을 위한 시스템 및 방법의 실시예에 의해, 이러한 문제 및 다른 문제를 해결하거나 우회하거나, 기술적 이점을 성취한다.
실시예에 따르면, 수신기 동작을 위한 방법이 제공된다. 상기 방법은, a) 전송기로부터, P(단, P는 양의 정수)개의 행렬을 포함하는 데이터 블록을 수신하는 단계; b) 동작 조건들이 충족되는지 안 되는지를 결정하는 단계; c) 상기 동작 조건들이 충족되지 않는다는 결정에 응답해서, c1) 상기 데이터 블록 내의 행렬에 대한 행렬 인덱스 및 상기 행렬 인덱스에 의해 대응하는 행렬과 관련된 코드워드의 집합 내의 코드워드에 대한 코드워드 인덱스를 포함하는 검사 위치를 계산하는 단계, c2) 상기 검사 위치에 기초하여 코드워드를 선택하는 단계, 및 c3) 상기 행렬 인덱스보다 작거나 같은 행렬 인덱스에 대응하는 데이터 블록의 행렬 및 상기 행렬 인덱스보다 작거나 같은 행렬 인덱스에 대응하는 데이터 블록의 행렬에 대해 선택된 코드워드의 솔루션 집합에 기초하여 메트릭(metric)을 계산하는 단계를 포함한다. 상기 방법은, c4) 상기 메트릭이 오차 조건보다 크면, 상기 단계 b) 및 상기 단계 c)를 반복하는 단계, 및 c5) 상기 메트릭이 상기 오차 조건보다 크지 않으면, c5a) 모든 검사 위치를 평가하였다면, 상기 솔루션 집합 내의 상기 코드워드 인덱스에 의해 인덱스된 코드워드를 저장하는 단계, 상기 오차 조건을 갱신하는 단계, 및 상기 단계 b) 및 상기 단계 c)를 반복하는 단계를 포함한다. 상기 방법은 또한 c5b) 모든 검사 위치를 평가하지 않았다면, 상기 행렬 인덱스를 다음 행렬로 갱신하는 단계, 상기 단계 b) 및 상기 단계 c)를 반복하는 단계를 포함한다. 상기 방법은 부가적으로 d) 상기 동작 조건들이 충족된다는 결정에 응답해서, 상기 솔루션 집합을 출력하는 단계, 및 상기 출력된 솔루션 집합을 프로세싱하는 단계를 포함한다. 상기 검사 위치는 데이터 블록 내의 행렬에 대한 행렬 인덱스 및 상기 행렬 인덱스에 의해 대응하는 행렬에 관련되어 있는 코드워드의 집합 내의 코드워드에 대한 코드워드 인덱스를 포함한다.
다른 실시예에 따르면, 수신기 동작을 위한 방법이 제공된다. 상기 방법은, a) 전송기로부터 복수의 행렬을 포함하는 데이터 블록을 수신하는 단계, 및 b) 동작 조건들이 충족되는지 안 되는지를 결정하는 단계를 포함한다. 상기 방법은 또한 c) 상기 동작 조건들이 충족되지 않는다는 결정에 응답해서, c1) 상기 데이터 블록 내의 행렬에 대한 레벨 인덱스(level index) 및 코드워드의 집합 내의 코드워드에 대해 상기 레벨 인덱스와 관련된 리프 인덱스(leaf index)를 계산하는 단계, c2) 상기 레벨 인덱스 및 상기 리프 인덱스에 기초하여 코드워드를 선택하는 단계, c3) 상기 레벨 인덱스보다 작거나 같은 레벨 인덱스에 대응하는 데이터 블록의 행렬 및 상기 레벨 인덱스보다 작거나 같은 레벨 인덱스에 대응하는 데이터 블록의 행렬에 대한 코드워드의 솔루션 집합에 기초하여 메트릭(metric)을 계산하는 단계를 포함한다. 상기 방법은 c4) 상기 메트릭이 오차 조건보다 크면, 상기 단계 b) 및 상기 단계 c)를 반복하는 단계, 및 c5) 상기 메트릭이 상기 오차 조건보다 크지 않으면, c5a) 모든 메트릭을 평가하였다면, 상기 솔루션 집합 내의 상기 레벨 인덱스와 관련된 상기 리프 인덱스에 대응하는 코드워드를 저장하는 단계, 상기 오차 조건을 갱신하는 단계, 및 상기 단계 b) 및 상기 단계 c)를 반복하는 단계를 더 포함한다. 상기 방법은 부가적으로 c5b) 모든 메트릭을 평가하지 않았다면, 상기 행렬 인덱스를 갱신하는 단계, 상기 단계 b) 및 상기 단계 c)를 반복하는 단계를 포함한다. 상기 방법은 d) 상기 동작 조건들이 충족된다는 결정에 응답해서, 상기 솔루션 집합을 출력하는 단계, 및 상기 출력된 솔루션 집합을 프로세싱하는 단계를 포함한다.
본 발명의 다른 실시예에 따르면, 수신기를 제공한다. 상기 수신기는, 복수의 수신 안테나; 수신 안테나에 각각 결합된 복수의 수신 회로; 상기 복수의 수신 회로에 결합되어 있는 검출기; 및 상기 검출기에 결합되어 있는 디코더를 포함한다. 상기 검출기는 수신된 데이터의 블록에 존재하는 코드워드를 검출한다. 수신된 데이터는 조정 가능한 오차 조건에 기초해서, 수신된 데이터의의 블록 내의 각각의 행렬에 대한 코드워드의 집합에서 최선의 코드워드를 선택함으로써 복수의 전송 구간에서 상기 복수의 수신 회로에 의해 제공되는 복수의 행렬을 포함한다. 조정 가능한 오차 조건은 선택된 코드워드의 품질에 기초하여 느슨하게 되거나 팽팽하게 되며, 검출기는 각각의 행렬에 대한 코드워드의 집합에서 모든 코드워드가 검사되지 않았으면, 이전에 평가된 행렬들로 철회한다. 디코더는 상기 수신된 데이터의 블록에서 검출된 코드워드로부터, 전송된 데이터를 재구성한다.
실시예의 이점은 파일럿이 전송되지 않는다는 것이며, 이에 따라 특히 고속 이동과 같은 고속 페이딩의 상황에서 통신 오버헤드를 현저하게 감소시킬 수 있다는 것이다. 통신 오버헤드를 감소시킴으로써, 통신 채널 용량을 증가시킬 수 있다.
본 발명의 추가의 이점은 브루트 포스 검색 기술(brute force search techniques)보다 훨씬 계산 요건이 낮아지며, 이에 따라 계산 리소스 요건뿐만 아니라 전력 요건도 감소될 수 있다는 점이다.
전술한 바는 이하의 실시예에 대한 상세한 설명을 더 잘 이해할 수 있도록 하기 위해 본 발명의 특징 및 기술적 이점을 폭넓게 대략 설명한 것이다. 본 발명의 청구의 요지를 설명하는 실시예의 추가적인 특징 및 이점에 대해서는 후술할 것이다. 본 발명의 동일한 목적을 수행하기 위한 다른 구조나 프로세스를 변형하거나 설계하는 것을 바탕으로 개념 및 특정한 실시예를 용이하게 활용할 수 있다는 것을 당업자는 이해해야 한다. 아울러 이러한 등가의 구성은 첨부된 청구의 범위에 설명되어 있는 바와 같이 발명의 정신 및 범주를 벗어나서는 안 된다는 것을 당업자는 이해해야 한다.
실시예 및 실시예의 이점을 더 완전하게 이해할 수 있도록 하기 위해, 첨부된 도면을 참조하여 이하의 상세한 설명을 참조한다.
도 1은 MIMO 통신 시스템에 대한 개략도이다.
도 1b는 MIMO 검출기의 일부 및 다중화기 블록에 대한 상세도이다.
도 2는 수신기 동작에 대한 흐름도이다.
도 3은 변형된 블록 코드워드가 사용되는 변형된 BEB 알고리즘을 사용하는 블라인드 MIMO를 검출하기 위해 BGLRD를 실행하기 위한 MIMO 수신기 동작에 대한 흐름도이다.
도 4는 변형된 BEB 알고리즘을 사용하는 조인트 블록 차등 MIMO를 수행하기 위해 DGLRD를 실행하기 위한 MIMO 수신기 동작에 대한 흐름도이다.
도 5는 변형된 블록 코드워드가 사용되는 그 순서가 정해진 BEB 알고리즘을 사용하는 블라인드 MIMO를 검출하기 위해 BGLRD를 실행하기 위한 MIMO 수신기 동작에 대한 흐름도이다.
도 6은 그 순서가 정해진 BEB 알고리즘을 사용하는 조인트 블록 차등 MIMO를 수행하기 위해 DGLRD를 실행하기 위한 MIMO 수신기 동작에 대한 흐름도이다.
도 7은 변형된 블록 코드워드가 사용되는 그 순서가 정해진 BEB 알고리즘을 사용하는 블라인드 MIMO를 검출하기 위해 BGLRD를 실행하고, 파일럿 비트를 포함하는 제1 수신된 데이터 행렬을 순서로부터 배제하기 위한 MIMO 수신기 동작에 대한 흐름도이다.
도 8은 P=3인 블라인드 MIMO 통신 시스템의 성능에 대한 데이터 도면이다.
도 9는 수신기에서 도 6의 그 순서가 정해진 BEB 알고리즘을 사용하는 P=3 및 10인 조인트 블록 차등 MIMO 통신 시스템의 성능에 대한 데이터 도면이다.
도 10은 수신기에서 도 5의 그 순서가 정해진 BEB 알고리즘을 사용하는 P=5 및 10인 블라인드 MIMO 통신 시스템의 성능에 대한 데이터 도면이다.
도 11은 브루트 포스 검색 복잡도와 비교되는 도 6의 그 순서가 정해진 BEB 알고리즘에 있어서 P=10인 조인트 차등 MIMO 통신 시스템에서의 계산 복잡도 대 평균 SNR에 대한 데이터 도면이다.
도 12는 브루트 포스 검색 복잡도와 비교되는 도 5의 지시된 BEB 알고리즘에 있어서 P=10인 블라인드 MIMO 통신 시스템에서의 계산 복잡도 대 평균 SNR에 대한 데이터 도면이다.
도 13은 브루트 포스 검색 복잡도와 비교되는 도 6의 그 순서가 정해진 BEB 알고리즘을 사용하는 P=12인 조인트 차등 MIMO 통신 시스템 및 도 5의 그 순서가 정해진 BEB 알고리즘을 사용하는 P=12인 블라인드 MIMO 통신 시스템 모두에서의 계산 복잡도 대 평균 SNR에 대한 데이터 도면이다.
도 14는 본 실시예에 제공된 BEB 알고리즘의 변형된 버전을 사용하는 조인트 차등 MIMO 통신 시스템 및 블라인드 MIMO 통신 시스템에서의 계산 복잡도 대 평균 SNR에 대한 데이터 도면이다.
실시예를 만드는 것과 사용하는 것에 대해 상세히 후술한다. 그렇지만, 본 발명은 폭넓게 다양한 특정한 배경에 구현될 수 있는 많은 적용 가능한 창조적 개념을 제공한다는 점에 유의해야 한다. 논의되는 특정한 실시예는 본 발명을 만들고 사용하기 위한 특정한 방식을 설명하는 것에 지나지 않으며, 본 발명을 제한하는 것이 아니다.
실시예를 특정한 배경, 즉 전송의 차등 인코딩 또는 블라인드 MIMO를 사용해서 파일럿을 전송할 필요성을 낮추거나 없앰으로써 통신 시스템 용량을 증가시키는 MIMO 통신 시스템을 배경으로 해서 설명할 것이다.
차등 인코딩 또는 블라인드 MIMO를 사용하든 안 하든 간에, MIMO 수신기의 성능은 수신된 데이터의 블록에 대한 미지의 통신 채널과 전송된 심벌을 결합해서 추정함으로써 향상될 수 있다. 블록의 크기(즉, 수신된 코드워드의 수 P)가 증가하면, 성능은 완벽한 통신 채널 지식을 가진 MIMO 통신 시스템의 성능에 근접할 수 있다. 그렇지만, 블록의 크기가 증가하면 마찬가지로 전송된 심벌의 검출하는 데 사용되는 검출기의 계산 복잡도가 증가하게 된다. 그러므로 전송된 심벌 검출 성능과 계산 복잡도 간에 절충이 이루어질 수 있다.
광검출기는 일반화된 우도 검출 접근법(generalized likelihood ratio detection approach)에 기반하여 제시되어 왔다. 그렇지만, 이러한 광검출기는 수신된 데이터의 블록 내의 코드워드의 모든 가능한 전송된 시퀀스에 대한 브루트 로스 검색을 필요로 한다. 브루트 포스 검색은 적당한 크기 및 소형의 배치의 블록들에 대해서도 실행하기가 어렵다.
계산 요건을 낮추기 위해, 공간적 다중화 MIMO에 대한 검색 유효 BEB(Branch-Estimate-Bound) 알고리즘을, 블라인드 MIMO 및 조인트 블록 차등 인코딩과 함께 사용하기 위해 변형할 수 있다. 이러한 변형된 BEB 알고리즘은 특히 높은 SNR 상황에서 계산 복잡도를 현저하게 감소시키는 것으로 밝혀졌다. 낮은 SNR 상황에서 계산 복잡도를 더 낮출 수 있도록 위해, 낮은 SNR 상황에서 계산 복잡도를 낮추는 BEB 알고리즘에 대한 추가의 변형을 또한 제공한다.
도 1a는 MIMO 통신 시스템(10)을 도시하고 있다. MIMO 통신 시스템은 Nt 전송 안타나(안테나 57(Nt)를 통해 안테나(57(1)로 도시되어 있음)를 가지는 전송기(11) 및 수신기(12)(안테나 58(Nt)를 통해 안테나(58(1)로 도시되어 있음)를 포함한다. Nr 수신 안테나에 수신된 데이터를 다음과 같이 나타낸다:
Y[p] = HX[p] + V[p] (1)
여기서, H는 요소가 각각의 전송-수신 안테나 쌍 간의 채널 계수를 나타내는 Nr×Nt 채널 행렬이고, X[p]는 p번째 전송 구간 동안 Nt×N 전송된 코드워드이고, 여기서 N은 각각의 코드워드를 전송하는 데 필요한 타임 슬롯의 수이며, Y[p]는 Nr×N 대응 수신된 데이터 행렬이며, V[p]는 요소가 각각의 타임 슬롯의 각각의 수신 안테나에서 추가의 노이즈 항을 나타내는 Nr×N 행렬이다.
프로세서, 데이터 입력, 사용자 인터페이스 등과 같은 데이터 프로세싱 하드웨어로부터 전송된 비트(51)는 포워드 오류 검출(forward error correction: FEC) 인코더(52)를 통과하는데, 이 인코더(52)에서 오류 정정 코드가 그 전송된 비트에 부가될 수 있다. 변조기(53)를 사용하여 FEC 인코더(52)의 출력(오류 정정 코드와 함께 전송된 비트(51))을 변조할 수 있다. 변조기(53)는 FEC 인코더(52)의 출력 후에 변조된 심벌을 생성할 수 있다. 시공간 인코더 및 역다중화기(54)는 시공간 인코딩을 적용하여 정보 심벌을 Nt×N 전송된 코드워드 행렬(X[p])로 역다중화한다. 전송된 코드워드 행렬 X[p]는 이용 가능한 전송 전력을 고려하여 다음과 같이 적절하게 축척될 수 있다:
trace(X[p]X[p]H) = PtNtN (2)
여기서, Pt는 안테나당 평균 총 전송 전력이고, trace(.)는 그 아규먼트(argument)의 대각요소의 합을 되돌려보내는 함수이다.
논의의 목적을 위해, 골든 코드워드를 사용한다. 그렇지만, 실시예는 어떠한 코드워드에도 적용될 수 있다. 그러므로 골든 코드워드에 대한 논의를 실시예의 범주 또는 정신을 제한하는 것으로 파악해서는 안 된다.
골든 코드워드의 경우, Nt=N=2 및 각각의 전송에 있어서, 변조기(53)의 출력에서 배치 심벌의 4×1 벡터 s[p]를 다음과 같이 나타낼 수 있다:
s[p] = [s1[p], s2[p], s3[p], s4[p]]
4×1 벡터 s[p]는 시공간 인코더 및 역다중화기(54)에 의해 인코딩되어 다음과 같은 형태의 골든 코드워드를 제공할 수 있다:
Figure 112012045073006-pct00001
,(3)
여기서,
Figure 112012045073006-pct00002
Figure 112012045073006-pct00003
이다.
골든 코드 생성 행렬 C를 다음과 같아 나타낼 수 있다>
Figure 112012045073006-pct00004
그러므로 C 및 X[p]는 관계에 의해 관련될 수 있다:
Figure 112012045073006-pct00005
여기서, reshape(Cs[p],Nt,N)는 3개의 입력(Cs[p],Nt,N)을 가지는 함수이다. 제1 입력은 벡터 Cs[p]이고, 제2 입력 Nt 및 제3 입력 N 모두는 포지티브 스칼러 정수이며, 그 적은 제1 입력의 차수(dimension)와 같아야 한다. reshape(Cs[p],Nt,N)는 Cs[p]의 요소들을 Nt×N 행렬로 순서를 정하는데, 이것은 reshape(Cs[p],Nt,N)의 출력이다.
그런 다음 시공간 인코더 및 역다중화기(54)의 Nt 이용 가능한 스트림 각각은 전송 회로(56)에 제공되고, 전송 회로(56)는 Tx 안테나(57)를 사용하여 대응하는 스트림을 전송한다. 전송 회로(56)를 사용하여 디지털/아날로그 변환, 필터링, 증폭 등과 같이, 스트림에 대한 무선 주파수(RF) 처리를 수행한다.
통신 채널 H(50)를 통과한 후, 각각의 Nr 수신 안테나(58)에 수신된 스트림은 수신 회로(59)를 통과할 수 있다. 수신 회로(59)는 아날로그/디지털 변환, 필터링, 증폭 등과 같이, 스트림에 대한 RF 프로세싱을 수행하는 데 사용된다. 각각의 Nr 수신 회로로부터의 출력은 Nr×N 수신 데이터 행렬 Y[p]를 제공할 수 있다. MIMO 검출기 및 다중화기 블록(60)을 사용하여, 블라인드 MIMO 검출 및 조인트 블록 차등 MIMO 검출과 함께 검출을 위한 변형된 BEB 알고리즘과 같은 알고리즘을 사용하여, 수신된 데이터 행렬 Y[p]를 프로세스하는 데 사용될 수 있다. 변형된 BEB 알고리즘은 디지털 신호 프로세서, 범용 프로세서, 맞춤형 설계 집적회로(custom design integrated circuit) 등으로 실현될 수 있다. 그런 다음 MIMO 검출기 및 다중화기 블록(60)의 출력은 FEC 디코더(61)에서 FEC 디코딩을 수행하여, 검출된 코드워드로부터 수신된 비트(62)를 재구성할 수 있다. 그런 다음 수신된 비트(62)는 처리 및/또는 사용을 위해 데이터 프로세싱 하드웨어를 통과할 수 있다. 예를 들어, 수신된 비트(62)는 추가의 프로세싱을 위한 프로세서를 통과할 수 있고 수신기(12)의 구성 및/또는 설정을 조정하는 데 사용될 수 있다. 수신된 비트(62)는 또한 예를 들어 텍스트, 데이터, 이미지, 음악 등의 형태로, 수신기(12)의 사용자에 제공될 수 있다.
도 1b는 MIMO 검출기 및 다중화기 블록(60)의 일부에 대한 상세도를 도시하고 있다. 도 1b에 도시된 바와 같이, 수신된 데이터 심벌의 검출에 사용되는 MIMO 검출기 및 다중화기 블록(60)의 일부가 강조되어 있다. MIMO 검출기 및 다중화기 블록(60)은 수신된 데이터 블록의 수신된 데이터 행렬 및 선택된 코드워드에 대해, 최소 자승 오차(least square error: LSE)와 같이, 품질 메트릭을 계산하는 데 사용되는 메트릭 계산 유닛(70)을 포함한다. 메트릭 계산 유닛(70)은 선택된 코드워드가 수신된 데이터 행렬에 얼마나 가까운지에 대한 정량 측정(quantitative measurement)을 제공할 수 있다.
MIMO 검출기 및 다중화기 블록(60)은 또한 철회/종료/완화 조건 유닛(72)을 포함하며, 상기 유닛(72)은, 이전에 평가되어 수신된 데이터 행렬들이 재평가를 위한 후보인지 아닌지를 판단하기 위해 상기 이전에 평가되어 수신된 데이터 행렬들을 재평가하거나, 코드워드를 검출하는 것을 종료하는 것 및/또는 코드워드를 평가하는 데 사용되는 오차 반경의 완화에 대한 종료 조건을 평가하는 데 사용될 수 있다. 예를 들어, 철회/종료/완화 조건 유닛(72)은 모든 코드워드가 그 수신된 데이터 행렬에 대해 평가되지 않았다면, 재평가를 위해 수신된 데이터 행렬을 선택할 수 있다. 또한, 각각의 수신된 데이터 행렬에 대한 모든 코드워드가 검사되었다면, 코드워드를 검출하는 것을 종료한다. 그렇지만, 검사된 코드워드들이 적절한 품질(그 수신된 데이터 행렬에 충분히 가까운)이 아닌 경우, 철회/종료/완화 조건 유닛(72)은 코드워드의 선택을 가능하게 하도록 오차 반경을 완화할 필요가 있다.
MIMO 검출기 및 다중화기 블록(60)도 또한 재형성 계산 유닛(74)을 포함하며, 상기 재형성 계산 유닛(74)은 입력 벡터(제1 입력)의 요소를 Nt×N(제2 입력 및 제3 입력)으로 순서를 정하는 데 사용될 수 있다. 오더링 유닛(ordering unit)(76)은 그 수신된 데이터 블록을 지시하는 데 사용될 수 있다. 예를 들어, 그 수신된 데이터 블록은 개개의 수신된 데이터 행렬의 프로베니우스 놈(frobenius norm)에 기초하여 내림차순으로 순서가 정해질 수 있다. 수신된 데이터 블록의 순서는, 특히 낮은 SNR 시나리오 및/또는 큰 블록 크기에 있어서, 계산 복잡도를 완화하는 데 도움이 된다.
메모리(78)는 MIMO 검출기 및 다중화기 블록(60)이 그 수신된 데이터 블록에 대해 동작할 때 정보 및 데이터를 저장하는 데 사용될 수 있다. 메모리(78)는 그 수신된 데이터 블록(수신된 데이터 블록 저장부(80)), 코드워드 집합(코드워드 저장부(82)), 조정된 코드워드(조정된 코드워드 저장부(84)), 검색 인덱스 벡터(검색 인덱스 벡터 저장부(86)), 오차 반경(오차 반경 저장부(88)) 등을 저장하는 데 사용될 수 있다. 부가적으로, 메모리(78)는 스크래치 메모리 저장부(90)를 포함하며, 상기 스크래치 메모리 저장부(90)는 MIMO 검출기 및 다중화기 블록(60)이 그 수신된 데이터 블록에 대해 동작하는 동안 계산되는, 일시적 변수, 데이터, 중간 값 등을 저장하는 데 사용될 수 있다.
통신 채널이 수신기에 완벽하게 공지되면, MIMO 검출기 및 다중화기 블록(60)은 공지된 최적의 알고리즘인 최대 우도(maximum likelihood: ML) 검출을 실행할 수 있고, 다음과 같이 나타내어질 수 있다:
Figure 112012045073006-pct00006
여기서, {Xi}는 모든 가능한 전송된 코드워드 집합을 나타낸다. ML 검출은 구 디코딩(sphere decoding)과 같이, 유효한 디지털 신호 프로세싱 검색 알고리즘을 사용해서 실행될 수 있다. 그렇지만, 실제로, 통신 채널은 수신기에 완벽하게 공지되어 있지 않으므로 감소된 시스템 용량의 비용으로, 전송된 파일럿을 측정하는 것과 같은 기술을 사용하여 추정될 수 있다. 시스템 용량의 감소가 신속하게 시간이 변하는 상황에서는 과대하게 될 수 있다.
전술한 바와 같이, 이러한 상황에서는, 블라인드 MIMO 검출 또는 조인트 블록 차등 MIMO 검출이 사용될 수 있다. 블라인드 MIMO 검출 또는 조인트 블록 차등 MIMO 검출이 사용되면, MIMO 검출기 및 다중화기 블록(60)은 수신된 데이터의 블록을 프로세스하여, 이전에 추정된 채널 정보 H에 의존하지 않는, 후술되는 변형된 BEB 알고리즘과 같은 알고리즘을 통해, 블라인드 MIMO 검출 또는 조인트 블록 차등 MIMO 검출을 수행하는 데 사용될 수 있다.
블라인드 MIMO 검출은 다음과 같은 형태의 P개의 수신된 데이터 행렬의 시퀀스를 사용하여 수행될 수 있다:
Figure 112012045073006-pct00007
크기 P의 수신된 데이터 행렬의 블록은 전송된 행렬의 블록에 대응할 수 있다:
Figure 112012045073006-pct00008
그러므로
Figure 112012045073006-pct00009
여기서,
Figure 112012045073006-pct00010
통신 채널이 블록의 전체에 대한 상수를 유지하는 것으로 가정하면, 즉 채널 결맞음 시간(channel coherence time)이 크기 P의 수신된 데이터 행렬의 블록의 구간보다 크거나 같다.
그렇지만, 블록 XB는 골든 코드워드 X[p],p=1,...,P로부터 구성되고 식별 가능하지 않으므로 블라인드 MIMO 검출에 사용될 수 없다. 이 문제를 해결하기 위해, 전송된 블록의 변형된 버전은 다음과 같이 나타내어질 수 있다:
Figure 112012045073006-pct00011
여기서, 블록 내의 코드워드 중 하나, 즉 식(10)에서와 같이 제1 코드는 유니터리 행렬 U에 의해 사전에 다중화될 수 있다. 제2 코드워드, 즉 X[1]이 유니터리 행렬에 의해 다중화되는 것으로 식(10)에 도시되어 있으나. 블록 내의 코드워드 중 임의의 하나는 유니터리 행렬에 의해 다중화될 수 있다. 골든 코드워드는 (대부분의 다른 자승 시공간 코드(square space-time code)와 같이) 식별할 수 없는 시공간 코드로서 분류될 수 없으나, 코드워드 중 일부 또는 전부를 다른 코드워드로 변환하는 유한 집합의 행렬 {Qm≠I}이 존재한다. 식(10)의 블록 코드워드 XB를 유효 블록 코드워드로 변환시키는 행렬 Q가 존재하면, 그것은 이러한 행렬 중 하나이다. 이것이 발생하면,
Figure 112012045291301-pct00012
또는
Figure 112012045291301-pct00013
이다. 환언하면,
Figure 112012045291301-pct00014
는 집합 {Qm≠I}에서의 행렬 중 하나, 예를 들어 Qn이다. 그러므로 애매모호한 코드워드의 가능성을 방지하기 위한 필요 충분 조건은 U를 다음과 같이 설계하고 유지하는 것이다.
Figure 112012045073006-pct00015
전술한 2×2 골든 코드 예에 있어서, U는 다음과 같은 회전 행렬로서 선택될 수 있다:
Figure 112012045073006-pct00016
여기서, 10도<θ<70도, 또는 110도<θ<170도, 또는 190도<θ<260도, 또는 280도<θ<350도이다.
전송된 블록의 변형된 버전(식(10))은 엄밀하게 식별될 수 있으며, 실제의 전송 당 1비트(위상 내 및 직교 위상 전송 당 2비트)가 블라인드 검출에 내재하는 스칼러 모호성 문제를 고려할 수 있도록 되어 있는 블라인드 MIMO 검출에 사용될 수 있다.
전송된 블록의 변형된 버전(식(10))을 가지는 식(8)을 사용하면, 블라인드 MIMO 검출은 계산에 의해 수행될 수 있다:
Figure 112012045073006-pct00017
여기서, {XBI}, 즉 P개의 연속적인 코드워드의 모든 가능한 전송된 시퀀스의 집합에 대해 그리고 H 내의 미지의 통신 채널 계수들에 대해 최소화가 수행된다.
미지의 채널 행렬 H에 대한 최초의 최소화는 다음과 같이 된다:
Figure 112012045073006-pct00018
다시 식(13)으로 대치하면, 블라인드 MIMO 검출은 다음과 같이 된다:
Figure 112012045073006-pct00019
여기서,
Figure 112012045073006-pct00020
는 직교 투영 변환 행렬(orthogonal projection matrix)은 다음과 같이 정의된다:
Figure 112012045073006-pct00021
식(15)는 블라인드 일반화된 우도 검출기(BGLRD)로서 언급될 수 있다. 조인트 블록 차등 MIMO 검출에서, 블록은 P개의 전송된 행렬 X[1],...,X[p]로 이루어져 있다. 차등 인코딩은 이 블록 내의 단일의 데이터 행렬과 관련해서 수행될 수 있으며, 이를 피봇 데이터 행렬(pivotal data matrix)이 칭할 수 있다. 피봇 데이터 행렬은 축척된 제곱 유니터리 행렬이 되도록 선택될 수 있다. 일례로서, 피봇 데이터 행렬을 블록 내의 제1 행렬로 하면, 즉 X[1]이 피봇 데이터 행렬이다. 그렇지만, 피봇 데이터 행렬이 블록 내의 임의의 행렬이 되도록 선택될 수 있다. 블록 내의 (피봇이 아닌) 모든 다른 데이터 행렬은 관계에 의해 다음과 같이 결정될 수 있다:
Figure 112012045073006-pct00022
여기서, X[p]는 p번째 전송 구간 동안 실제 전송된 데이터 행렬이고 S[p]는 정보 심벌을 포함하는 코드워드를 나타내는 행렬이다. 예를 들어, 골든 코드를 사용하면, S[p]는 다음과 같이 나타내어질 수 있다:
Figure 112012045073006-pct00023
여기서,
Figure 112012045073006-pct00024
Figure 112012045073006-pct00025
이다. 통신 채널 H는 P개의 코드워드의 전송 구간에 대해 고정되어 있는 것으로 가정할 수 있는데 이는 통신 채널의 결맞음 시간보다 더 작아야만 한다. 최대 전송률 코드를 사용하는 유효 데이터 전송룔은 채널-사용 당 Nt((P-1)/P) 심벌이고, 이는 P가 증가할 때 채널 사용 당 Nt 심벌에 근사한다.
블록 내의 수신된 데이터 행렬은 다음에 의해 관련될 수 있다:
Figure 112012045073006-pct00026
노이즈 상관(noise correlation)을 무시하면, 노이즈 상관을 고려할 때에 비해 성능상의 dB 손실의 일부의 대가를 치르고서 더 간단한 버전의 검출기로 될 수 있다. 그런 다음 차등 수신기는 다음과 같은 형태로 될 수 있다:
Figure 112012045073006-pct00027
이것은 모든 가능한 전송된 코드워드 {Si}에 대한 검색을 요구할 수도 있다. 검색은 구 디코더를 사용하여 효과적으로 수행될 수 있다.
H가 수신기에 완벽하게 공지되어 있을 때
전송된 코드워드를 추정하기 위해 식(21)을 사용하여 결맞음 검출에 관련된 대략 3dB 손실을 입기보다는, 수신된 데이터의 블록에 대해 조인트 채널-심벌 추정을 적용함으로써 성능을 향상시킬 수 있다. 이 기술을 조인트 블록 차등 검출 또는 조인트 차등으로 약칭할 수 있다. 조인트 차등은 다음과 같이 나타내어질 수 있다:
Figure 112012045073006-pct00028
여기서, Z=HX[1]은 다음과 같이 주어진다:
Figure 112012045073006-pct00029
식(22)를 SB에 대해 풀기 위해, 전술한 BGLRD와 와 닮은 차등 일반화된 우도 검출기(DGLRD)를 사용할 수 있다. 환언하면,
Figure 112012045073006-pct00030
를 찾되,
Figure 112012045073006-pct00031
를 이용하여 찾는다.
P가 증가하면, DGLRD의 성능은 결맞음 MIMO 시스템의 성능에 근접한다. 그렇지만, 전송된 코드워드의 모든 가능한 (P-1)-길이 시퀀스에 대한 브루트 포스 검색이 필요할 수도 있다. P의 적당한 값들에 대해서조차, 브루트 포스 검색은 금지되어 있다.
전술한 바와 같이, 식(15)의 BGLRD에 대한 계산 또는 식(24)의 DGLRD를 수행하는 것은 모든 가능한 전송된 코드워드 시퀀스에 대한 브루트 포스 검색을 필요로 한다. P의 적당한 값 및 상대적으로 작은 배치 크기에 대해서조차 철저한 검색은 실현 가능성이 없다. 부가적으로, 구 디코딩은 골든 코드와 같은 비-직교 고 전송률 코드를 사용해서 적용될 필요가 없다. BEB 알고리즘은 검색 효율 솔루션을 제공하지만, 비-결맞음 검출의 식별성 문제를 완화시키기 위해 파일럿의 전송에 의존하는 비-결맞음 공간 다중화 MIMO 시스템의 조인트 채널-심벌 추정에 적용 가능하다. 그러므로 전술한 BGLRD 및 DGLRD에 대한 검색 효율 솔루션을 허용할 수 있는 BEB 알고리즘에 대한 변형이 필요하다. 변형된 BEB 알고리즘은 도 1의 MIMO 검출기 및 다중화기 블록에서 용이하게 실현될 수 있다.
입력 파라미터의 정의:
- YB는 식(6)에서와 같이 수신된 데이터 블록이며 P개의 전송 구간에 대한 수신 회로(59)(도 1)의 출력이며;
- P는 MIMO 검출기 및 다중화기 블록(60)에서 실행되는 변형된 BEB 알고리즘에 의해 프로세스되어야 하는 P개의 전송 구간에 대해 그 수신된 데이터 블록 YB 내의 수신된 데이터 행렬의 수이며;
- 파일럿 비트(들) b는 실제의 전송(예를 들어, 실제의 PAM)인 경우 단일 비트이고, 위상 내 및 직교 위상 전송(예를 들어 QAM)인 경우 2비트이고, 파일럿 비트(들)는 블라인드 MIMO 검출을 고려할 때 필요하고, 식(10)에서와 같이 크기 P 코드워드의 각각의 전송된 블록 XB에서, 변형된 BEB 알고리즘에 대한 이하의 설명에 있어서, 그 설명이 제1 전송된 코드워드 X[1]에 포함되어 있는 것으로 가정하며;
- Nt는 전송 안테나의 수이며;
- N은 식(3)에 주어진 전송기에서 사용된 시공간 코드워드에 의해 스패닝된 타임 슬롯의 수이며(예를 들어, 골든 코드워드를 사용해서, N=2=코드워드 행렬 X[p]의 열의 수);
- C는 전송기에서 사용된 시공간 코드의 생성 행렬이며, 여기서 제공된 시뮬레이션에서, C는 식(4)에 정의된 바와 같이 골든 코드 생성 행렬이며;
- U는 식(10)에서의 그 변형된 블록 코드를 생성하기 위해 선택된 유니터리 행렬이며;
- r은 계산된 LSE 메트릭이 비교될 그 변형된 BEB 알고리즘의 지정된 검색 반경이다. 검색 반경을 오차 반경이라고도 한다. 솔루션이 알려지면, r은 그 솔루션에 의해 주어진 LSE의 값으로 갱신된다. 초기에, r은 사용자에 의해 선택되거나 통신 시스템에 의해 지정되어야 한다. r의 우수한 선택은 SNR 및 블록 크기 P 모두에 의존한다. 이것은 대부분의 노이즈 실현이 무시될 수 있는 값 이상의 값을 계산하는 것을 고려하여 시스템에 영향을 미치는 노이즈 항의 제곱의 합의 확률 밀도 함수를 사용함으로써 또한 r을 상기 이상의 값과 동일하게 되도록 설정함으로써 선택될 수 있으며;
-
Figure 112012045073006-pct00032
은 변조기(53)의 출력에서, 시공간 인코더 및 역다중화기(54)를 사용해서 각각의 코드워드 전송에서 인코딩될 수 있는 변조된 시스템의 모든 가능한 별개의 벡터의 집합이며, 따라서,
Figure 112012045073006-pct00033
은 L=ΩK이고 여기서 Ω는 배치 알파벳을 나타내고 K는 각각의 코드워드에서 인코딩되는 각각의 벡터에서의 심벌의 수이며, 예를 들어, Ω=[1,1]이 되도록 두 개의 심벌의 알파벳을 가지는 BPSK 변조기를 고려하고 식(3)에서의 골든 코드와 같은 각각의 코드워드에서의 4개의 심벌을 인코딩하는 시공간 코드를 사용하면,
Figure 112012045073006-pct00034
은 L=24=16개의 별개의 가능한 벡터를 포함하고 다음과 같이 주어지며
Figure 112012045073006-pct00035
더 높은 차수의 배치에 대해서도 마찬가지이다.
- I는 변형된 BEB 알고리즘을 개시할 때 모두 제로 벡터인 1×P 인덱스 벡터이다. I 내의 엔트리는 변형된 BEB 알고리즘의 검색 진행 동안에 채워진다. I 내의 각각의 엔트리는, 엔트리에 대응하는 전송된 심벌의 벡터에 대한 가능한 솔루션으로서 상기 변형된 BEB 알고리즘에 의해 현재 선택되어 있는 집합
Figure 112012045073006-pct00036
(또는 블라인드 MIMO 검출의 경우 파일럿 비트(들) 정보를 처리할 때 이하의 정의된 집합
Figure 112012045073006-pct00037
') 내의 열 벡터의 위치에 대응한다. 예를 들어, I(3)=6은 (전송된 코드워드에 각각 인코딩되어 있는) P개의 전송된 벡터를 포함하는 수신된 데이터의 블록에서 심벌들의 제3(세 번째) 전송된 벡터에 대한 가능한 솔루션으로서, 변형된 BEB 알고리즘이 집합
Figure 112012045073006-pct00038
에서 좌로부터 6번째 열을 현재 선택하고 있다는 것과 알고리즘에 의해 현재 처리되고 있다는 것을 의미한다. 인덱스 벡터에 대한 표시 I는 식별 행렬과 혼동되어서는 안 된다.
변형된 BEB 알고리즘 생성된 파라미터의 정의:
-
Figure 112012045073006-pct00039
'은 블라인드 MIMO 검출의 경우 파일럿 비트(들) b의 지식을 고려하여 선택된 집합
Figure 112012045073006-pct00040
의 부분집합이다. 이때 부분집합
Figure 112012045073006-pct00041
'의 차수는 실제 전송의 경우 ΩK/2이고 위상 내 및 직교 위상 전송의 경우 ΩK/4이다. 식(26)의 집합
Figure 112012045073006-pct00042
에 관해 주어진 예를 고려하면, 실제의 BPSK 전송이 고려되기 때문에 b는 단일 파일럿 비트이고 부분집합
Figure 112012045073006-pct00043
'은 16/2=8개의 가능한 개개의 벡터를 포함하며, 이 개개의 벡터는 단지 곱셈 기호보다 더 차이가 나며, 즉
Figure 112012045073006-pct00044
이고;
- i는 크기 P의 블록 내의 변형된 BEB 알고리즘의 검색 진행을 추적하는 카운터이며, 즉 범위 [1,...,P] 내의 값들을 취할 수 있으며 i의 값은 변형된 BEB 알고리즘에 의해 현재 검색되고 있는 크기 P의 블록 내의 인덱스를 반영한다. 그러므로 i=1 설정은 변형된 BEB 알고리즘이, P 전송을 스패닝하는 블록 내의 심벌의 제1 전송된 벡터에 대한 솔루션을 검색하고 있다는 것을 의미한다. i는 변형된 BEB 알고리즘을 언급할 때는 검사 위치를 칭하기도 한다;
- Xi는 i=1,...,P개의 코드워드를 포함하는 블록 내의 i번째 위치에 대한 변형된 BEB 알고리즘에 의해 선택된 코드워드이다. 이 표시는 블라인드 MIMO 검출과 함께 사용된다;
- 마찬가지로, Si는 i=2...,P개의 코드워드를 포함하는 블록 내의 i번째 위치에 대한 변형된 BEB 알고리즘에 의해 선택된 코드워드를 나타낸다. 이 표시는 블록 조인트 차등 MIMO와 함께 사용된다. 변형된 BEB 알고리즘은, 식(23)의 예를 위한 배경 장에서 설명된 바와 같이 블록 조인트 차등 MIMO 인코딩을 고려하기 위해 자동으로 S1=I로 설정한다;
- X(i)는 i번째 선택된 코드워드까지 그 변형된 BEB 알고리즘에 의해 모든 선택된 코드워드의 수평 연결을 나타내며, 즉 X(i)=[UX1, X2, ..., Xi]이다. 이 표시는 블라인드 MIMO와 함께 사용된다. 골든 코드워드를 사용하는 전술한 예의 경우, 제1 선택된 코드워드는 식(10)에서와 같이 변형된 블록 코드를 고려하기 위해 그 선택된 유니터리 행렬 U를 곱해야 한다.
- 마찬가지로, S(i)는 i번째 선택된 코드워드, 까지 그 변형된 BEB 알고리즘에 의해 모든 선택된 코드워드 및 식별 행렬의 수평 연경을 나타내며, 즉 S(i)=[I, S2, ..., Si]이다. 이 표시는 조인트 블록 차등 MIMO와 함께 사용된다;
- LSE 메트릭 MX (i)는 X(i)에 대응하는 정보만을 사용해서 블라인드 MIMO 검출에 대해 계산되며, 즉
Figure 112012045073006-pct00045
여기서, Y(i)는 YB의 부분집합이며, 블록 YB 내의 첫 번째 내지 i번째 수신된 데이터 행렬의 수평 연결을 포함하며, 즉 Y(i)=[Y[1],Y[2],...,Y[i]]이며;
- 마찬가지로, LSE 메트릭 MS (i)는 S(i) 및 대응하는 Y(i) 내의 정보만을 사용해서 조인트 블록 차등 MIMO에 대해 계산되며, 즉 다음과 같다:
Figure 112012045073006-pct00046
도 2는 수신기 동작(1400)에 대한 흐름도이다. 수신기 동작(1400)은 MIMO 수신기에서 그리고 상기 MIMO 수신기가 정상 동작 중일 때는 상기 MIMO 수신기의 MIMO 검출기 및 다중화기 블록(60)에서 수행되는 동작을 나타낼 수 있다. 블라인드 MIMO 검출에서 동작하는 수신기에 대한 수신기 동작에 대해 설명한다. 그렇지만, 조인트 블록 차등 MIMO에서 동작하는 수신기에 대한 동작도 유사할 수 있다. 수신기 동작은 MIMO 수신기가 입력 파라미터를 수신하는 것과 함께 시작할 수 있으며, 상기 입력 파라미터는 수신된 데이터 블록, 수신된 데이터 블록의 크기, 오차 반경, 시공간 코드 생성 행렬, 전송기의 전송 안테나의 수, 각각의 전송된 코드워드에 의해 스패닝된 타임 슬롯의 수, 각각의 전송된 코드워드에서 코딩된 변조된 심벌의 모든 가능한 벡터의 집합
Figure 112012045291301-pct00047
등을 포함한다. 또한, MIMO 수신기가 블라인드 MIMO 검출을 수행할 때, MIMO 수신기는 파일럿 비트 b의 존재를 고려하기 위해 집합
Figure 112012045291301-pct00048
대신 집합
Figure 112012045291301-pct00049
' 내의 변조된 심벌의 가능한 벡터의 집합만을 사용해서 제1 코드워드에 대한 검색을 조정해야 한다. 부가적으로, MIMO 수신기는 변수 및 인덱스 제어 변수를 시작 값으로 초기화할 수 있다(블록 1405). MIMO 수신기가 그 순서가 정해진 BEB 알고리즘을 수행하면, MIMO 수신기는 그 수신된 데이터 블록(블록 1407)에 지시를 내릴 수 있다. 그런 다음 MIMO 수신기는 검색 철회 조건, 검색 종료 조건, 및 검색 완화 조건을 평가할 수 있다(블록 1410). 일반적으로, BEB 알고리즘을 사용해서 수신된 데이터 블록 중에서 코드워드를 검출하는 것은 검색 트리를 통해 검색하는 것을 고려할 수 있는데, 여기서 검색 트리(tree)의 레벨은 개개의 수신된 데이터 행렬이고 주어진 레벨에서 검색 트리의 리프(leave)는 가능한 코드워드이다. MIMO 수신기는 초기에 검사 위치(검색 트리의 레벨)를 선택한 다음 가능한 코드워드를 통해 검색 트리의 특별한 레벨을 검색하여 검색 조건을 만족하는 코드워드를 찾아낸다.
주어진 레벨에서 검사하지 않은 코드워드가 있다면, MIMO 수신기는 검사되지 않은 코드워드로, 현재의 검사 위치보다 낮은 최고위 레벨에 대해 현재의 검사 위치(즉, 시간상 더 이른 행렬)보다 낮은 검색 트리를 통해 검사함으로써 철회 조건을 평가할 수 있다. 이러한 철회 레벨이 있으면, MIMO 수신기는 철회 트리를 철회 레벨로 철회하여 그 레벨에서 검사하지 않은 코드워드를 검사할 수 있다. MIMO 수신기가 철회해야만 한다는 것으로 결정하면, MIMO 수신기는 철회하는 그 결정에 따라 새로운 검사 위치(레벨) 및 철회 레벨을 계산할 수 있다. MIMO 수신기는 그런 다음 그 철회 레벨보다 더 높은 모든 레벨에 대해 모든 이전에 선택된 코드워드를 리셋한다(블록 1420).
철회 레벨이 없으면, MIMO 수신기는 검색 트리가 그 전체(검색 트리의 모든 레벨 및 모든 리프)를 검색하였다는 것으로 결정함으로써 종료 조건을 평가할 수 있다(블록 1410). 이것이 달성되면, MIMO 수신기는 솔루션(검색 트리의 각각의 레벨(즉, 검색 위치)에 대한 코드워드가 검출된 코드워드의 완전한 집합)을 찾아내는 것을 마칠 수 있다.
종료 조건이 충족되지 않았고 솔루션을 찾아내지 못한 경우, MIMO 수신기는 완화된 검색 제약으로 검색을 반복할 수 있다. 검색 제약이 완화될 수 있는 횟수는 중지 기준, 예를 들어 검색 반경에 대한 최대값 rmax, 수신기가 수신된 데이터의 이러한 블록을 검출하는 것을 포기하기 전에 허용, 또는 최대 지속시간, 또는 검색 제약이 솔루션을 찾아내지 않고서도 완화된 연속적인 횟수에 의해 제한될 수 있다. 중지 기준이 충족되면, 출구가 필요하고 MIMO는 그런 다음 재전송을 요구할 수 있다. 검색 철회 조건, 검색 종료 조건, 및 검색 완화 조건의 평가에 대한 상세한 설명은 이하의 실시예의 논의에서 거론한다.
검색 철회 조건, 검색 종료 조건, 및 검색 완화 조건을 평가한 후, MIMO 수신기는 출구가 필요한지를 결정하기 위해 검사를 수행할 수 있다(블록 1415). MIMO 수신기가 검사를 진행해야 하는 것으로 결정하면, MIMO 수신기는 검색 트리에서의 검사 위치를 계산하여 코드워드를 평가한다(블록 1420). 전술한 바와 같이, 검색 트리의 레벨들은 개개의 수신된 데이터 행렬에 대응할 수 있고, 검색 트리의 리프는 검색되어야 하는 코드워드에 대응할 수 있다. MIMO 수신기는 검색 트리의 레벨을 계산하고 블록 1420에서 더 높은 레벨에 있는 모든 이전에 선택된 코드워드를 리셋한다.
블록 1420에서 계산된 검사 위치(검색 트리에서의 레벨)에 따라, MIMO 수신기는 그 검사 위치 블록 1435에 대한 다음의 코드워드를 선택할 수 있다. 그런 다음 MIMO 수신기는 최소 제곱 오차와 같은 메트릭을 계산하는데, 모든 낮은 레벨 및 이 레벨까지 그리고 대응하는 수신된 데이터 행렬에 대해 선택된 모든 코드워드의 집합을 포함한다(블록 1425). MIMO 수신기는 메트릭이 오차 반경보다 더 큰 값인지를 결정하기 위한 검사를 수행할 수 있다(블록 1430). 일반적으로, 메트릭이 오차 반경보다 더 크면, 무효 코드워드가 그 검사 위치에 대해 선택될 수 있다. 그렇지만, 메트릭이 오차 반경보다 크지 않으면, 코드워드는 유효 코드일 수 있으며 추가의 검사를 수행하여 코드워드가 이 검사 위치에 대한 최선의 코드워드인지를 결정할 수 있다.
메트릭이 오차 반경보다 크면(블록 1430), 코드워드는 무효이고 MIMO 수신기는 블록 1410으로 복귀하여 검색 철회 조건, 검색 종료 조건, 및 검색 완화 조건을 재평가할 수 있다.
메트릭이 오차 반경보다 크지 않으면(블록 1430), 코드워드는 유효이고 그 수신된 데이터 행렬에 대한 최선의 코드워드일 수 있다. 그런 다음 MIMO 수신기는 모든 검사 위치(i=P)를 평가하였는지를 결정하기 위한 검사를 수행할 수 있다(블록 1440). MIMO 수신기가 모든 가능한 검사 위치(i≠P)를 평가하지 않았다면(블록 1440), MIMO 수신기는 검색 트리의 다음 레벨로 진행하고(블록 1450) 블록 1410으로 복귀하여 검색 철회 조건, 검색 종료 조건 및 검색 완화 조건을 재평가할 수 있다. MIMO 수신기는 그 새로운 검사 위치에 대한 코드워드를 선택하고(블록 1435) 블록 1425로 복귀하여 메트릭의 새로운 값을 계산할 수 있다.
메트릭이 오차 반경(블록 1430)보다 크기 않고 모든 가능한 검사 위치(수신된 데이터 행렬)가 평가되었다면(블록 1440), 모든 레벨(i=1,...,P)에 대해 선택된 코드워드는 지금까지 모든 수신된 데이터 블록에 대해 검출된 최선의 코드워드이고 MIMO 수신기는 검출된 코드워드 집합을, 출력 XOUT(조인트 블록 차등 MIMO의 경우에는 SOUT)에서 지금까지의 최선의 솔루션으로서 저장할 수 있다(블록 1445). 부가적으로, MIMO 수신기는 오차 반경을 줄여 검색 트리를 통해 검색을 세밀하게 할 수 있으면서, XOUT(또는 SOUT)에 저장된 코드워드보다 더 우수한 코드워드의 연속적인 선택만이 고려될 수 있다. MIMO 수신기는 블록 1410으로 복귀하여 철회 조건 및 종료 조건을 재평가함으로써 XOUT(또는 SOUT)에 저장된 현재의 솔루션과는 다른 더 우수한 솔루션들이 존재하는지를 검색할 수 있다. 실시예에 따르면, 오차 반경이 XOUT(또는 SOUT)에서 솔루션을 찾는 것에 기초하여 감소되면(블록 1445), 블록 1410은 더 이상 검색 완화 조건을 수행하지 않아도 되므로 철회 조건 및 종료 조건만을 평가하는 것을 고려할 것이다.
코드워드를 검출하는 것이 완전하면(블록 1415), 즉 종료 조건이 충족되고 솔루션을 찾아내면, MIMO 수신기는 상기 솔루션을 XOUT(또는 SOUT)에 저장된 코드워드의 집합으로서 출력할 수 있고, 코드워드의 집합은 처리된 다음(블록 1460) 수신기 동작(1400)은 종료될 수 있다.
도 3은 블라인드 검출에 대한 BGLRD를 실행하기 위한 MIMO 수신기 동작(200)의 흐름도이며, 식(10)에서와 같은 변형된 블록 코드워드가 사용될 수 있다. MIMO 수신기 동작(200)은 또한 식(7)에서와 같이 식별할 수 있는 시공간 코드에 대해 실행될 수 있고, 여기서 행렬 U는 식별 행렬로서 선택될 수 있다. MIMO 수신기 동작(200)은 MIMO 수신기의 MIMO 검출기 및 다중화기 블록(60)에서 실행될 수 있다.
MIMO 수신기 동작(200)은 MIMO 수신기(MIMO 검출기 및 다중화기 블록(60))이 입력 파라미터를 수신하는 것으로 시작할 수 있다(블록 205). 입력 파라미터는, YB-수신된 데이터 블록, r-오차 반경, P-수신된 데이터 블록 내의 데이터 행렬의 수, Nt-전송 안테나의 수, N-시공간 코드워드에 의해 스패닝된 타임 슬롯의 수, I-코드워드 검색의 트랙을 유지하는 데 사용되는 심벌 위치의 인덱스 벡터,
Figure 112012045073006-pct00050
-각각의 코드워드에서 인코딩된 변조된 심벌의 모든 가능한 벡터의 집합, b-실제의 전송인 경우는 1비트이고 복합 전송인 경우에는 2비트인 파일럿 비트, C-시공간 코드의 생성 행렬, 및 U-식(10)에서와 같이 블록 코드를 변형하는 데 사용되는 유니터리 행렬을 포함한다. 부가적으로, MIMO 수신기는
Figure 112012045073006-pct00051
'(파일럿 비트(b) 지식을 고려하는
Figure 112012045073006-pct00052
의 서브집합)를 계산할 수 있다. 부가적으로, MIMO 수신기는 변수 및 인덱스 제어 변수를 시작값으로 초기화할 수 있다(블록 205).
그런 다음 MIMO 수신기는 검색 철회 조건, 검색 종료 조건 및 검색 완화 조건을 평가할 수 있다(블록 210). MIMO 수신기는 인덱스 변수 i에 의해 지정된 검색 트리(I(i)=L)(단, L은 집합
Figure 112013049536375-pct00053
에 포함된 가능한 벡터의 수를 나타냄)의 레벨(검사 위치)에 대해 모든 코드워드를 검사하였는지를 검사함으로써 검색 철회 조건, 검색 종료 조건 및 검색 완화 조건을 평가할 수 있다(블록 212). MIMO 수신기가 제1 검사 위치, i=1을 고려하면, L은 제1 수신된 데이터 행렬에서의 파일럿 비트의 지식을 고려하는 대신 집합
Figure 112013049536375-pct00054
' 내의 벡터의 수에 대응하게 될 것이다. MIMO 수신기가 인덱스 변수 i, 즉 블록 212에서 (I(i)<L)에 의해 지정된 검색 트리의 레벨에 대해 모든 코드워드를 검사하지 않았다면, 철회는 필요하지 않으며 검사 위치가 변경될 수 없다(블록 214). 검색 철회 조건, 검색 종료 및 검색 완화 조건을 평가하는 것이 완전하게 될 수 있고, 코드워드를 검출하는 것이 완전하지 않으며(Exit=FALSE) MIMO 수신기 동작(200)을 진행할 수 있다.
MIMO 수신기는 블록 212에서 인덱스 변수 i, 즉 (I(i)=L)에 의해 지정된 검색 트리의 레벨에 대해 모든 코드워드를 검사하였다면, MIMO 수신기는 추가의 검사를 수행하여 i의 현재 값보다 낮은 검색 트리의 레벨에 대해 어떠한 검사되지 않은 코드워드가 존재하는지를 결정할 수 있다(블록 216). 이러한 검사는 검색 트리 내에 어떠한 검사하지 않은 코드워드가 존재하는지를 결정할 수 있으며, 이것은 i의 현재 값보다 작은 인덱스 변수 i의 값에 대응하는 검색 트리의 각각의 가능한 레벨에 대해 I(i)<L인지를 검사하는 것을 포함한다. 바람직하게, 검사는 현재의 검사 위치보다 작은 가장 높은 레벨(검사 위치)로 시작하고, 검사되지 않은 코드워드(들)를 가진 레벨을 찾을 때까지 또는 모든 검사 위치가 검사될 때까지 낮은 레벨들로 순차 진행할 수 있다.
검사되지 않은 코드워드들이 존재하면(철회 레벨이 존재한다는 것을 의미)(블록 218), MIMO 수신기는 철회할 수 있고, 검사하지 않은 코드워드를 가지고 i의 현재 값, 철회 레벨보다 낮은 검색 트리의 가장 높은 레벨로 인덱스 변수 i를 설정한다(블록 220). MIMO 수신기 동작(200)은 계속될 수 있다.
검사하지 않은 코드워드가 존재하지 않으면, 즉 철회 레벨이 존재하지 않으면(블록 218), MIMO 수신기는 코드워드를 검사하는 것이 완전하고 수신된 데이터 블록에 대응하는 코드워드의 집합을 찾아내었는지, 즉 솔루션(XOUT)을 찾아내었는지를 결정하기 위해 검사할 수 있다(블록 222). MIMO 수신기는 코드워드를 검출하는 것이 출력 XOUT를 검사함으로써 완전한지를 결정할 수 있다. 출력 XOUT이 비어있다면 솔루션을 찾아내지 못한 것이고, 반면에, 출력 XOUT이 비어있지 않으면, 솔루션을 찾아냈으며 수신된 데이터 블록에 대응하는 검출된 코드워드의 집합이 XOUT에서 검출된 것이다. 솔루션을 찾아내었다면(블록 222), 종료 조건이 충족되고, 검색 철회 조건, 검색 종료 조건 및 검색 완화 조건을 평가하는 것이 완전하고 코드워드를 검출하는 것이 완전하며(Exit=TRUE)(블록 224) 그런 다음 MIMO 수신기 동작(200)이 종료될 수 있다.
철회 레벨이 존재하지 않으면(블록 218) 그리고 코드워드를 검출하는 것이 실패이면(솔루션을 찾지 못하면)(블록 222), MIMO 수신기는 출구 조건이 충족되면, 이 수신된 데이터의 블록에 대응하는 코드워드 집합을 검출하는 것을 포기하기로 결정할 수 있다(블록 226). 출구 조건은, 오차 반경 r의 수 개의(잠재적 사용자 또는 지정된 시스템) 연속적인 완화 후, 특정한 허용 가능한 시간 주기 제한 후, 또는 오차 반경이 최대값을 넘어 완화되면, 솔루션을 찾아낼 수 있는 것을 포함하지 않는다(블록 226). MIMO 수신기는 그 수신된 데이터 블록이 검출불능인 것으로 결정하고, Exit=TRUE(블록 224)이고 그런 다음 MIMO 수신기 동작(200)은 종료될 수 있다. 재전송 요구는 데이터 블록이 재전송되어야 한다는 것을 요구하기 위해, 수신된 데이터 블록의 소스에 대해 MIMO 수신기에 의해 이루어질 수 있다.
철회 레벨이 존재하지 않으면(블록 218), 코드워드의 검출된 집합(솔루션)이 발견되지 않은 것이고(블록 222), 출구 조건이 충족되지 않으면(블록 226), MIMO 수신기는 검색 기준을 느슨하게 하기 위해 오차 반경 r을 완화시켜야 한다(블록 228). 예를 들어, MIMO 수신기는 오차 반경 r의 크기를 2배로 할 수 있다. 부가적으로, MIMO 수신기는 인덱스 변수 i 및 인덱스 벡터 I를 리셋할 수 있다. MIMO 수신기는 검색의 진행에 대한 추적을 유지하기 위해 사용되는 일부의 상태 변수를 다시 개시할 수 있다. 그런 다음 검색 철회 조건, 검색 종료 조건 및 검색 완화 조건을 평가하는 것은 완전할 수 있고 코드워드를 검출하는 것은 완전하지 않다(Exit=FALSE).
검색 철회 조건, 검색 종료 조건 및 검색 완화 조건을 평가한 후, MIMO 수신기는 출구가 필요한지를 결정하기 위한 검사를 수행할 수 있다(블록 230). MIMO 수신기가 검색을 진행해야 하는 것으로 결정하면, MIMO 수신기는 검색 트리에서 검사 위치를 계산하여 코드워드를 평가할 수 있다(블록 235). 전술한 바와 같이, 검색 트리의 레벨은 개개의 수신된 데이터 행렬에 대응하고 검색 트리의 리프는 검색될 코드워드에 대응할 수 있다. MIMO 수신기는 검색 트리의 레벨을 계산하고, 블록 235에서 검색 트리의 그 계산된 검사 위치(레벨)보다 높은 레벨에 모든 이전에 선택된 코드워드를 리셋한다.
계산된 검사 위치(블록 235)에 따라, MIMO 수신기는 집합
Figure 112012045073006-pct00055
내의 벡터의 가능한 집합을 사용하여 그 검사 위치에 대한 다음의 코드워드를 선택한다(블록 250). 인덱스 변수 i=1, 즉 검색 트리의 제1 레벨이 평가되면, 코드워드는
Figure 112012045073006-pct00056
가 아닌 집합
Figure 112012045073006-pct00057
' 내의 가능한 심벌 벡터의 집합에 기초하여 선택된다. 블록 250에서 주어진 검사 위치(레벨)에 대한 코드워드를 선택한 후, MIMO 수신기는 블록 240에서, 식(28)의 최소 제곱 오차와 같은 메트릭을 계산하는데, 모든 낮은 레벨 및 이 레벨까지 그리고 대응하는 수신된 데이터 행렬에 대해 선택된 모든 코드워드의 집합을 포함한다.
그런 다음 MIMO 수신기는 메트릭이 오차 반경보다 더 큰 값인지를 결정하기 위한 검사를 수행할 수 있다(블록 245). 일반적으로, 메트릭이 오차 반경보다 더 크면, 무효 코드워드가 그 검사 위치에 대해 선택될 수 있다. 그렇지만, 메트릭이 오차 반경보다 크지 않으면, 코드워드는 유효 코드일 수 있으며 추가의 검사를 수행하여 코드워드가 이 검사 위치에 대한 최선의 코드워드인지를 결정할 수 있다.
메트릭이 오차 반경보다 크면(블록 245), 코드워드는 무효이고 MIMO 수신기는 블록 210으로 복귀하여 검색 철회 조건, 검색 종료 조건, 및 검색 완화 조건을 재평가할 수 있다.
메트릭이 오차 반경보다 크지 않으면(블록 245), 코드워드는 유효이고 그 수신된 데이터 행렬에 대한 최선의 코드워드일 수 있다. 그런 다음 MIMO 수신기는 모든 검사 위치(i=P)를 평가하였는지를 결정하기 위한 검사를 수행할 수 있다(블록 255). MIMO 수신기가 모든 가능한 검사 위치(i≠P)를 평가하지 않았다면(블록 255), MIMO 수신기는 검색 트리의 다음 레벨로 진행하고(블록 265) 블록 210으로 복귀하여 검색 철회 조건, 검색 종료 조건 및 검색 완화 조건을 재평가할 수 있다.
메트릭이 오차 반경(블록 245)보다 크기 않고 (블록 내의 수신된 데이터 행렬에 대응하는) 모든 가능한 검사 위치가 평가되었다면(블록 255), 모든 레벨(i=1,...,P)에 대해 선택된 코드워드는 지금까지 모든 수신된 데이터 블록에 대해 검출된 최선의 코드워드이고 MIMO 수신기는 검출된 코드워드 집합을, 출력 XOUT에서 지금까지의 최선의 솔루션으로서 저장할 수 있다(블록 260). 부가적으로, MIMO 수신기는 오차 반경을 줄여 검색 트리를 통해 검색을 세밀하게 할 수 있으면서, XOUT(또는 SOUT)에 저장된 코드워드보다 더 우수한 코드워드의 연속적인 선택만이 고려될 수 있다. MIMO 수신기는 블록 210으로 복귀하여 철회 조건 및 종료 조건을 재평가함으로써 XOUT에 저장된 현재의 솔루션과는 다른 더 우수한 솔루션들이 존재하는지를 검색할 수 있다. 오차 반경이 XOUT에서 솔루션을 찾는 것에 기초하여 감소되면, 블록 210은 더 이상 검색 완화 조건을 수행하지 않아도 되므로 철회 조건 및 종료 조건만을 평가하는 것을 고려할 것이다.
코드워드를 검출하는 것이 완전하면(블록 230), 즉 종료 조건이 충족되고 솔루션을 찾아내면, MIMO 수신기 동작(200)은 종료될 수 있다.
도 4는 조인트 블록 차등 MIMO에 대한 DGLRD를 실행하기 위한 MIMO 수신기 동작(300)의 흐름도이다. MIMO 수신기 동작(300)은 MIMO 수신기의 MIMO 검출기 및 다중화기 블록(60)에서 실행될 수 있다.
MIMO 수신기 동작(300)은 MIMO 수신기(MIMO 검출기 및 다중화기 블록(60))이 입력 파라미터를 수신하는 것으로 시작할 수 있다(블록 305). 입력 파라미터는, YB, r, P, Nt, N, I,
Figure 112012045073006-pct00058
, b, 및 C를 포함한다. 부가적으로, MIMO 수신기는 변수 및 인덱스 제어 변수를 시작값으로 초기화할 수 있다(블록 305).
그런 다음 MIMO 수신기는 검색 철회 조건, 검색 종료 조건 및 검색 완화 조건을 평가할 수 있다(블록 310). MIMO 수신기는 인덱스 변수 i에 의해 지정된 검색 트리(I(i)=L)(단, L은 집합
Figure 112013049536375-pct00059
에 포함된 가능한 벡터의 수를 나타냄)의 레벨(검사 위치)에 대해 모든 코드워드를 검사하였는지를 검사함으로써 검색 철회 조건, 검색 종료 조건 및 검색 완화 조건을 평가할 수 있다(블록 312). MIMO 수신기 동작(300)에 있어서, 제1 수신된 데이터 행렬에 위치하는 피봇 정보에 따라, 식(23)의 예에서와 같이 블록 차등 인코딩에 대한 피봇 정보를 고려하기 위해 i=1에 대응하는 제1 레벨이 배제된다. 피봇 정보가 블록 내의 임의의 다른 위치에 전송되면, 첫 번째와는 다른 MIMO 수신기 동작(300)에 유사한 상정을 적용할 수 있다. MIMO 수신기가 인덱스 변수 i, 즉 블록 312에서 (I(i)<L)에 의해 지정된 검색 트리의 레벨에 대해 모든 코드워드를 검사하지 않았다면, 철회는 필요하지 않으며 검사 위치가 변경될 수 없다(블록 314). 검색 철회 조건, 검색 종료 및 검색 완화 조건을 평가하는 것이 완료될 수 있고, 코드워드를 검출하는 것이 완전하지 않으며(Exit=FALSE) MIMO 수신기 동작(200)을 진행할 수 있다.
MIMO 수신기는 블록 312에서 인덱스 변수 i, 즉 (I(i)=L)에 의해 지정된 검색 트리의 레벨에 대해 모든 코드워드를 검사하였다면, MIMO 수신기는 추가의 검사를 수행하여 i의 현재 값보다 낮은 검색 트리의 레벨에 대해 어떠한 검사되지 않은 코드워드가 존재하는지를 결정할 수 있다(블록 316). 이러한 검사는 검색 트리 내에 어떠한 검사하지 않은 코드워드가 존재하는지를 결정할 수 있으며, i=1을 제외한 상태에서, 이것은 i의 현재 값보다 작은 인덱스 변수 i의 값에 대응하는 검색 트리의 각각의 가능한 레벨에 대해 I(i)<L인지를 검사하는 것을 포함한다. 바람직하게, 검사는 현재의 검사 위치보다 작은 가장 높은 레벨(검사 위치)로 시작하고, 검사되지 않은 코드워드(들)을 가진 레벨을 찾을 때까지 또는 모든 검사 위치가 검사될 때까지 낮은 레벨들로 순차 진행할 수 있다.
검사되지 않은 코드워드들이 존재하면(철회 레벨이 존재한다는 것을 의미)(블록 318), MIMO 수신기는 철회할 수 있고, 검사하지 않은 코드워드를 가지고 i의 현재 값, 즉 철회 레벨보다 낮은 검색 트리의 가장 높은 레벨로 인덱스 변수 i를 설정한다(블록 320). 검색 철회 조건, 검색 종료 및 검색 완화 조건을 평가하는 것이 완전하게 될 수 있지만, 코드워드를 검출하는 것이 완전하지 않으며(Exit=FALSE) MIMO 수신기 동작(200)을 진행할 수 있다(블록 330).
검사하지 않은 코드워드가 존재하지 않으면, 즉 철회 레벨이 존재하지 않으면(블록 318), MIMO 수신기는 코드워드를 검사하는 것이 완전하고 수신된 데이터 블록에 대응하는 코드워드의 집합을 찾아내었는지, 즉 솔루션(SOUT)을 찾아내었는지를 결정하기 위해 검사할 수 있다(블록 322). MIMO 수신기는 코드워드를 검출하는 것이 출력 SOUT를 검사함으로써 완전한지를 결정할 수 있다. 출력 SOUT이 비어있다면 솔루션을 찾아내지 못한 것이고, 반면에, 출력 SOUT이 비어있지 않으면, 솔루션을 찾아냈으며 수신된 데이터 블록에 대응하는 검출된 코드워드의 집합이 SOUT에서 검출된 것이다. 솔루션을 찾아내었다면(블록 322), 종료 조건이 충족되고, 검색 철회 조건, 검색 종료 조건 및 검색 완화 조건을 평가하는 것이 완전하고 코드워드를 검출하는 것이 완전하며(Exit=TRUE)(블록 324) 그런 다음 MIMO 수신기 동작(300)이 종료될 수 있다.
철회 레벨이 존재하면(블록 318) 그리고 코드워드를 검출하는 것이 실패이면(솔루션을 찾지 못하면)(블록 322), MIMO 수신기는 출구 조건이 충족되면, 이 수신된 데이터의 블록에 대응하는 코드워드 집합을 검출하는 것을 포기하기로 결정할 수 있다(블록 326). 출구 조건은, 오차 반경 r의 수 개의(잠재적 사용자 또는 지정된 시스템) 연속적인 완화 후, 특정한 허용 가능한 시간 주기 제한 후, 또는 오차 반경이 최대값을 넘어 완화되면, 솔루션을 찾아낼 수 있는 것을 포함하지 않는다(블록 326). MIMO 수신기는 그 수신된 데이터 블록이 검출불능인 것으로 결정하고, Exit=TRUE(블록 324)이고 그런 다음 MIMO 수신기 동작(300)은 종료될 수 있다. 재전송 요구는 데이터 블록이 재전송되어야 한다는 것을 요구하기 위해, 수신된 데이터 블록의 소스에 대해 MIMO 수신기에 의해 이루어질 수 있다.
철회 레벨이 존재하지 않으면(블록 318), 코드워드의 검출된 집합(솔루션)이 발견되지 않은 것이고(블록 322), 출구 조건이 충족되지 않으면(블록 326), MIMO 수신기는 검색 기준을 느슨하게 하기 위해 오차 반경 r을 완화시켜야 한다(블록 328). 예를 들어, MIMO 수신기는 오차 반경 r의 크기를 2배로 할 수 있다. 부가적으로, MIMO 수신기는 인덱스 변수 i 및 인덱스 벡터 I와 같이, 다른 변수를 리셋할 수 있다. MIMO 수신기는 검색의 진행에 대한 추적을 유지하기 위해 사용되는 일부의 상태 변수를 다시 개시할 수 있다. MIMO 수신기는 또한 검색의 진행의 추적을 계속하는 데 사용되는 일부의 상태 변수를 다시 초기화해야 한다. 그런 다음 검색 철회 조건, 검색 종료 및 검색 완화 조건을 평가하는 것이 완전하게 될 수 있고, 코드워드를 검출하는 것이 완전하지 않다(Exit=FALSE).
검색 철회 조건, 검색 종료 조건 및 검색 완화 조건을 평가한 후, MIMO 수신기는 출구가 필요한지를 결정하기 위한 검사를 수행할 수 있다(블록 330). MIMO 수신기가 검색을 진행해야 하는 것으로 결정하면, MIMO 수신기는 검색 트리에서 검사 위치를 계산하여 코드워드를 평가할 수 있다(블록 335). 전술한 바와 같이, 검색 트리의 레벨은 개개의 수신된 데이터 행렬에 대응하고 검색 트리의 리프는 검색될 코드워드에 대응할 수 있다. MIMO 수신기는 검색 트리의 레벨을 계산하고, 블록 335에서 검색 트리의 그 계산된 검사 위치(레벨)보다 높은 레벨에 모든 이전에 선택된 코드워드를 리셋한다.
계산된 검사 위치(블록 335)에 따라, MIMO 수신기는 집합
Figure 112012045073006-pct00060
내의 벡터의 가능한 집합을 사용하여 그 검사 위치에 대한 다음의 코드워드를 선택한다(블록 350). 블록 350에서 주어진 검사 위치(레벨)에 대한 코드워드를 선택한 후, MIMO 수신기는 식(29)의 최소 제곱 오차와 같이, 블록 340에서 메트릭을 계산하는데, 모든 낮은 레벨 및 이 레벨까지 그리고 대응하는 수신된 데이터 행렬에 대해 선택된 모든 코드워드의 집합을 포함한다. 그런 다음, MIMO 수신기는 메트릭이 오차 반경보다 더 큰 값인지를 결정하기 위한 검사를 수행할 수 있다(블록 345). 일반적으로, 메트릭이 오차 반경보다 더 크면, 무효 코드워드가 그 검사 위치에 대해 선택될 수 있다. 그렇지만, 메트릭이 오차 반경보다 크지 않으면, 코드워드는 유효 코드일 수 있으며 추가의 검사를 수행하여 코드워드가 이 검사 위치에 대한 최선의 코드워드인지를 결정할 수 있다.
메트릭이 오차 반경보다 크면(블록 345), 코드워드는 무효이고 MIMO 수신기는 블록 310으로 복귀하여 검색 철회 조건, 검색 종료 조건, 및 검색 완화 조건을 재평가할 수 있다.
메트릭이 오차 반경보다 크지 않으면(블록 345), 코드워드는 유효이고 그 수신된 데이터 행렬에 대한 최선의 코드워드일 수 있다. 그런 다음 MIMO 수신기는 모든 검사 위치(i=P)를 평가하였는지를 결정하기 위한 검사를 수행할 수 있다(블록 355). MIMO 수신기가 모든 가능한 검사 위치(i≠P)를 평가하지 않았다면(블록 355), MIMO 수신기는 검색 트리의 다음 레벨로 진행하고(블록 365) 블록 310으로 복귀하여 검색 철회 조건, 검색 종료 조건 및 검색 완화 조건을 재평가할 수 있다.
메트릭이 오차 반경(블록 345)보다 크기 않고 (블록 내의 수신된 데이터 행렬에 대응하는) 모든 가능한 검사 위치가 평가되었다면(블록 355), 모든 레벨(i=1,...,P)에 대해 선택된 코드워드는 지금까지 모든 수신된 데이터 블록에 대해 검출된 최선의 코드워드이고 MIMO 수신기는 검출된 코드워드 집합을, 출력 SOUT에서 지금까지의 최선의 솔루션으로서 저장할 수 있다(블록 360). 부가적으로, MIMO 수신기는 오차 반경을 줄여 검색 트리를 통해 검색을 세밀하게 할 수 있으면서, SOUT에 저장된 코드워드보다 더 우수한 코드워드의 연속적인 선택만이 고려될 수 있다. MIMO 수신기는 블록 310으로 복귀하여 철회 조건 및 종료 조건을 재평가함으로써 SOUT에 저장된 현재의 솔루션과는 다른 더 우수한 솔루션들이 존재하는지를 검색할 수 있다. 오차 반경이 SOUT에서 솔루션을 찾는 것에 기초하여 감소되면, 블록 310은 더 이상 검색 완화 조건을 수행하지 않아도 되므로 철회 조건 및 종료 조건만을 평가하는 것을 고려할 것이다.
코드워드를 검출하는 것이 완전하면(블록 330), 즉 종료 조건이 충족되고 솔루션을 찾아내면, MIMO 수신기 동작(300)은 종료될 수 있다.
대안의 실시예에서, 계산 요건의 추가의 감소가, 개개의 코드워드를 검출하기 전에 크기 P의 수신된 데이터 블록 내의 수신된 데이터를 지시함으로써 달성될 수 있다. 계산 요건의 추가의 감소는 낮은 SNR 상황 및/또는 큰 블록 크기 P에서 특히 두드러질 수 있다. 바람직하게, 순서가 정해지는 것은 그 수신된 모든 p=1,...,P에 대한 개개의 수신된 코드워드의 프로베니우스 놈(frobenius norm)에 기초하여 수행될 수 있다.
Figure 112012045073006-pct00061
이므로,
Figure 112012045073006-pct00062
이다.
데이터 블록 내에서 반복된 코드워드를 가질 확률을 고려하면, 다음과 같이 될 수 있다:
Figure 112012045073006-pct00063
이면, p1 및 p2는 {1,...,P}에 속하면,
Figure 112012045073006-pct00064
부가적으로, 수신된 행렬의 큰 놈(norm)이 큰 노이즈 샘플에 대응하는 것으로 제시되면, 수신된 코드워드는 그 놈에 따라 (예를 들어, 내림차순으로) 순서가 정해지면 그리고 큰 놈을 가지는 코드워드가 먼저 검색되면, 이러한 검색은 노이지 버전(noisy version)에 대해 먼저 수행되는 것으로 의미할 수 있다. 노이지 버전에 대해 먼저 검색함으로써, 검색 철회가 검색 진행됨에 따라 회피될 수 있기 때문에 계산 요건의 감소는 예상될 수 있다. 따라서, 수신된 코드워드의 순서를 정하는 것에서 생기는 계산 요건의 감소는 낮은 SNR 시나리오 및/또는 큰 블록 크기(P) 최대로 될 것으로 예상되며 증가하는 SRN 및 감소하는 P에 따라 축소된다.
수신된 코드워드의 순서를 정하는 것이 추가적인 계산 복잡도의 양을 도입할 수 있을지라도, 추가적인 계산 복잡도의 양은 수신된 코드워드의 순서를 정함으로써 획득되는 계산 요건의 전체적인 감소와 비교해 볼 때 매우 작을 수 있다.
추가의 알고리즘 생성된 파라미터의 정의:
- O은 프로베니우스 놈의 내림차순에 따라 블록 내의 수신된 코드워드의 인덱스를 제공하는 1×P 인덱스 벡터이다. 그러므로 O 내의 엔트리는 범위 1:P 내의 값만을 취할 수 있다. 예를 들어, 5개의 수신된 코드워드, 즉 P=5로 이루어진 블록은
Figure 112012045073006-pct00065
로 되도록 그리고 프로베니우스 놈에 따라
Figure 112012045073006-pct00066
로 정해지며, 인덱스 벡터 O는 O=[3, 1, 5, 2, 4]로 주어질 수 있다. 그러므로 순서가 정해진 BEB 알고리즘은 i=1에서 검색을 개시할 수 있고(단, i는 이전에 정해진 바와 같이 알고리즘의 검색 진행을 추적하는 카운터이다) O(i)=O(1)=3으로 주어지는 검사 위치를 계산하며, 즉 알고리즘은 블록 내의 제3 수신된 데이터 행렬에 대응하는 코드워드를 먼저 검색할 수 있다. 계산된 메트릭이 오차 반경보다 작으면, 카운터 i를 i=2로 증가시키고 제1 수신된 데이터 행렬에 대응하는 O(i)=O(2)=1로서 다음의 검사 위치를 계산함으로써 다음 레벨로 진행할 것이며, 계속해서 가장 높은(최후의) 검사 위치가, P=5 수신된 행렬을 포함하는 블록 내의 제4 수신된 데이터 행렬에 대응하는 O(P)=O(5)=4로 될 때까지 진행할 것이다. 전술한 바와 같이, 인덱스 벡터 I 내의 각각의 대응하는 엔트리는, 그 검사 위치에서 전송된 심벌의 벡터에 대한 가능한 솔루션으로서 순서가 정해진 BEB 알고리즘에 의해 현재 선택될 수 있는 집합
Figure 112012045073006-pct00067
(또는 블라인드 MIMO 검출에 대한 파일럿 비트를 다룰 때의
Figure 112012045073006-pct00068
') 내의 열 벡터의 위치를 나타낸다. 예를 위에서 주어진 고려하면, i=1에 있어서, O(1)=3이고 따라서 I(O(1))=6은 I(3)=6을 의미하고, 이것은 그 순서가 정해진 BEB 알고리즘이, 집합
Figure 112012045073006-pct00069
내의 좌로부터 6번째 열을, 전송된 코드워드에서 각각 인코딩되어 있는 P=5 전송된 심벌 벡터를 포함하는 수신된 데이터의 블록 내의 심벌의 제3 전송된 벡터에 대한 가능한 솔루션으로서 현재 선택하고 있다는 것을 의미하며;
- XO (i)는 P 개의 코드워드를 포함하는 블록 내에서 (O(i))번째 위치(검사 위치 또는 레벨이라고도 함)에 대한 알고리즘에 의해 선택된 코드워드를 나타낸다. 이러한 표시는 블라인드 MIMO 검출과 함께 사용되며; (O(i))번째 위치는 그 순서가 정해진 BEB 알고리즘을 설명할 때 검사 위치(레벨)이라고도 한다;
- 마찬가지로, SO (i)는 데이터 블록 내에서 (O(i))번째 위치(검사 위치 또는 레벨이라고도 함)에 대한 알고리즘에 의해 선택된 코드워드를 나타내고, 이러한 표시는 조인트 블록 차등 MIMO 검출과 함께 사용되며;
- X(O(i))는 1부터 i까지의 벡터 O의 엔트리에 대응하는 변형된 BEB 알고리즘에 의해 모든 선택된 코드워드의 수평 순서의 연결을 나타내며, 즉 X(O(i))=[XO (1), XO(2),..., XO(i)]이다. 1부터 i까지의 벡터 O 내의 임의의 엔트리가 1과 같으면, 구성된 블록 X(O(i)) 내의 대응하는 코드워드는 식(10)에서와 같이 골든 코드워드 예에 대한 블록 변형된 코드워드를 고려하기 위해 행렬 U를 사전에 곱해야 한다. 이러한 표시는 블라인드 MIMO 검출과 함께 사용된다;
- 마찬가지로, S(O(i))는 2부터 i까지의 벡터 O의 엔트리에 대응하는 변형된 BEB 알고리즘에 의해 모든 선택된 코드워드 및 식별 행렬의 수평 순서의 연결을 나타내며, 즉 S(O(i))=[I, SO (2),..., SO(i)]이다. 이러한 표시는 조인트 블록 차등 MIMO와 함께 사용된다. 식(23)에 주어진 예에 따라 블록 차등 MIMO에 있어서, O(1)=1, 즉 제1 레벨(검사 위치)은 피봇 정보에 대응하는 수신된 데이터 행렬을 위해 보류될 수 있고 알고리즘에 의해 수행되는 검색에서 배제된다. 부가적으로, S(O(1))는 전술한 바와 같이 블록 차등 MIMO 인코딩을 고려하기 위해 항상 식별 행렬과 동일하다. 블록 차등 인코딩을 위한 피봇 정보가 제1 위치와는 다른 전송된 블록 내의 위치에 위치하면 유사한 고려를 적용해 볼 수 있다;
- X(O(>i))는 (i+1)로부터 P까지의 벡터 O 내의 엔트리에 대응하는 알고리즘에 의해 선택된 코드워드의 수평적 순서가 정해진 연결을 나타내며, 즉
Figure 112012045073006-pct00070
이다. (i+1)로부터 P까지의 벡터 O 내의 임의의 엔트리가 1과 같으면, X(O(>i)) 내의 대응하는 코드워드는 식(10)의 골든 코드워드 예에서와 같이 변형된 블록 코드워드를 고려하기 위해 행렬 U를 사전에 곱해야 한다. 이러한 표시는 블라인드 MIMO 검출과 함께 사용된다:
- 마찬가지로, S(O(>i))는 (i+1)로부터 P까지의 벡터 O 내의 엔트리에 대응하는 알고리즘에 의해 선택된 코드워드의 수평적 순서가 정해진 연결을 나타내며, 즉
Figure 112012045073006-pct00071
이다. 이러한 표시법은 조인트 블록 차등 MIMO와 함께 사용된다;
- LSE 메트릭 MX (O(i))는 대응하는 순서로 채워진 인덱스 내의 정보에 기초하여 계산되며, 즉
Figure 112012045073006-pct00072
여기서, X(O(i))는 위에서 정의된 바와 같으며 Y(O(i))는 1부터 i까지의 벡터 O 내의 엔트리에 대응하는 수신된 데이터 블록 YB 내의 수신된 데이터 행렬의 수평적 순서가 정해진 연결을 나타내며, 즉
Figure 112012045073006-pct00073
이다. 이러한 표시법은 블라인드 MIMO 검출과 함께 사용된다;
- 마찬가지로, LSE 메트릭 MS (O(i))는 S(O(i)) 내의 정보 및 Y(O(i)) 내의 대응하는 수신된 정보만을 사용하여 조인트 블록 차등 MIMO에 대해 계산되며, 즉
Figure 112012045073006-pct00074
이다.
도 5는 블라인드 검출에 대한 순서가 정해진 BEB 알고리즘을 실행하기 위한 MIMO 수신기 동작(400)의 흐름도이며, 식(10)에서와 같은 변형된 블록 코드워드가 사용된다. MIMO 수신기 동작(400)은 또한 식(7)에서와 같이 식별할 수 있는 시공간 코드에 대해 실행될 수 있고, 여기서 행렬 U는 식별 행렬로서 선택될 수 있다. MIMO 수신기 동작(400)은 MIMO 수신기의 MIMO 검출기 및 다중화기 블록(60)에서 실행될 수 있다.
MIMO 수신기 동작(400)은 MIMO 수신기(MIMO 검출기 및 다중화기 블록(60))이 입력 파라미터를 수신하는 것으로 시작할 수 있다(블록 405). 입력 파라미터는, YB, r, P, Nt, N, I,
Figure 112012045073006-pct00075
, b, C, 및 U를 포함한다. 부가적으로, MIMO 수신기는
Figure 112012045073006-pct00076
'(파일럿 비트(b) 지식을 고려하는
Figure 112012045073006-pct00077
의 서브집합)를 계산할 수 있을 뿐만 아니라 변수 및 인덱스 제어 변수를 시작값으로서 초기화할 수 있다. 입력 값을 수신하고
Figure 112012045073006-pct00078
'를 계산한 후, MIMO 수신기는 수신된 데이터 블록 YB의 순서를 정할 수 있다(블록 407). 전술한 바와 같이, MIMO 수신기는 개개의 수신된 데이터 행렬의 프로베니우스 놈(frobenius norm)에 기초하여 내림차순으로 순서가 정해질 수 있다. 그 순서가 정해진 수신된 데이터 블록에 대한 인덱스를 벡터 O로서 저장할 수 있다.
그런 다음 MIMO 수신기는 검색 철회 조건, 검색 종료 조건 및 검색 완화 조건을 평가할 수 있다(블록 410). MIMO 수신기는 인덱스 변수 O(i)에 의해 지정된 검색 트리(I(O(i))=L)(단, L은 집합
Figure 112013049536375-pct00079
에 포함된 가능한 벡터의 수를 나타냄)의 레벨(검사 위치)에 대해 모든 코드워드를 검사하였는지를 검사함으로써 검색 철회 조건, 검색 종료 조건 및 검색 완화 조건을 평가할 수 있다(블록 412). MIMO 수신기가 제1 수신된 데이터 행렬, 즉 O(i)=1에 대응하는 제1 검사 위치를 고려하면, L은 제1 수신된 데이터 행렬에서의 파일럿 비트의 지식을 고려하는 대신 집합
Figure 112013049536375-pct00080
' 내의 벡터의 수에 대응하게 될 것이다. MIMO 수신기가 인덱스 변수 O(i), 즉 블록 412에서 (I(O(i))<L)에 의해 지정된 검색 트리의 레벨에 대해 모든 코드워드를 검사하지 않았다면, 철회는 필요하지 않으며 검사 위치가 변경될 수 없다(블록 414). 검색 철회 조건, 검색 종료 및 검색 완화 조건을 평가하는 것이 완전하게 될 수 있고, 코드워드를 검출하는 것이 완전하지 않으며(Exit=FALSE) MIMO 수신기 동작(200)을 진행할 수 있다.
MIMO 수신기는 블록 412에서 인덱스 변수 O(i), 즉 (I(O(i))=L)에 의해 지정된 검색 트리의 레벨에 대해 모든 코드워드를 검사하였다면, MIMO 수신기는 추가의 검사를 수행하여 O(i)의 현재 값보다 낮은 검색 트리의 레벨에 대해, 즉 인덱스 벡터 O 내의 제1 엔트리 내지 (i-1)번째 엔트리에 대해 지정된 레벨에 대해 어떠한 검사되지 않은 코드워드가 존재하는지를 결정할 수 있다(블록 416). 이러한 검사는 검색 트리 내에 어떠한 검사하지 않은 코드워드가 존재하는지를 결정할 수 있으며, 이것은 i의 현재 값보다 작은 i의 값에 대한 인덱스 변수 O(i)의 값에 대응하는 검색 트리의 각각의 가능한 레벨에 대해 I((O(i))<L인지를 검사하는 것을 포함한다. 바람직하게, 검사는 현재의 검사 위치보다 작은 가장 높은 레벨(검사 위치), 즉 O(i-1) 내의 엔트리에 의해 주어진 검사 위치로 시작하고, 검사되지 않은 코드워드(들)을 가진 레벨을 찾을 때까지 또는 모든 검사 위치가 검사될 때까지 낮은 레벨들로 순차 진행할 수 있다.
검사되지 않은 코드워드들이 존재하면(철회 레벨이 존재한다는 것을 의미)(블록 418), MIMO 수신기는 현재의 레벨보다 낮은 검사하지 않은 코드워드를 가지는 검색의 가장 높은 레벨(이것은 검사하지 않은 코드워드를 가지는 인덱스 벡터 O 내의 제1(i-1) 엔트리 내의 최종 엔트리에 대응), 즉 철회 레벨로 철회할 수 있다(블록 420). MIMO 수신기 동작(400)은 계속될 수 있다.
검사하지 않은 코드워드가 존재하지 않으면, 즉 철회 레벨이 존재하지 않으면(블록 418), MIMO 수신기는 코드워드를 검사하는 것이 완전하고 수신된 데이터 블록에 대응하는 코드워드의 집합을 찾아내었는지, 즉 솔루션(XOUT)을 찾아내었는지를 결정하기 위해 검사할 수 있다(블록 422). MIMO 수신기는 코드워드를 검출하는 것이 출력 XOUT를 검사함으로써 완전한지를 결정할 수 있다. 출력 XOUT이 비어있다면 솔루션을 찾아내지 못한 것이고, 반면에, 출력 XOUT이 비어있지 않으면, 솔루션을 찾아냈으며 수신된 데이터 블록에 대응하는 검출된 코드워드의 집합이 XOUT에서 검출된 것이다. 솔루션을 찾아내었다면(블록 422), 종료 조건이 충족되고, 검색 철회 조건, 검색 종료 조건 및 검색 완화 조건을 평가하는 것이 완전하고 코드워드를 검출하는 것이 완전하며(Exit=TRUE)(블록 424) 그런 다음 MIMO 수신기 동작(400)이 종료될 수 있다.
철회 레벨이 존재하지 않으면(블록 418) 그리고 코드워드를 검출하는 것이 실패이면(솔루션을 찾지 못하면)(블록 422), MIMO 수신기는 출구 조건이 충족되면, 이 수신된 데이터의 블록에 대응하는 코드워드 집합을 검출하는 것을 포기하기로 결정할 수 있다(블록 426). 출구 조건은, 오차 반경 r의 수 개의(잠재적 사용자 또는 지정된 시스템) 연속적인 완화 후, 특정한 허용 가능한 시간 주기 제한 후, 또는 오차 반경이 최대값을 넘어 완화되면, 솔루션을 찾아낼 수 있는 것을 포함하지 않는다(블록 426). MIMO 수신기는 그 수신된 데이터 블록이 검출불능인 것으로 결정하고, Exit=TRUE(블록 424)이고 그런 다음 MIMO 수신기 동작(400)은 종료될 수 있다. 재전송 요구는 데이터 블록이 재전송되어야 한다는 것을 요구하기 위해, 수신된 데이터 블록의 소스에 대해 MIMO 수신기에 의해 이루어질 수 있다.
철회 레벨이 존재하지 않으면(블록 418), 코드워드의 검출된 집합(솔루션)이 발견되지 않은 것이고(블록 422), 출구 조건이 충족되지 않으면(블록 426), MIMO 수신기는 검색 기준을 느슨하게 하기 위해 오차 반경 r을 완화시켜야 한다(블록 428). 예를 들어, MIMO 수신기는 오차 반경 r의 크기를 2배로 할 수 있다. 부가적으로, MIMO 수신기는 인덱스 변수 i 및 인덱스 벡터 I를 리셋할 수 있다. MIMO 수신기는 검색의 진행에 대한 추적을 유지하기 위해 사용되는 일부의 상태 변수를 다시 개시할 수 있다. 그런 다음 검색 철회 조건, 검색 종료 조건 및 검색 완화 조건을 평가하는 것은 완전할 수 있고 코드워드를 검출하는 것은 완전하지 않다(Exit=FALSE).
검색 철회 조건, 검색 종료 조건 및 검색 완화 조건을 평가한 후, MIMO 수신기는 출구가 필요한지를 결정하기 위한 검사를 수행할 수 있다(블록 430). MIMO 수신기가 검색을 진행해야 하는 것으로 결정하면, MIMO 수신기는 검색 트리에서 검사 위치를 계산하여 코드워드를 평가할 수 있다(블록 435). 전술한 바와 같이, 검색 트리의 레벨은 개개의 수신된 데이터 행렬에 대응하고 검색 트리의 리프는 검색될 코드워드에 대응할 수 있다. MIMO 수신기는 검색 트리의 레벨을 계산하고, 블록 435에서 검색 트리의 그 계산된 검사 위치(레벨)보다 높은 레벨들에, 즉 인덱스 벡터 O 내의 (P-i) 최종 엔트리에 대응하는 레벨들에 모든 이전에 선택된 코드워드를 리셋한다.
계산된 검사 위치(블록 435)에 따라, MIMO 수신기는 집합
Figure 112012045073006-pct00081
내의 벡터의 가능한 집합을 사용하여 그 검사 위치에 대한 다음의 코드워드를 선택한다(블록 450). 인덱스 변수 O(i)=1, 즉 블록 내의 제1 수신된 데이터 행렬에 대응하는 검색 위치가 평가되면, 코드워드는 집합
Figure 112012045073006-pct00082
가 아닌 집합
Figure 112012045073006-pct00083
' 내의 가능한 심벌 벡터의 집합에 기초하여 선택된다. 블록 450에서 주어진 검사 위치(레벨)에 대한 코드워드를 선택한 후, MIMO 수신기는 블록 440에서, 식(32)의 최소 제곱 오차와 같은 메트릭을 계산하는데, 인덱스 벡터 O 내의 제1 i 엔트리에 대응하는 모든 레벨에 대해 선택된 모든 코드워드의 집합 및 대응하는 수신된 데이터 행렬을 포함한다. 그런 다음 MIMO 수신기는 메트릭이 오차 반경보다 더 큰 값인지를 결정하기 위한 검사를 수행할 수 있다(블록 445). 일반적으로, 메트릭이 오차 반경보다 더 크면, 무효 코드워드가 그 검사 위치에 대해 선택될 수 있다. 그렇지만, 메트릭이 오차 반경보다 크지 않으면, 코드워드는 유효 코드일 수 있으며 추가의 검사를 수행하여 코드워드가 이 검사 위치에 대한 최선의 코드워드인지를 결정할 수 있다.
메트릭이 오차 반경보다 크면(블록 445), 코드워드는 무효이고 MIMO 수신기는 블록 410으로 복귀하여 검색 철회 조건, 검색 종료 조건, 및 검색 완화 조건을 재평가할 수 있다.
메트릭이 오차 반경보다 크지 않으면(블록 445), 코드워드는 유효이고 그 수신된 데이터 행렬에 대한 최선의 코드워드일 수 있다. 그런 다음 MIMO 수신기는 모든 검사 위치(i=P)를 평가하였는지를 결정하기 위한 검사를 수행할 수 있다(블록 455). MIMO 수신기가 모든 가능한 검사 위치(i≠P)를 평가하지 않았다면(블록 455), MIMO 수신기는 검색 트리의 다음 레벨로 진행하고(블록 465) 블록 410으로 복귀하여 검색 철회 조건, 검색 종료 조건 및 검색 완화 조건을 재평가할 수 있다.
메트릭이 오차 반경(블록 445)보다 크기 않고 (블록 내의 수신된 데이터 행렬에 대응하는) 모든 가능한 검사 위치가 평가되었다면(블록 455), 모든 레벨(i=1,...,P)에 대해 선택된 코드워드는 지금까지 모든 수신된 데이터 블록에 대해 검출된 최선의 코드워드이고 MIMO 수신기는 검출된 코드워드 집합을, 출력 XOUT에서 지금까지의 최선의 솔루션으로서 저장할 수 있다(블록 460). 부가적으로, MIMO 수신기는 오차 반경을 줄여 검색 트리를 통해 검색을 세밀하게 할 수 있으면서, XOUT에 저장된 코드워드보다 더 우수한 코드워드의 연속적인 선택만이 고려될 수 있다. MIMO 수신기는 블록 410으로 복귀하여 철회 조건 및 종료 조건을 재평가함으로써 XOUT에 저장된 현재의 솔루션과는 다른 더 우수한 솔루션들이 존재하는지를 검색할 수 있다. 오차 반경이 XOUT에서 솔루션을 찾는 것에 기초하여 감소되면, 블록 410은 더 이상 검색 완화 조건을 수행하지 않아도 되므로 철회 조건 및 종료 조건만을 평가하는 것을 고려할 것이다.
코드워드를 검출하는 것이 완전하면(블록 430), 즉 종료 조건이 충족되고 솔루션을 찾아내면, MIMO 수신기 동작(400)은 종료될 수 있다.
도 6은 조인트 블록 차등 MIMO에 대한 순서가 정해진 BEB 알고리즘을 실행하기 위한 MIMO 수신기 동작(500)의 흐름도이다. 알고리즘(500)은 MIMO 수신기의 MIMO 검출기 및 다중화기 블록(60)에서 실행될 수 있다.
MIMO 수신기 동작(500)은 MIMO 수신기(MIMO 검출기 및 다중화기 블록(60))이 입력 파라미터를 수신하는 것으로 시작할 수 있다(블록 505). 입력 파라미터는, YB, r, P, Nt, N, I,
Figure 112013049536375-pct00084
, b, 및 C를 포함한다. 부가적으로, MIMO 수신기는 변수 및 인덱스 제어 변수를 시작값으로 초기화할 수 있다. 입력 값을 수신한 후, MIMO 수신기는 개개의 수신된 코드워드의 프로베니우스 놈(frobenius norm)에 기초하여 수신된 데이터 블록 YB를 내림차순으로 정할 수 있다. 피봇 정보에 대응하는 수신된 데이터 행렬은 순서 정하기에서 배제될 수 있고 검색 트리 내의 제1 검사 위치, 즉 인덱스 벡터 O 내의 제1 엔트리를 취할 수 있다. 그런 다음 검사 위치(즉, O(1))는 MIMO 수신기에 의해 수행되는 검색으로부터 배제될 것이다. 식(23)의 예에 뒤이어, O(1)=1이다. 순서가 정해진 수신된 데이터 블록에 대한 인덱스는 벡터 O로서 저장될 수 있다.
그런 다음 MIMO 수신기는 검색 철회 조건, 검색 종료 조건 및 검색 완화 조건을 평가할 수 있다(블록 510). MIMO 수신기는 인덱스 변수 O(i)에 의해 지정된 검색 트리(I(O(i))=L)(단, L은 집합
Figure 112013049536375-pct00085
에 포함된 가능한 벡터의 수를 나타냄)의 레벨(검사 위치)에 대해 모든 코드워드를 검사하였는지를 검사함으로써 검색 철회 조건, 검색 종료 조건 및 검색 완화 조건을 평가할 수 있다(블록 512). 수신된 피봇 정보에 대응하는 제1 검사 위치 O(i)=O(1)=1은 식(23)의 예에서와 같이 블록 차등 인코딩을 고려하기 위해 검색으로부터 배제될 수 있다. MIMO 수신기가 인덱스 변수 O(i), 즉 블록 512에서 (I(O(i))<L)에 의해 지정된 검색 트리의 레벨에 대해 모든 코드워드를 검사하지 않았다면, 철회는 필요하지 않으며 검사 위치가 변경될 수 없다(블록 514). 검색 철회 조건, 검색 종료 및 검색 완화 조건을 평가하는 것이 완료될 수 있고, 코드워드를 검출하는 것이 완전하지 않으며(Exit=FALSE) MIMO 수신기 동작(500)을 진행할 수 있다.
MIMO 수신기는 블록 512에서 인덱스 변수 O(i), 즉 (I(O(i))=L)에 의해 지정된 검색 트리의 레벨에 대해 모든 코드워드를 검사하였다면, MIMO 수신기는 추가의 검사를 수행하여 인덱스 벡터 O 내의 제1 (i-1) 엔트리에 지정되어 있는 검색 트리의 레벨들에 대해 임의의 검사하지 않은 코드워드가 존재하는지를 결정할 수 있다(블록 인코딩에 대한 피봇 정보가 고려되어야 하는 것은 배제 O(1))(블록 516). 이러한 검사는 검색 트리 내에 어떠한 검사하지 않은 코드워드가 존재하는지를 결정할 수 있으며, (i=1을 제외한 상태에서) 이것은 i의 현재 값보다 작은 i의 값에 대한 O(i) 내의 엔트리에 의해 주어지는 검색 트리의 각각의 가능한 레벨에 대해 I(O(i))<L인지를 검사하는 것을 포함한다. 바람직하게, 검사는 현재의 검사 위치보다 낮은 가장 높은 레벨(검사 위치), 즉 O(i-1)로 시작하고, 검사되지 않은 코드워드(들)을 가진 레벨을 찾을 때까지 또는 모든 검사 위치가 검사될 때까지 낮은 레벨들로 순차 진행할 수 있다.
검사되지 않은 코드워드들이 존재하면(철회 레벨이 존재한다는 것을 의미)(블록 518), MIMO 수신기는, 현재의 레벨 O(i)(이 레벨은 검사하지 않은 코드워드를 가지되 블록 차등 인코딩에 대한 피봇 정보가 고려되는 O(1)과 같지 않은 벡터 O 내의 제1 (i-1) 엔트리 내의 최종 엔트리에 대응한다)보다 낮은 검색 트리의 가장 높은 레벨, 즉 철회 레벨로 철회될 수 있고 철회할 수 있다(블록 520). 검색 철회 조건, 검색 종료 및 검색 완화 조건을 평가하는 것이 완전하게 될 수 있지만, 코드워드를 검출하는 것이 완전하지 않으며(Exit=FALSE) MIMO 수신기 동작(500)을 진행할 수 있다(블록 530).
검사하지 않은 코드워드가 존재하지 않으면, 즉 철회 레벨이 존재하지 않으면(블록 518), MIMO 수신기는 코드워드를 검사하는 것이 완전하고 수신된 데이터 블록에 대응하는 코드워드의 집합을 찾아내었는지, 즉 솔루션(SOUT)을 찾아내었는지를 결정하기 위해 검사할 수 있다(블록 522). MIMO 수신기는 코드워드를 검출하는 것이 출력 SOUT를 검사함으로써 완전한지를 결정할 수 있다. 출력 SOUT이 비어있다면 솔루션을 찾아내지 못한 것이고, 반면에, 출력 SOUT이 비어있지 않으면, 솔루션을 찾아냈으며 수신된 데이터 블록에 대응하는 검출된 코드워드의 집합이 SOUT에서 검출된 것이다. 솔루션을 찾아내었다면(블록 522), 종료 조건이 충족되고, 검색 철회 조건, 검색 종료 조건 및 검색 완화 조건을 평가하는 것이 완전하고 코드워드를 검출하는 것이 완전하며(Exit=TRUE)(블록 524) 그런 다음 MIMO 수신기 동작(500)이 종료될 수 있다.
철회 레벨이 존재하면(블록 518) 그리고 코드워드를 검출하는 것이 실패이면(솔루션을 찾지 못하면)(블록 522), MIMO 수신기는 출구 조건이 충족되면, 이 수신된 데이터의 블록에 대응하는 코드워드 집합을 검출하는 것을 포기하기로 결정할 수 있다(블록 526). 출구 조건은, 오차 반경 r의 수 개의(잠재적 사용자 또는 지정된 시스템) 연속적인 완화 후, 특정한 허용 가능한 시간 주기 제한 후, 또는 오차 반경이 최대값을 넘어 완화되면, 솔루션을 찾아낼 수 있는 것을 포함하지 않는다(블록 526). MIMO 수신기는 그 수신된 데이터 블록이 검출불능인 것으로 결정하고, Exit=TRUE(블록 524)이고 그런 다음 MIMO 수신기 동작(500)은 종료될 수 있다. 재전송 요구는 데이터 블록이 재전송되어야 한다는 것을 요구하기 위해, 수신된 데이터 블록의 소스에 대해 MIMO 수신기에 의해 이루어질 수 있다.
철회 레벨이 존재하지 않으면(블록 518), 코드워드의 검출된 집합(솔루션)이 발견되지 않은 것이고(블록 522), 출구 조건이 충족되지 않으면(블록 526), MIMO 수신기는 검색 기준을 느슨하게 하기 위해 오차 반경 r을 완화시켜야 한다(블록 528). 예를 들어, MIMO 수신기는 오차 반경 r의 크기를 2배로 할 수 있다. 부가적으로, MIMO 수신기는 인덱스 변수 i 및 인덱스 벡터 I와 같이, 다른 변수를 리셋할 수 있다. MIMO 수신기는 검색의 진행에 대한 추적을 유지하기 위해 사용되는 일부의 상태 변수를 다시 개시할 수 있다. MIMO 수신기는 또한 검색의 진행의 추적을 계속하는 데 사용되는 일부의 상태 변수를 다시 초기화해야 한다. 그런 다음 검색 철회 조건, 검색 종료 및 검색 완화 조건을 평가하는 것이 완전하게 될 수 있고, 코드워드를 검출하는 것이 완전하지 않다(Exit=FALSE).
검색 철회 조건, 검색 종료 조건 및 검색 완화 조건을 평가한 후, MIMO 수신기는 출구가 필요한지를 결정하기 위한 검사를 수행할 수 있다(블록 530). MIMO 수신기가 검색을 진행해야 하는 것으로 결정하면, MIMO 수신기는 검색 트리에서 검사 위치를 계산하여 코드워드를 평가할 수 있다(블록 535). 전술한 바와 같이, 검색 트리의 레벨은 개개의 수신된 데이터 행렬에 대응하고 검색 트리의 리프는 검색될 코드워드에 대응할 수 있다. MIMO 수신기는 검색 트리의 레벨을 계산하고, 블록 535에서 검색 트리의 그 계산된 검사 위치(레벨)보다 높은 레벨에 모든 이전에 선택된 코드워드를 리셋한다.
계산된 검사 위치(블록 535)에 따라, MIMO 수신기는 집합
Figure 112012045073006-pct00086
내의 벡터의 가능한 집합을 사용하여 그 검사 위치에 대한 다음의 코드워드를 선택한다(블록 550). 블록 550에서 주어진 검사 위치(레벨)에 대한 코드워드를 선택한 후, MIMO 수신기는 식(33)의 최소 제곱 오차와 같이, 블록 540에서 메트릭을 계산하는데, 모든 낮은 레벨 및 이 레벨까지 그리고 대응하는 수신된 데이터 행렬에 대해 선택된 모든 코드워드의 집합을 포함한다. 그런 다음, MIMO 수신기는 메트릭이 오차 반경보다 더 큰 값인지를 결정하기 위한 검사를 수행할 수 있다(블록 545). 일반적으로, 메트릭이 오차 반경보다 더 크면, 무효 코드워드가 그 검사 위치에 대해 선택될 수 있다. 그렇지만, 메트릭이 오차 반경보다 크지 않으면, 코드워드는 유효 코드일 수 있으며 추가의 검사를 수행하여 코드워드가 이 검사 위치에 대한 최선의 코드워드인지를 결정할 수 있다.
메트릭이 오차 반경보다 크면(블록 545), 코드워드는 무효이고 MIMO 수신기는 블록 510으로 복귀하여 검색 철회 조건, 검색 종료 조건, 및 검색 완화 조건을 재평가할 수 있다.
메트릭이 오차 반경보다 크지 않으면(블록 545), 코드워드는 유효이고 그 수신된 데이터 행렬에 대한 최선의 코드워드일 수 있다. 그런 다음 MIMO 수신기는 모든 검사 위치(i=P)를 평가하였는지를 결정하기 위한 검사를 수행할 수 있다(블록 555). MIMO 수신기가 모든 가능한 검사 위치(i≠P)를 평가하지 않았다면(블록 555), MIMO 수신기는 검색 트리의 다음 레벨, 즉 O(i+1)로 진행하고(블록 565) 블록 510으로 복귀하여 검색 철회 조건, 검색 종료 조건 및 검색 완화 조건을 재평가할 수 있다.
메트릭이 오차 반경(블록 545)보다 크기 않고 (블록 내의 수신된 데이터 행렬에 대응하는) 모든 가능한 검사 위치가 평가되었다면(블록 555), 모든 레벨(i=1,...,P)에 대해 선택된 코드워드는 지금까지 모든 수신된 데이터 블록에 대해 검출된 최선의 코드워드이고 MIMO 수신기는 검출된 코드워드 집합을, 출력 SOUT에서 지금까지의 최선의 솔루션으로서 저장할 수 있다(블록 560). 부가적으로, MIMO 수신기는 오차 반경을 줄여 검색 트리를 통해 검색을 세밀하게 할 수 있으면서, SOUT에 저장된 코드워드보다 더 우수한 코드워드의 연속적인 선택만이 고려될 수 있다. MIMO 수신기는 블록 510으로 복귀하여 철회 조건 및 종료 조건을 재평가함으로써 SOUT에 저장된 현재의 솔루션과는 다른 더 우수한 솔루션들이 존재하는지를 검색할 수 있다. 오차 반경이 SOUT에서 솔루션을 찾는 것에 기초하여 감소되면, 블록 510은 더 이상 검색 완화 조건을 수행하지 않아도 되므로 철회 조건 및 종료 조건만을 평가하는 것을 고려할 것이다.
코드워드를 검출하는 것이 완전하면(블록 530), 즉 종료 조건이 충족되고 솔루션을 찾아내면, MIMO 수신기 동작(500)은 종료될 수 있다.
대안의 실시예에서, 계산 요건의 추가의 감소가, 수신된 파일럿 정보를 포함하는 수신된 데이터 행렬을 제외한, 수신된 데이터 블록 YB 내의 수신된 데이터 행렬을 순서를 정함으로써 블라인드 MIMO 검출을 위한 변형된 BEB 알고리즘을 변형함으로써 획득될 수 있다. 전술한 바와 같이, 파일럿 정보가 제1 수신된 데이터 행렬, 즉 Y[1]에 포함되어 있는 것으로 가정할 수 있다. 그렇지만, 실제로, 파일럿 정보는 수신된 데이터 블록 내의 임의의 수신된 데이터 행렬에 포함될 수 있다.
도 7은 블라인드 MIMO 검출에 대한 순서가 정해진 BEB 알고리즘을 실행하기 위한 MIMO 수신기 동작(600)의 흐름도이며, 식(10)에서와 같은 변형된 블록 코드워드 및 파일럿 비트를 포함하는 제1 수신된 데이터 행렬이 사용된다. MIMO 수신기 동작(600)은 또한 식(7)에서와 같이 식별할 수 있는 시공간 코드에 대해 실행될 수 있고, 여기서 행렬 U는 식별 행렬로서 선택될 수 있다. MIMO 수신기 동작(600)은 MIMO 수신기의 MIMO 검출기 및 다중화기 블록(60)에서 실행될 수 있다.
MIMO 수신기 동작(600)은 MIMO 수신기(MIMO 검출기 및 다중화기 블록(60))이 입력 파라미터를 수신하는 것으로 시작할 수 있다(블록 605). 입력 파라미터는, YB, r, P, Nt, N, I,
Figure 112012045073006-pct00087
, b, C 및 U를 포함한다. 부가적으로, MIMO 수신기는
Figure 112012045073006-pct00088
'(파일럿 비트(b) 지식을 고려하는
Figure 112012045073006-pct00089
의 서브집합)를 계산할 수 있을 뿐만 아니라 변수 및 인덱스 제어 변수를 시작값으로서 초기화할 수 있다. 입력 값을 수신하고
Figure 112012045073006-pct00090
'를 계산한 후, MIMO 수신기는 수신된 데이터 블록 YB의 순서를 정할 수 있다(블록 607). 전술한 바와 같이, MIMO 수신기는 Y[1]을 제외한, 개개의 수신된 데이터 행렬의 프로베니우스 놈(frobenius norm)에 기초하여 내림차순으로 순서가 정해질 수 있고, 수신된 데이터 행렬은 파일럿 비트 b를 포함한다. 그 순서가 정해진 수신된 데이터 블록에 대한 인덱스는 벡터 O로서 저장될 수 있고, 제1 엔트리를 제외한, 그 순서가 정해진 수신된 데이터 블록의 인덱스를 포함한다. 제1 엔트리는 파일럿 비트 b, 수 하나(1)를 포함하는 수신된 데이터 행렬에 대한 인덱스를 저장할 수 있다. 예를 들어, 벡터
Figure 112012045073006-pct00091
이고, 여기서
Figure 112012045073006-pct00092
는 파일럿 정보를 포함하는 제1 수신된 데이터 행렬 Y[1]을 배제하는 그 순서가 정해진 수신 데이터 블록에 대한 인덱스이다.
그런 다음 MIMO 수신기는 검색 철회 조건, 검색 종료 조건 및 검색 완화 조건을 평가할 수 있다(블록 610). MIMO 수신기는 인덱스 변수 O(i)에 의해 지정된 검색 트리(I(O(i))=L)(단, L은 집합
Figure 112013049536375-pct00093
에 포함된 가능한 벡터의 수를 나타냄)의 레벨(검사 위치)에 대해 모든 코드워드를 검사하였는지를 검사함으로써 검색 철회 조건, 검색 종료 조건 및 검색 완화 조건을 평가할 수 있다(블록 612). MIMO 수신기가 제1 수신된 데이터 행렬, 즉 O(i)=1에 대응하는 제1 검사 위치를 고려하면, L은 제1 수신된 데이터 행렬에서의 파일럿 비트의 지식을 고려하는 대신 집합
Figure 112013049536375-pct00094
' 내의 벡터의 수에 대응하게 될 것이다. MIMO 수신기가 인덱스 변수 O(i), 즉 블록 612에서 (I(O(i))<L)에 의해 지정된 검색 트리의 레벨에 대해 모든 코드워드를 검사하지 않았다면, 철회는 필요하지 않으며 검사 위치가 변경될 수 없다(블록 614). 검색 철회 조건, 검색 종료 및 검색 완화 조건을 평가하는 것이 완전하게 될 수 있고, 코드워드를 검출하는 것이 완전하지 않으며(Exit=FALSE) MIMO 수신기 동작(600)을 진행할 수 있다.
MIMO 수신기는 블록 612에서 인덱스 변수 O(i), 즉 (I(O(i))=L)에 의해 지정된 검색 트리의 레벨에 대해 모든 코드워드를 검사하였다면, MIMO 수신기는 추가의 검사를 수행하여 현재의 레벨 O(i)보다 낮은 검색 트리의 레벨에 대해 어떠한 검사되지 않은 코드워드가 존재하는지를 결정할 수 있다(블록 616). 이러한 검사는 검색 트리 내에 어떠한 검사하지 않은 코드워드가 존재하는지를 결정할 수 있으며, 이것은 벡터 O 내의 제1 (i-1) 엔트리에 의해 지정된 검색 트리의 각각의 가능한 레벨에 대해 I((O(i))<L인지를 검사하는 것을 포함한다. 바람직하게, 검사는 현재의 검사 위치보다 작은 가장 높은 레벨(검사 위치), 즉 O(i-1) 내의 엔트리에 의해 주어진 검사 위치로 시작하고, 검사되지 않은 코드워드(들)을 가진 레벨을 찾을 때까지 또는 모든 검사 위치가 검사될 때까지 낮은 레벨들로 순차 진행할 수 있다.
검사되지 않은 코드워드들이 존재하면(철회 레벨이 존재한다는 것을 의미)(블록 618), MIMO 수신기는 검사하지 않은 코드워드를 가지고 O(i)에 의해 주어지는 현재의 검사 위치보다 낮은 검색 트리의 가장 높은 레벨(이것은 검사하지 않은 코드워드를 가지는 인덱스 벡터 O 내의 제1(i-1) 엔트리 내의 최종 엔트리에 대응), 즉 철회 레벨로 철회할 수 있다(블록 620). MIMO 수신기 동작(600)은 계속될 수 있다.
검사하지 않은 코드워드가 존재하지 않으면, 즉 철회 레벨이 존재하지 않으면(블록 618), MIMO 수신기는 코드워드를 검사하는 것이 완전하고 수신된 데이터 블록에 대응하는 코드워드의 집합을 찾아내었는지, 즉 솔루션(XOUT)을 찾아내었는지를 결정하기 위해 검사할 수 있다(블록 622). MIMO 수신기는 코드워드를 검출하는 것이 출력 XOUT를 검사함으로써 완전한지를 결정할 수 있다. 출력 XOUT이 비어있다면 솔루션을 찾아내지 못한 것이고, 반면에, 출력 XOUT이 비어있지 않으면, 솔루션을 찾아냈으며 수신된 데이터 블록에 대응하는 검출된 코드워드의 집합이 XOUT에서 검출된 것이다. 솔루션을 찾아내었다면(블록 622), 종료 조건이 충족되고, 검색 철회 조건, 검색 종료 조건 및 검색 완화 조건을 평가하는 것이 완전하고 코드워드를 검출하는 것이 완전하며(Exit=TRUE)(블록 624) 그런 다음 MIMO 수신기 동작(600)이 종료될 수 있다.
철회 레벨이 존재하지 않으면(블록 618) 그리고 코드워드를 검출하는 것이 실패이면(솔루션을 찾지 못하면)(블록 622), MIMO 수신기는 출구 조건이 충족되면, 이 수신된 데이터의 블록에 대응하는 코드워드 집합을 검출하는 것을 포기하기로 결정할 수 있다(블록 626). 출구 조건은, 오차 반경 r의 수 개의(잠재적 사용자 또는 지정된 시스템) 연속적인 완화 후, 특정한 허용 가능한 시간 주기 제한 후, 또는 오차 반경이 최대값을 넘어 완화되면, 솔루션을 찾아낼 수 있는 것을 포함하지 않는다(블록 626). MIMO 수신기는 그 수신된 데이터 블록이 검출불능인 것으로 결정하고, Exit=TRUE(블록 624)이고 그런 다음 MIMO 수신기 동작(600)은 종료될 수 있다. 재전송 요구는 데이터 블록이 재전송되어야 한다는 것을 요구하기 위해, 수신된 데이터 블록의 소스에 대해 MIMO 수신기에 의해 이루어질 수 있다.
철회 레벨이 존재하지 않으면(블록 618), 코드워드의 검출된 집합(솔루션)이 발견되지 않은 것이고(블록 622), 출구 조건이 충족되지 않으면(블록 626), MIMO 수신기는 검색 기준을 느슨하게 하기 위해 오차 반경 r을 완화시켜야 한다(블록 628). 예를 들어, MIMO 수신기는 오차 반경 r의 크기를 2배로 할 수 있다. 부가적으로, MIMO 수신기는 인덱스 변수 i 및 인덱스 벡터 I를 리셋할 수 있다. MIMO 수신기는 검색의 진행에 대한 추적을 유지하기 위해 사용되는 일부의 상태 변수를 다시 개시할 수 있다. 그런 다음 검색 철회 조건, 검색 종료 조건 및 검색 완화 조건을 평가하는 것은 완전할 수 있고 코드워드를 검출하는 것은 완전하지 않다(Exit=FALSE).
검색 철회 조건, 검색 종료 조건 및 검색 완화 조건을 평가한 후, MIMO 수신기는 출구가 필요한지를 결정하기 위한 검사를 수행할 수 있다(블록 630). MIMO 수신기가 검색을 진행해야 하는 것으로 결정하면, MIMO 수신기는 검색 트리에서 검사 위치를 계산하여 코드워드를 평가할 수 있다(블록 635). 전술한 바와 같이, 검색 트리의 레벨은 개개의 수신된 데이터 행렬에 대응하고 검색 트리의 리프는 검색될 코드워드에 대응할 수 있다. MIMO 수신기는 검색 트리의 레벨을 계산하고, 블록 635에서 검색 트리의 그 계산된 검사 위치(레벨)보다 높은 레벨들에, 즉 인덱스 벡터 O 내의 (P-i) 최종 엔트리에 대응하는 레벨들에 모든 이전에 선택된 코드워드를 리셋한다.
계산된 검사 위치(블록 635)에 따라, MIMO 수신기는 집합
Figure 112012045073006-pct00095
내의 벡터의 가능한 집합을 사용하여 그 검사 위치에 대한 다음의 코드워드를 선택한다(블록 650). 인덱스 변수 O(i)=1, 즉 블록 내의 제1 수신된 데이터 행렬에 대응하는 검색 위치가 평가되면, 코드워드는 집합
Figure 112012045073006-pct00096
가 아닌 집합
Figure 112012045073006-pct00097
' 내의 가능한 심벌 벡터의 집합에 기초하여 선택된다. 블록 650에서 주어진 검사 위치(레벨)에 대한 코드워드를 선택한 후, MIMO 수신기는 블록 640에서, 식(32)의 최소 제곱 오차와 같은 메트릭을 계산하는데, 모든 낮은 레벨 및 이 레벨까지 그리고 대응하는 수신된 데이터 행렬에 대해 선택된 모든 코드워드의 집합을 포함한다. 그런 다음 MIMO 수신기는 메트릭이 오차 반경보다 더 큰 값인지를 결정하기 위한 검사를 수행할 수 있다(블록 645). 일반적으로, 메트릭이 오차 반경보다 더 크면, 무효 코드워드가 그 검사 위치에 대해 선택될 수 있다. 그렇지만, 메트릭이 오차 반경보다 크지 않으면, 코드워드는 유효 코드일 수 있으며 추가의 검사를 수행하여 코드워드가 이 검사 위치에 대한 최선의 코드워드인지를 결정할 수 있다.
메트릭이 오차 반경보다 크면(블록 645), 코드워드는 무효이고 MIMO 수신기는 블록 610으로 복귀하여 검색 철회 조건, 검색 종료 조건, 및 검색 완화 조건을 재평가할 수 있다.
메트릭이 오차 반경보다 크지 않으면(블록 645), 코드워드는 유효이고 그 수신된 데이터 행렬에 대한 최선의 코드워드일 수 있다. 그런 다음 MIMO 수신기는 모든 검사 위치(i=P)를 평가하였는지를 결정하기 위한 검사를 수행할 수 있다(블록 655). MIMO 수신기가 모든 가능한 검사 위치(i≠P)를 평가하지 않았다면(블록 655), MIMO 수신기는 검색 트리의 다음 레벨, 즉 O(i+1)로 진행하고(블록 665) 블록 610으로 복귀하여 검색 철회 조건, 검색 종료 조건 및 검색 완화 조건을 재평가할 수 있다.
메트릭이 오차 반경(블록 645)보다 크기 않고 (블록 내의 수신된 데이터 행렬에 대응하는) 모든 가능한 검사 위치가 평가되었다면(블록 655), 모든 레벨(i=1,...,P)에 대해 선택된 코드워드는 지금까지 모든 수신된 데이터 블록에 대해 검출된 최선의 코드워드이고 MIMO 수신기는 검출된 코드워드 집합을, 출력 XOUT에서 지금까지의 최선의 솔루션으로서 저장할 수 있다(블록 660). 부가적으로, MIMO 수신기는 오차 반경을 줄여 검색 트리를 통해 검색을 세밀하게 할 수 있으면서, XOUT에 저장된 코드워드보다 더 우수한 코드워드의 연속적인 선택만이 고려될 수 있다. MIMO 수신기는 블록 610으로 복귀하여 철회 조건 및 종료 조건을 재평가함으로써 XOUT에 저장된 현재의 솔루션과는 다른 더 우수한 솔루션들이 존재하는지를 검색할 수 있다. 오차 반경이 XOUT에서 솔루션을 찾는 것에 기초하여 감소되면, 블록 610은 더 이상 검색 완화 조건을 수행하지 않아도 되므로 철회 조건 및 종료 조건만을 평가하는 것을 고려할 것이다.
코드워드를 검출하는 것이 완전하면(블록 630), 즉 종료 조건이 충족되고 솔루션을 찾아내면, MIMO 수신기 동작(600)은 종료될 수 있다.
여기에 제공된 변형된 BEB 알고리즘의 성능 평가의 결과에 대해서는 후술한다. 골든 코드가 적용되는 2×2 MIMO 통신 시스템에 대한 성능 평가는 수행되었고, 다음과 같은 결과 데이터가 나왔다: 주어진 시나리오는 고정 채널 행렬 H을 특징으로 하고 있고 이 행렬의 요소는 제로 평균 유닛 분산 복소 가우시안 분포(zero mean unit variance complex Gaussian distribution)로부터 뽑았다. 각각의 코드워드는 4개의 이진 위상-시프트 키잉(binary phase-shift keying) 심벌을 가지는 골든 코드를 사용하여 생성된 2×2 행렬일 수 있다. P개의 코드워드로 이루어진 집합은 각각의 채널 시나리오에 대해 생성될 수 있다. 수신된 데이터는 전송된 데이터 블록에 채널 행렬을 곱하고 측정 노이즈를 더하여 생성될 수 있으며, 이를 SNR에 따라 조정된 제로 평균 및 분산을 가지는 복소 가우시안인 것으로 가정할 수 있다. 프로세스는 50000개의 채널 시나리오에 대해 반복되어 평균 비트 오차 레이트(BER)이 계산된다. 수신기에서 완전한 채널 지식을 가진 결맞음 ML 검출기를 사용하는 결과도 참고로 도시되어 있다.
조인트 블록 차등 MIMO 검출에 있어서, 피봇 데이터 행렬 X[1]은 축척된 식별 행렬로서 선택될 수 있다. 조인트 블록 차등 MIMO 및 완전한 블라인드 MIMO 검출기에 따라, 최적의 DGLRD(식(24)) 및 BGLRD(식(15)) 수신기는 구체적으로 설명하지 않지만 변형된 BEB 알고리즘의 대응하는 순서 버전을 사용해서 실현될 수 있다. 완전한 블라인드 MIMO에 있어서, 식(12)에 정의된 바와 같이 수신된 데이터 블록 내의 제1 코드워드가 20도 회전 행렬 U에 의해 사전에 곱해질 수 있는 경우에 변형된 골든 블록 코드(식(10)에 정의된 바와 같이)가 사용된다. 부가적으로, 크기 P 코드워드의 각각의 전송된 데이터 블록의 제1 코드워드에서의 제1 비트는, 블라인드 검출에 내재하는 스칼러 모호성을 제거할 수 있도록 파일럿 비트로서 정의될 수 있다.
도 8은 P=3인 블라인드 MIMO 통신 시스템의 성능에 대한 데이터를 도시하고 있다. 도면은 식(15)에 정의된 바와 같은 BGLRD 수신기를 사용하여 식(10)에서와 같이 변형된 블록 코드를 사용하는 완전한 블라인드 MIMO 통신 시스템의 평균 BER 대 평균 SNR을 보여주고 있다. P(P=3)의 작은 값은, 변형된 BEB 알고리즘(순서가 정해졌거나 정해지지 않음)은 철저한 검색 알고리즘을 사용하여 획득된 성능과 거의 동일한 성능을 제공한다는 것을 보여주도록 선택된다. 도 8에 도시된 바와 같이, 변형된 BEB 알고리즘의 성능 결과는 철저한(브루트 포스) 검색 알고리즘의 성능 결과와 일치한다.
도 9는 순서가 정해진 BEB 알고리즘에 있어서 P=5인 조인트 블록 차등 MIMO 통신 시스템의 성능에 대한 데이터를 도시하고 있다. 통신 채널이 완벽하게 공지된 MIMO 통신 시스템에 대한 성능 결과도 비교 목적상 도시되어 있다. 도 9에 도시된 바와 같이, 수신된 데이터 블록이 긴 시나리오의 성능 결과는 통신 채널이 완벽하게 공지된 MIMO 통신 시스템에 가까운 성능을 보인다.
도 10은 순서가 정해진 BEB 알고리즘에 있어서 블라인드 MIMO 통신 시스템의 성능에 대한 데이터를 도시하고 있다. 통신 채널이 완벽하고 공지된 MIMO 통신 시스템의 성능 결과도 비교 목적상 도시되어 있다. 도 10에 도시된 바와 같이, 수신된 데이터 블록이 긴 시나리오의 성능 결과는 통신 채널이 완벽하게 공지된 MIMO 통신 시스템에 더 가까운 성능을 보인다.
조인트 블록 차등 MIMO 통신 시스템 및 블라인드 MIMO 통신 시스템의 성능은 평균 SNR이 증가하면(BER은 감소) 비슷한 성능을 보인다. 또한, 조인트 블록 차등 MIMO 통신 시스템 및 블라인드 MIMO 통신 시스템에 따라, 수신된 데이터 블록이 긴 시나리오의 성능이 통신 시스템이 완벽하게 공지된 MIMO 통신 시스템에 더 가까운 성능을 보인다.
도 11 및 도 12는 순서가 정해진 BEB 알고리즘에 있어서 P=10인 조인트 차등 MIMO 통신 시스템인 경우 및 순서가 정해진 BEB 알고리즘에 있어서 P=10인 블라인드 MIMO 검출 통신 시스템인 경우에 계산 복잡도 대 평균 SNR에 대한 데이터를 각각 도시하고 있다. 도 11 및 도 12에는, 브루트 포스(철저한) 검색 알고리즘에 대한 계산 복잡도가 도시되어 있다. 도 11 및 도 12에 도시된 바와 같이, 순서가 정해진 BEB 알고리즘의 계산 복잡도는 특히 높은 평균 SNR 시나리오인 경우, 브루트 포스 알고리즘의 계산 복잡도보다 현저하게 작다.
도 13은 순서가 정해진 BEB 알고리즘에 있어서 P=12인 조인트 차등 MIMO 통신 시스템인 경우 및 순서가 정해진 BEB 알고리즘에 있어서 P=12인 블라인드 MIMO 검출 통신 시스템인 경우에 계산 복잡도 대 평균 SNR에 대한 데이터를 각각 도시하고 있다. P=12인 브루트 포스 검색 알고리즘에 대한 계산 복잡도 역시 도시되어 있다.
도 14는 조인트 차등 MIMO 통신 시스템 및 블라인드 MIMO 통신 시스템에 있어서 계산 복잡도 대 평균 SNR에 대한 데이터를 도시하고 있다. 제1 트레인스(1305)는 도 3의 변형된 BEB 알고리즘을 사용하는 블라인드 MIMO 통신 시스템의 성능을 나타내고, 제2 트레이스(1310)는 도 4의 변형된 BEB 알고리즘을 사용하는 조인트 차등 MIMO 통신 시스템의 성능을 나타내며, 제3 트레이스(1315)는 도 7의 순서가 정해진 BEB 알고리즘을 사용하는 블라인드 MIMO 통신 시스템의 성능을 나타내고, 제4 트레이스(1320)는 도 6의 순서가 정해진 BEB 알고리즘을 사용하는 조인트 차등 MIMO 통신 시스템의 성능을 나타낸다. 도 14에 도시된 바와 같이, 두 가지 타입의 MIMO 통신 시스템에 대한 순서가 정해진 BEB 알고리즘의 낮은 평균 SNR 성능이 변형된 BEB 알고리즘의 낮은 SNR 성능보다 월등히 낫다. 평균 SNR이 증가하면, 모든 다른 알고리즘의 성능도 집중한다.
실시예 및 그 이점은 상세히 설명하였으나, 첨부된 청구의 범위에 정의된 바와 같은 발명의 정신 및 범주를 벗어남이 없이 다양한 변화, 대체, 대안이 이루어질 수 있음을 이해해야 한다. 또한, 본 출원의 범주는 명세서에 설명된 프로세스, 기계, 제조, 구성 물질, 수단, 방법 및 단계의 특정한 실시예에 제한되지 않는다. 당업자는 본 발명의 개시로부터, 실질적으로 동일한 기능을 수행하거나 여기에 설명된 대응하는 실시예와 동일한 결과를 달성하는, 현재 존재하는 또는 나중에 개발하게 될, 프로세스, 기계, 제조, 구성 물질, 수단, 방법 또는 단계가 본 발명에 따라 활용될 수 있다는 것을 쉽게 이해할 것이다. 따라서, 첨부된 청구의 범위는 이러한 프로세스, 기계, 제조, 구성 물질, 수단, 방법 또는 단계를 그 범주 내에 포함하도록 되어 있다.

Claims (22)

  1. 수신기 동작을 위한 방법에 있어서,
    a) 전송기로부터, P(단, P는 양의 정수)개의 행렬을 포함하는 데이터 블록을 수신하고 상기 데이터 블록의 순서를 정하는 단계;
    b) 동작 조건들이 충족되는지 안 되는지를 결정하는 단계;
    c) 상기 동작 조건들이 충족되지 않는다는 결정에 응답해서,
    c1) 상기 데이터 블록 내의 행렬에 대한 행렬 인덱스 및 상기 행렬 인덱스에 대응하는 행렬과 관련된 코드워드의 집합 내의 코드워드에 대한 코드워드 인덱스를 포함하는 검사 위치를 계산하는 단계,
    c2) 상기 검사 위치에 기초하여 코드워드를 선택하는 단계,
    c3) 상기 행렬 인덱스보다 작거나 같은 행렬 인덱스에 대응하는 데이터 블록의 행렬 및 상기 행렬 인덱스보다 작거나 같은 행렬 인덱스에 대응하는 데이터 블록의 행렬에 대해 선택된 코드워드의 솔루션 집합에 기초하여 메트릭(metric)을 계산하는 단계,
    c4) 상기 메트릭이 오차 조건보다 크면, 상기 단계 b) 및 상기 단계 c)를 반복하는 단계, 및
    c5) 상기 메트릭이 상기 오차 조건보다 크지 않으면,
    c5a) 모든 검사 위치를 평가하였다면,
    상기 솔루션 집합 내의 상기 코드워드 인덱스에 의해 인덱스된 코드워드를 저장하는 단계,
    상기 오차 조건을 갱신하는 단계, 및
    상기 단계 b) 및 상기 단계 c)를 반복하는 단계
    c5b) 모든 검사 위치를 평가하지 않았다면,
    상기 행렬 인덱스를 다음 행렬로 갱신하는 단계,
    상기 단계 b) 및 상기 단계 c)를 반복하는 단계; 및
    d) 상기 동작 조건들이 충족된다는 결정에 응답해서,
    상기 솔루션 집합을 출력하는 단계, 및
    상기 출력된 솔루션 집합을 프로세싱하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 데이터 블록의 순서는 P개의 행렬의 프로베니우스 놈(frobenius norm)에 기초하여 정하여지는, 방법.
  3. 제1항에 있어서,
    상기 데이터 블록의 제1 행렬을 제외한 상기 데이터 블록의 모든 P-1개의 행렬은 순서가 정해지는, 방법.
  4. 제1항에 있어서,
    상기 수신기는 블라인드 다중 입력 다중 출력(multiple input, multiple output) 검출법을 사용하고,
    상기 데이터 블록의 검출 행렬을 조정하는 단계
    를 더 포함하며,
    상기 데이터 블록의 검출 행렬은, 블라인드 검출에 이용 가능한 데이터를 포함하는, 방법.
  5. 제1항에 있어서,
    상기 오차 조건을 갱신하는 단계는, 상기 오차 조건을 상기 메트릭과 동일하게 설정하는 단계를 포함하는, 방법.
  6. 제1항에 있어서,
    상기 솔루션 집합을 출력하는 단계 및 상기 출력된 솔루션 집합을 프로세싱하는 단계는, 상기 솔루션 집합이 비어 있지 않으면 수행되는, 방법.
  7. 수신기 동작을 위한 방법에 있어서,
    a) 전송기로부터, P(단, P는 양의 정수)개의 행렬을 포함하는 데이터 블록을 수신하는 단계; 및
    b) 동작 조건들이 충족되는지 안 되는지를 결정하는 단계
    를 포함하고,
    상기 동작 조건들이 충족되는지 안 되는지를 결정하는 단계는,
    b1) 코드워드 인덱스가 코드워드의 집합 내의 코드워드의 수보다 작으면, 상기 동작 조건들이 충족되지 않는 것으로 설정하는 단계; 및
    b2) 상기 코드워드 인덱스가 상기 코드워드의 집합 내의 코드워드의 수와 같으면,
    b2a) 행렬 인덱스보다 작은 행렬 인덱스에 대응하는 검사하지 않은 코드워드가 존재하면,
    상기 행렬 인덱스보다 작은 검사하지 않은 코드워드를 가지는 가장 큰 행렬 인덱스로 상기 행렬 인덱스를 갱신하는 단계,
    상기 갱신된 행렬 인덱스에 대응하는 코드워드 인덱스를 갱신하는 단계, 및
    갱신된 행렬 인덱스보다 큰 모든 행렬 인덱스에 대응하는 상기 코드워드 인덱스를 재설정하는 단계, 및
    상기 동작 조건들이 충족되지 않는 것으로 설정하는 단계
    b2b) 상기 행렬 인덱스보다 작은 행렬 인덱스에 대응하는 검사하지 않은 코드워드가 존재하지 않으면,
    솔루션 집합이 비어 있지 않으면, 상기 동작 조건들을 충족으로 설정하는 단계, 및
    상기 솔루션 집합이 비어 있으면, 오차 조건을 완화하는 단계, 상기 동작 조건들이 충족되지 않음으로 설정하는 단계, 및 검사 위치를 재설정하는 단계;
    c) 상기 동작 조건들이 충족되지 않는다는 결정에 응답해서,
    c1) 상기 데이터 블록 내의 행렬에 대한 상기 행렬 인덱스 및 상기 행렬 인덱스에 대응하는 행렬과 관련된 상기 코드워드의 집합 내의 코드워드에 대한 상기 코드워드 인덱스를 포함하는 상기 검사 위치를 계산하는 단계,
    c2) 상기 검사 위치에 기초하여 코드워드를 선택하는 단계,
    c3) 상기 행렬 인덱스보다 작거나 같은 행렬 인덱스에 대응하는 데이터 블록의 행렬 및 상기 행렬 인덱스보다 작거나 같은 행렬 인덱스에 대응하는 데이터 블록의 행렬에 대해 선택된 코드워드의 솔루션 집합에 기초하여 메트릭(metric)을 계산하는 단계,
    c4) 상기 메트릭이 상기 오차 조건보다 크면, 상기 단계 b) 및 상기 단계 c)를 반복하는 단계, 및
    c5) 상기 메트릭이 상기 오차 조건보다 크지 않으면,
    c5a) 모든 검사 위치를 평가하였다면,
    상기 솔루션 집합 내의 상기 코드워드 인덱스에 의해 인덱스된 상기 코드워드를 저장하는 단계,
    상기 오차 조건을 갱신하는 단계, 및
    상기 단계 b) 및 상기 단계 c)를 반복하는 단계
    c5b) 모든 검사 위치를 평가하지 않았다면,
    상기 행렬 인덱스를 다음 행렬로 갱신하는 단계,
    상기 단계 b) 및 상기 단계 c)를 반복하는 단계; 및
    d) 상기 동작 조건들이 충족된다는 결정에 응답해서,
    상기 솔루션 집합을 출력하는 단계, 및
    상기 출력된 솔루션 집합을 프로세싱하는 단계
    를 포함하는, 방법.
  8. 제7항에 있어서,
    상기 오차 조건을 완화하는 단계는 상기 오차 조건을 증가시키는 단계를 포함하는, 방법.
  9. 제8항에 있어서,
    상기 오차 조건이 두 배인, 방법.
  10. 제7항에 있어서,
    상기 오차 조건을 완화하는 단계, 상기 동작 조건들이 충족되지 않음으로 설정하는 단계, 및 상기 검사 위치를 재설정하는 단계는 출구 조건들(exit conditions)이 충족되지 않으면 수행되는, 방법.
  11. 제10항에 있어서,
    상기 솔루션 집합이 비어 있으면,
    출구 조건들이 충족되면, 수신된 데이터 블록 검출이 실패인 것으로 결정하는 단계에 응답해서 상기 데이터 블록의 소스에 대해 재송신 요구를 발부하는 단계
    를 더 포함하며,
    수신된 데이터 블록 검출이 실패인 것으로 결정하는 단계는,
    최대 검출 시간이 초과된 것으로 결정하는 단계,
    상기 오차 조건이 최대 오차 조건보다 큰 것으로 결정하는 단계, 또는
    상기 오차 조건이 완화된 횟수가 임계치를 초과한 것으로 결정하는 단계
    를 포함하는, 방법.
  12. 수신기 동작을 위한 방법에 있어서,
    a) 전송기로부터, P(단, P는 양의 정수)개의 행렬을 포함하는 데이터 블록을 수신하는 단계;
    b) 동작 조건들이 충족되는지 안 되는지를 결정하는 단계;
    c) 상기 동작 조건들이 충족되지 않는다는 결정에 응답해서,
    c1) 상기 데이터 블록 내의 행렬에 대한 행렬 인덱스 및 상기 행렬 인덱스에 대응하는 행렬과 관련된 코드워드의 집합 내의 코드워드에 대한 코드워드 인덱스를 포함하는 검사 위치를 계산하는 단계,
    c2) 상기 검사 위치에 기초하여 코드워드를 선택하는 단계,
    c3) 상기 행렬 인덱스보다 작거나 같은 행렬 인덱스에 대응하는 데이터 블록의 행렬 및 상기 행렬 인덱스보다 작거나 같은 행렬 인덱스에 대응하는 데이터 블록의 행렬에 대해 선택된 코드워드의 솔루션 집합에 기초하여 메트릭(metric)을 계산하는 단계,
    c4) 상기 메트릭이 오차 조건보다 크면, 상기 단계 b) 및 상기 단계 c)를 반복하는 단계, 및
    c5) 상기 메트릭이 상기 오차 조건보다 크지 않으면,
    c5a) 모든 검사 위치를 평가하였다면,
    상기 솔루션 집합 내의 상기 코드워드 인덱스에 의해 인덱스된 코드워드를 저장하는 단계,
    상기 오차 조건을 갱신하는 단계, 및
    상기 단계 b) 및 상기 단계 c)를 반복하는 단계
    c5b) 모든 검사 위치를 평가하지 않았다면,
    상기 행렬 인덱스를 다음 행렬로 갱신하는 단계,
    상기 단계 b) 및 상기 단계 c)를 반복하는 단계; 및
    d) 상기 동작 조건들이 충족된다는 결정에 응답해서,
    상기 솔루션 집합을 출력하는 단계, 및
    상기 출력된 솔루션 집합을 프로세싱하는 단계
    를 포함하고,
    상기 데이터 블록의 검출 행렬을 조정하는 단계를 더 포함하고,
    상기 수신기는 블라인드 다중 입력 다중 출력(multiple input, multiple output) 검출법을 사용하고,
    상기 데이터 블록의 검출 행렬은, 블라인드 검출에 이용 가능한 데이터를 포함하고,
    상기 검출 행렬을 조정하는 단계는, 상기 검출 행렬과 유니터리 행렬(unitary matrix)을 사전에 곱하는 단계를 더 포함하는, 방법.
  13. 수신기 동작을 위한 방법에 있어서,
    a) 전송기로부터, P(단, P는 양의 정수)개의 행렬을 포함하는 데이터 블록을 수신하는 단계;
    b) 동작 조건들이 충족되는지 안 되는지를 결정하는 단계;
    c) 상기 동작 조건들이 충족되지 않는다는 결정에 응답해서,
    c1) 상기 데이터 블록 내의 행렬에 대한 행렬 인덱스 및 상기 행렬 인덱스에 대응하는 행렬과 관련된 코드워드의 집합 내의 코드워드에 대한 코드워드 인덱스를 포함하는 검사 위치를 계산하는 단계,
    c2) 상기 검사 위치에 기초하여 코드워드를 선택하는 단계,
    c3) 상기 행렬 인덱스보다 작거나 같은 행렬 인덱스에 대응하는 데이터 블록의 행렬 및 상기 행렬 인덱스보다 작거나 같은 행렬 인덱스에 대응하는 데이터 블록의 행렬에 대해 선택된 코드워드의 솔루션 집합에 기초하여 메트릭(metric)을 계산하는 단계,
    c4) 상기 메트릭이 오차 조건보다 크면, 상기 단계 b) 및 상기 단계 c)를 반복하는 단계, 및
    c5) 상기 메트릭이 상기 오차 조건보다 크지 않으면,
    c5a) 모든 검사 위치를 평가하였다면,
    상기 솔루션 집합 내의 상기 코드워드 인덱스에 의해 인덱스된 코드워드를 저장하는 단계,
    상기 오차 조건을 갱신하는 단계, 및
    상기 단계 b) 및 상기 단계 c)를 반복하는 단계
    c5b) 모든 검사 위치를 평가하지 않았다면,
    상기 행렬 인덱스를 다음 행렬로 갱신하는 단계,
    상기 단계 b) 및 상기 단계 c)를 반복하는 단계; 및
    d) 상기 동작 조건들이 충족된다는 결정에 응답해서,
    상기 솔루션 집합을 출력하는 단계, 및
    상기 출력된 솔루션 집합을 프로세싱하는 단계
    를 포함하는, 방법.
  14. 수신기 동작을 위한 방법에 있어서,
    a) 전송기로부터, 복수의 행렬을 포함하는 데이터 블록을 수신하고, 상기 데이터 블록의 수신 후에 상기 데이터 블록의 순서를 정하는 단계;
    b) 동작 조건들이 충족되는지 안 되는지를 결정하는 단계;
    c) 상기 동작 조건들이 충족되지 않는다는 결정에 응답해서,
    c1) 상기 데이터 블록 내의 행렬에 대한 레벨 인덱스 및 상기 레벨 인덱스와 관련된 코드워드 집합 내의 코드워드에 대한 리프(leaf) 인덱스를 계산하는 단계,
    c2) 상기 레벨 인덱스 및 상기 리프 인덱스에 기초하여 코드워드를 선택하는 단계,
    c3) 상기 레벨 인덱스보다 작거나 같은 레벨 인덱스에 대응하는 데이터 블록의 행렬 및 상기 행렬 인덱스보다 작거나 같은 레벨 인덱스에 대응하는 데이터 블록의 행렬에 대한 코드워드의 솔루션 집합에 기초하여 메트릭(metric)을 계산하는 단계,
    c4) 상기 메트릭이 오차 조건보다 크면, 상기 단계 b) 및 상기 단계 c)를 반복하는 단계, 및
    c5) 상기 메트릭이 상기 오차 조건보다 크지 않으면,
    c5a) 모든 행렬을 평가하였다면,
    상기 솔루션 집합 내의 상기 레벨 인덱스와 관련된 리프 인덱스에 대응하는 코드워드를 저장하는 단계,
    상기 오차 조건을 갱신하는 단계, 및
    상기 단계 b) 및 상기 단계 c)를 반복하는 단계
    c5b) 모든 행렬을 평가하지 않았다면,
    상기 레벨 인덱스를 갱신하는 단계,
    상기 단계 b) 및 상기 단계 c)를 반복하는 단계; 및
    d) 상기 동작 조건들이 충족된다는 결정에 응답해서,
    상기 솔루션 집합을 출력하는 단계, 및
    상기 출력된 솔루션 집합을 프로세싱하는 단계
    를 포함하는 방법.
  15. 제14항에 있어서,
    상기 출력된 솔루션 집합을 프로세싱하는 단계는 출력된 솔루션 집합으로부터 전송된 정보를 재구성하도록 구성하는 단계를 포함하는, 방법.
  16. 제14항에 있어서,
    상기 동작 조건들이 충족되는지 안 되는지를 결정하는 단계는,
    상기 동작 조건들이 충족되지 않는 것으로 설정하는 단계; 및
    상기 레벨 인덱스가 상기 코드워드의 집합 내의 코드워드의 수와 같으면,
    코드워드의 수보다 작은 레벨 인덱스보다 작은 레벨 인덱스에 대응하는 적어도 하나의 리프 인덱스가 존재하면,
    코드워드의 수보다 작은 대응하는 리프 인덱스로 상기 레벨 인덱스를 상기 레벨 인덱스보다 작은 가장 높은 레벨 인덱스로 갱신하는 단계,
    상기 갱신된 레벨 인덱스에 대응하는 리프 인덱스를 갱신하는 단계, 및
    코드워드의 수보다 작은 레벨 인덱스보다 작은 레벨 인덱스에 대응하는 리프 인덱스가 존재하지 않으면,
    솔루션 집합이 비어 있지 않으면, 상기 동작 조건들을 충족으로 설정하는 단계, 및
    상기 솔루션 집합이 비어 있으면, 오차 조건을 완화하는 단계, 및 상기 레벨 인덱스 및 상기 리프 인덱스를 재설정하는 단계를 포함하는, 방법.
  17. 수신기에 있어서,
    복수의 수신 안테나;
    수신 안테나에 각각 결합된 복수의 수신 회로;
    상기 복수의 수신 회로에 결합되어 있고, 조정 가능한 오차 조건에 기초해서, 수신된 데이터의 블록 내의 각각의 행렬에 대한 코드워드의 집합에서 최선의 코드워드를 선택함으로써 복수의 전송 구간에서 상기 복수의 수신 회로에 의해 제공되는 복수의 행렬을 포함하는 수신된 데이터의 블록에 존재하는 코드워드를 검출하도록 구성되어 있고, 각각의 행렬에 대한 코드워드의 집합 내의 모든 코드워드가 검사되지 않았으면, 이전에 평가된 행렬들로 철회하도록 구성되어 있는 검출기
    를 포함하고,
    상기 검출기는,
    행렬의 선택된 집합 및 검사되는 코드워드의 대응하는 집합에 기초하여 메트릭을 계산하도록 구성되어 있는 메트릭 계산 유닛;
    상기 메트릭 계산 유닛에 결합되어 있고, 상기 선택된 행렬, 검사하고 있는 코드워드, 상기 메트릭, 및 상기 조정 가능한 오차 조건에 기초하여 코드워드 및 행렬을 선택하도록 구성되어 있는 동작 조건 유닛;
    상기 메트릭 계산 유닛에 결합되어 있고, 상기 행렬의 놈(norm)에 기초하여 상기 수신된 데이터의 블록의 행렬들의 순서를 정하도록 구성되어 있는 오더링 유닛; 및
    상기 검출기에 결합되어 있고, 상기 수신된 데이터의 블록에서 검출된 코드워드로부터, 전송된 데이터를 재구성하도록 구성되어 있는 디코더
    를 포함하는, 수신기.
  18. 제17항에 있어서,
    상기 선택된 행렬 및 복수의 코드워드 인덱스를 가리키는 행렬 인덱스를 저장하는 메모리를 더 포함하며,
    각각의 코드워드 인덱스는 상기 수신된 데이터의 블록 내의 행렬과 관련되어 있고,
    각각의 코드워드 인덱스는 검사하고 있는 코드워드를 가리키는, 수신기.
  19. 제17항에 있어서,
    상기 메트릭 계산 유닛은, 상기 선택된 행렬의 집합과 검사하고 있는 대응하는 코드워드의 집합 간의 최소 제곱 오차를 계산하는, 수신기.
  20. 삭제
  21. 삭제
  22. 삭제
KR1020127014646A 2009-11-23 2010-11-23 미모(mimo) 통신을 위한 시스템 및 방법 KR101295208B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/624,264 US8365032B2 (en) 2009-11-23 2009-11-23 System and method for multiple input, multiple output (MIMO) communications
US12/624,264 2009-11-23
PCT/CN2010/078980 WO2011060743A1 (en) 2009-11-23 2010-11-23 System and method for multiple input, multiple output (mimo) communications

Publications (2)

Publication Number Publication Date
KR20120091312A KR20120091312A (ko) 2012-08-17
KR101295208B1 true KR101295208B1 (ko) 2013-08-09

Family

ID=44059210

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127014646A KR101295208B1 (ko) 2009-11-23 2010-11-23 미모(mimo) 통신을 위한 시스템 및 방법

Country Status (5)

Country Link
US (1) US8365032B2 (ko)
EP (1) EP2491670B1 (ko)
KR (1) KR101295208B1 (ko)
CN (1) CN102630370B (ko)
WO (1) WO2011060743A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8514968B2 (en) * 2010-09-03 2013-08-20 Qualcomm Incorporated Methods and apparatus for encoding and transmitting mobile device location information
US8966339B1 (en) * 2012-12-18 2015-02-24 Western Digital Technologies, Inc. Decoder supporting multiple code rates and code lengths for data storage systems
US9729296B2 (en) * 2013-05-21 2017-08-08 Marvell World Trade Ltd. Non-convex optimization of resource allocation in multi-user networks with time-variant capacity
US9893831B2 (en) * 2015-07-31 2018-02-13 Hughes Network Systems, Llc Congestion control for Scrambled Coded Multiple Access (SCMA)
EP4046313B1 (en) * 2019-12-09 2023-02-08 Huawei Technologies Co., Ltd. Transmitter and receiver for wireless communications based on multidimensional codebooks, and methods of operating the same
CN116973736B (zh) * 2023-09-22 2023-12-19 悦芯科技股份有限公司 一种基于fail周期的ATE测试方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070119546A (ko) * 2006-06-15 2007-12-20 삼성전자주식회사 다중 안테나 시스템에서 개선된 스택 알고리즘을 이용한신호 검출 장치 및 방법
KR20080084058A (ko) * 2007-03-14 2008-09-19 엘지전자 주식회사 모델 행렬을 이용하여 ldpc 부호화를 수행한 데이터를천공하는 방법
WO2009075662A1 (en) 2007-12-12 2009-06-18 Nokia Corporation Adaptive codebook for beamforming in limited feedback mimo systems

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6973094B1 (en) * 2000-09-29 2005-12-06 Broadcom Corporation Packet-switched multiple-access network system with distributed fair priority queuing
CN101166052B (zh) 2006-10-19 2012-05-23 株式会社Ntt都科摩 一种多输入多输出系统的预编码方法及使用该方法的设备
KR101285595B1 (ko) * 2007-03-16 2013-07-15 퍼듀 리서치 파운데이션 다중 입출력 시스템을 위한 프리코딩 행렬 코드북 생성장치 및 그 방법
CN101330361B (zh) 2008-07-23 2011-08-10 华为技术有限公司 多码字多发多收系统的信号检测方法和装置
US8699606B2 (en) * 2009-09-17 2014-04-15 Futurewei Technologies, Inc. System and method for transmitter and receiver operation for multiple-input, multiple-output communications based on prior channel knowledge

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070119546A (ko) * 2006-06-15 2007-12-20 삼성전자주식회사 다중 안테나 시스템에서 개선된 스택 알고리즘을 이용한신호 검출 장치 및 방법
KR20080084058A (ko) * 2007-03-14 2008-09-19 엘지전자 주식회사 모델 행렬을 이용하여 ldpc 부호화를 수행한 데이터를천공하는 방법
WO2009075662A1 (en) 2007-12-12 2009-06-18 Nokia Corporation Adaptive codebook for beamforming in limited feedback mimo systems

Also Published As

Publication number Publication date
EP2491670A1 (en) 2012-08-29
EP2491670B1 (en) 2016-10-26
WO2011060743A1 (en) 2011-05-26
KR20120091312A (ko) 2012-08-17
CN102630370A (zh) 2012-08-08
US8365032B2 (en) 2013-01-29
EP2491670A4 (en) 2012-10-24
US20110126067A1 (en) 2011-05-26
CN102630370B (zh) 2014-04-02

Similar Documents

Publication Publication Date Title
KR101295208B1 (ko) 미모(mimo) 통신을 위한 시스템 및 방법
KR102511374B1 (ko) 무선 통신 시스템에서 인티저 포싱 기법을 이용하는 통신 기법
US8699606B2 (en) System and method for transmitter and receiver operation for multiple-input, multiple-output communications based on prior channel knowledge
RU2303330C1 (ru) Способ приема сигнала в системе связи с несколькими каналами передачи и приема
CN102484483B (zh) 设定迭代译码的迭代次数的方法、迭代译码装置及方法
CN107919941B (zh) 基于重叠复用的调制解调方法和装置
CN107624235B (zh) 用于估计无线通信系统中的下行链路信道的装置和方法
TWI591973B (zh) A signal detection method and device
EP0913958A2 (en) Diversity reception apparatus
KR100949987B1 (ko) 무선통신시스템에서 수신 장치 및 방법
TWI650984B (zh) 一種調製方式檢測方法和裝置
US9088327B2 (en) Systems and methods for channel quality indicator (CQI) selection for non-deterministic receivers
US10009040B2 (en) Method and apparatus for identification and compensation for inversion of input bit stream in LDPC decoding
JP6180333B2 (ja) 無線周波数受信機において信号を復号化する方法
US8139691B2 (en) Apparatus and method for selecting correlation scheme based on carrier frequency error
WO2014032578A1 (zh) 一种确定软比特信息的方法及装置
JP5700645B2 (ja) 受信装置、受信方法および受信プログラム
KR101543621B1 (ko) 다중 입력 다중 출력 시스템의 신호 검출 장치 및 방법
KR101002713B1 (ko) Snr 적응성 스피어 디코더 및 디코딩 방법과, 이를 이용한 무선 수신 장치
KR20170111595A (ko) Mimo 신호 검출 방법 및 장치
KR101076228B1 (ko) 이동통신시스템에서 리스트 스피어 디코딩을 위한 장치 및 방법
JP5207698B2 (ja) 受信装置および伝送路推定方法
US20240154649A1 (en) Decoding with selective iterative decoding skipping
CN110035024B (zh) 一种基于确定性序贯蒙特卡罗算法的软解调方法及装置
JP2009117922A (ja) データ伝送方法

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160720

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170720

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180719

Year of fee payment: 6