MIMO 통신 시스템에서의 다수의 병렬 채널에 대한 증분 리던던시 송신{INCREMENTAL REDUNDANCY TRANSMISSION FOR MULTIPLE PARALLEL CHANNELS IN A MIMO COMMUNICATION SYSTEM}
본 출원은, 2003 년 9 월 9 일자로 출원되었으며 발명의 명칭이 "H-ARQ for MIMO Systems with Successive Interference Cancellation" 인 미국 가출원 제 60/501,776 호, 및 2003 년 12 월 19 일자로 출원되었으며 발명의 명칭이 "Incremental Redundancy Transmission for Multiple Parallel Channels in a MIMO Communication System" 인 미국 출원 제 60/531,393 호의 이익을 주장하는데, 이들은 본 출원의 양수인에게 양도되었으며, 다목적으로 본 명세서에 완전히 참조로서 포함되어 있다.
배경
Ⅰ. 기술분야
본 발명은 일반적으로 통신에 관한 것이고, 보다 상세하게는 다중-입력 다중-출력 (MIMO) 통신 시스템에서 다수의 병렬 채널을 통해 데이터를 전송하는 기술에 관한 것이다.
Ⅱ. 배경기술
MIMO 시스템은 데이터 전송에 다수 (NT 개) 의 송신 안테나 및 다수 (NR 개) 의 수신 안테나를 사용하고, (NT, NR) 시스템으로 표시된다. 후술하는 바와 같이, NT 개의 송신 안테나 및 NR 개의 수신 안테나로 형성된 MIMO 채널은 NS 개의 공간 채널로 분해될 수도 있는데, 여기서 NS ≤ min{NT, NR} 이다. NS 개의 데이터 스트림은 NS 개의 공간 채널을 통해 전송될 수도 있다. 다수의 송신 안테나 및 수신 안테나로 생성된 NS 개의 공간 채널이 데이터 전송에 이용되는 경우, MIMO 시스템은 증가된 전송 용량을 제공할 수 있다.
MIMO 시스템에서의 주요 과제는 채널 상태에 기초하여 MIMO 채널을 통한 데이터 전송에 적합한 레이트를 선택하는 것이다. "레이트" 는 특정 데이터 레이트나 정보 비트 레이트, 특정 코딩 방식, 특정 변조 방식, 특정 데이터 패킷 크기 등을 나타낼 수도 있다. 레이트 선택의 목적은, 타깃 패킷 에러 레이트 (예를 들어, 1% PER) 또는 일부 다른 척도로 정량화될 수도 있는 일정 품질 목적을 충족시키면서 NS 개의 공간 채널을 통한 전체 스루풋을 최대화하는 것이다.
각 공간 채널의 전송 용량은 이 공간 채널에 의해 달성되는 신호대 잡음 및 간섭비 (SINR) 에 종속한다. NS 개의 공간 채널에 대한 SINR 은 채널 상태에 종속하고, 또한 수신기에서 데이터 스트림이 복구되는 방식에 종속할 수도 있다. 하나의 통상적인 MIMO 시스템에 있어서, 송신기는 정적 MIMO 채널의 모델에 기초하여 선택된 레이트에 따라 각 데이터 스트림을 인코딩, 변조 및 송신한다. 이 모델이 정확한 경우 그리고 MIMO 채널이 비교적 정적인 경우 (즉, 시간에 따라 많이 변하지 않는 경우), 양호한 성능이 달성될 수 있다. 또다른 통상적인 MIMO 시스템에 있어서, 수신기는 MIMO 채널을 추정하고, 채널 추정치에 기초하여 각 공간 채널에 적합한 레이트를 선택하여, NS 개의 공간 채널에 대한 NS 개의 선택된 레이트를 송신기로 송신한다. 그런 다음, 송신기는 이 선택된 레이트에 따라 NS 개의 데이터 스트림을 처리하여, 이들 스트림을 NS 개의 공간 채널을 통해 송신한다. 이 시스템의 성능은 MIMO 채널의 속성 및 채널 추정치의 정확성에 종속한다.
전술한 통상적인 MIMO 시스템 모두에 있어서, 송신기는 각 공간 채널에 대한 각 데이터 패킷을 이 공간 채널에 대해 선택된 레이트로 처리 및 송신한다. 수신기는 각 공간 채널을 통해 수신된 각 데이터 패킷을 디코딩하여, 이 패킷이 정확하게 디코딩되는지 또는 에러있게 디코딩되는지를 판정한다. 수신기는, 이 패킷이 정확하게 디코딩되는 경우에는 긍정 응답 (ACK) 을 송신할 수도 있고, 또는 이 패킷이 에러있게 디코딩되는 경우에는 부정 응답 (NAK) 을 송신할 수도 있다. 송신기는, 수신기에 의해 에러있게 디코딩되는 각 데이터 패킷을, 이 데이터 패킷에 대해 NAK 를 수신하면 완전히 재송신할 수도 있다.
전술한 MIMO 시스템 모두의 성능은 레이트 선택의 정확성에 크게 종속한다. 공간 채널에 대해 선택된 레이트가 지나치게 보수적인 (conservative) 경우에는 (예를 들어, 실제 SINR 은 SINR 추정치보다 훨씬 더 양호하기 때문에), 데이터 패킷을 송신하는데 과도한 시스템 자원이 소비되고, 채널 용량은 충분히 이용되지 않는다. 이에 반해, 공간 채널에 대해 선택된 레이트가 지나치게 공격적인 (aggressive) 경우에는, 데이터 패킷은 수신기에 의해 에러있게 디코딩될 수도 있고, 시스템 자원은 이들 패킷을 재송신하는데 소비될 수도 있다. (1) MIMO 채널에 대한 채널 추정에서의 보다 큰 복잡도, (2) 공간 채널의 시변 및 독립적인 속성, 및 (3) 공간 채널을 통해 송신되는 다수의 데이터 스트림들 사이의 상호작용 때문에, MIMO 시스템에 대한 레이트 선택은 과제가 된다.
그러므로, 본 발명이 속하는 기술분야에서, MIMO 시스템에서 다수의 공간 채널을 통해 데이터를 효율적으로 전송하며, 양호한 성능을 달성하기 위해서 정확한 레이트 선택을 요구하지 않는 기술에 대한 필요성이 존재한다.
개요
MIMO 시스템에서 다수 (ND 개) 의 병렬 채널을 통한 증분 리던던시 (IR) 송신을 수행하는 기술이 본 명세서에 제공된다. 이들 병렬 채널은, (1) MIMO 시스템에서 다수의 공간 채널에 의해, (2) 이들이 유사한 SINR 을 달성하도록 하는 방식으로, 또는 (3) 일부 다른 방식으로 형성될 수도 있다. 초기에, MIMO 시스템에서의 송신기 또는 수신기는 ND 개의 병렬 채널에 대한 SINR 을 추정하고, 이들 병렬 채널에 대한 ND 개의 레이트를 선택한다. SINR 은 송신기에 의해 이용되는 송신 방식, 수신기에 의해 수행되는 처리 등과 같은 각종 인자에 종속할 수도 있다. 수신기가 레이트 선택을 수행하는 경우, 선택된 레이트가 송신기에 제공된다.
송신기는 각 병렬 채널에 대한 각 데이터 패킷을 이 병렬 채널에 대해 선택된 레이트에 기초하여 처리 (예를 들어, 인코딩, 파티셔닝, 인터리빙 및 변조) 하여, 이 패킷에 대한 다수 (NB 개) 의 데이터 심볼 블록을 획득한다. 통상적으로, 제 1 데이터 심볼 블록은, 수신기가 유리한 채널 상태 하에서 데이터 패킷을 복구할 수 있도록 충분한 정보를 포함한다. 나머지 데이터 심볼 블록 각각은, 수신기가 보다 덜 유리한 채널 상태 하에서 데이터 패킷을 복구할 수 있도록 부가적인 리던던시를 포함한다. 각 데이터 패킷에 대해, 송신기는, 이 패킷에 대한 모든 블록이 송신될 때까지 한번에 하나의 데이터 심볼 블록을 송신한다. 데이터 패킷이 모든 데이터 심볼 블록보다 적은 데이터 심볼 블록으로 수신기에 의해 복구되는 경우 (즉, 성공적으로 디코딩되는 경우), 송신기는 이 데이터 패킷의 송신을 조기에 종료한다.
수신기는 NR 개의 수신된 심볼 시퀀스에 대해 검출을 수행하여, 송신기에 의해 송신된 각 데이터 심볼 블록에 대해 검출된 심볼 블록을 획득한다. 후속 처리는, 병렬 채널이 독립적인지 또는 상호의존적인지에 종속한다.
각 병렬 채널을 통한 데이터 전송이 다른 병렬 채널을 통한 데이터 전송에 독립적인 경우, ND 개의 병렬 채널은 독립적이다. 이 경우, 각 병렬 채널을 통한 각 데이터 패킷에 대해, 수신기는 이 데이터 패킷에 대해 획득된 모든 검출된 심볼 블록을 처리 (예를 들어, 복조, 디인터리빙, 재조립 및 디코딩) 하여, 디코딩된 패킷을 제공한다. 수신기는, 디코딩된 패킷이 양호한 경우에는 ACK 를 송신하고, 디코딩된 패킷이 에러있는 경우에는 NAK 를 송신할 수도 있다. 수신기는 복구되거나 각 데이터 패킷에 대한 모든 데이터 심볼 블록이 수신된 경우에 이 데이터 패킷에 대한 처리를 종료한다.
각 병렬 채널을 통한 데이터 전송이 다른 병렬 채널을 통한 데이터 전송에 종속적인 경우, ND 개의 병렬 채널은 상호의존적이다. 이는, 수신기가 검출된 심볼 블록을 획득하는데 "연속 간섭 소거 (Successive Interference Cancellation)" (SIC) 처리 기술을 이용하는 경우이다. SIC 를 이용하여, 병렬 채널을 통한 데이터 패킷이 복구될 때마다, 이 패킷이 다른 병렬 채널을 통한 아직 복구되지 않은 데이터 패킷에 야기하는 간섭은, 이들 다른 데이터 패킷에 대해 검출된 심볼 블록을 획득하기 위해서 검출을 수행하기 이전에 추정 및 소거된다. 따라서, 나중에 복구되는 데이터 패킷에 대한 SINR 은 보다 높고, 이들 패킷에 대해 보다 높은 레이트가 선택될 수도 있다. 그런 다음, 데이터 패킷이 수신기에 의해 그 선택된 레이트에 기초하여 결정된 특정 순서로 복구되어, 이들 데이터 패킷을 복구하는데 필요한 SINR 이 달성될 수 있다.
"순차형 (ordered)" SIC 송신 방식에 있어서, 주어진 병렬 채널
를 통한 데이터 패킷이 예상보다 조기에 복구되는 경우, 몇몇 옵션 중 하나의 옵션이 이용가능하다. 첫번째로, 송신기는 병렬 채널
를 통해서는 아무것도 송신하지 않고, 아직 복구되지 않은 데이터 패킷에 대해 보다 크거나 모든 송신 전력을 이용할 수 있다. 두번째로, 송신기는 병렬 채널
를 통해 새로운 "짧은" 데이터 패킷을 송신할 수 있다. 짧은 패킷은, 다음의 데이터 패킷이 복구될 때에 또는 그 이전에 복구될 것으로 예상된다. 세번째로, 송신기는 병렬 채널
를 통해 새로운 "긴" 데이터 패킷을 송신할 수 있다. 긴 패킷은, 다음의 데이터 패킷이 복구된 이후에 복구될 것으로 예상된다. 이들 옵션 중 하나의 옵션은, 조기 종료 이후에 병렬 채널
를 통한 패킷 송신이 있는 경우의 스루풋과 이 패킷 송신이 없는 경우의 스루풋을 비교하는 메트릭에 기초하여 선택될 수도 있다.
"순환형 (cycled)" SIC 송신 방식에 있어서, 데이터 패킷이 병렬 채널에 대해 복구될 때마다, 송신기는 이 병렬 채널을 통해 새로운 데이터 패킷을 송신하고, 수신기는 다음의 병렬 채널로 순환하여, 이 다음의 병렬 채널을 통한 데이터 패킷을 복구하려고 시도한다.
SIC 송신 방식 및 다른 송신 방식이 후술된다. 또한, 본 발명의 각종 양태 및 실시형태가 보다 상세하게 후술된다.
도면의 간단한 설명
본 발명의 특징 및 속성은 도면과 함께 취해지는 경우에 후술되는 상세한 설명으로부터 보다 명백해질 것이고, 이들 도면에서 동일한 참조부호는 그 전체에 걸쳐 동일한 구성요소를 식별한다.
도 1 은 다수 (ND 개) 의 병렬 채널에 대한 IR 송신을 구현하는 MIMO 시스템에서의 송신기 및 수신기의 블록도이다.
도 2 는 병렬 채널에 대한 IR 송신을 수행하기 위한 프로세스를 도시한 도면이다.
도 3 은 하나의 병렬 채널을 통한 하나의 데이터 스트림에 대한 IR 송신을 도시한 도면이다.
도 4 는 MIMO-OFDM 시스템에 대한 송신 방식을 도시한 도면이다.
도 5 는 ND 개의 독립적인 병렬 채널에 대한 IR 송신을 도시한 도면이다.
도 6a 내지 도 6c 는 하나의 병렬 채널을 통한 데이터 패킷의 조기 종료를 위해 3 가지 상이한 옵션을 갖는 순차형 SIC 송신 방식을 도시한 도면이다.
도 7 은 패킷 2a 에 대한 송신 사이클의 개수 대 패킷 1b 에 대한 PER 의 플롯 및 패킷 2a 에 대한 PER 의 플롯을 도시한 도면이다.
도 8 은 순차형 SIC 송신 방식에 대한 상태도이다.
도 9a 및 도 9b 는 순환형 SIC 송신 방식을 도시한 도면이다.
도 10 은 송신기에서의 송신 (TX) 데이터 프로세서를 도시한 도면이다.
도 11 은 송신기에 의한 하나의 데이터 패킷의 처리를 도시한 도면이다.
도 12 는 송신기에서의 TX 공간 프로세서 및 송신기 유닛을 도시한 도면이다.
도 13 은 수신기의 일 실시형태를 도시한 도면이다.
도 14 는 도 13 의 수신기에서의 수신 (RX) 데이터 프로세서를 도시한 도면이다.
도 15 는 SIC 기술을 구현하는 수신기를 도시한 도면이다.
상세한 설명
"예시적인" 이라는 단어는 본 명세서에서 "실시예, 실례 또는 예시의 역할을 하는 것" 을 의미하는데 이용된다. 본 명세서에서 "예시적인" 것으로서 기재된 임의의 실시형태나 설계는 반드시 다른 실시형태나 설계에 비해 바람직하거나 이로운 것으로서 해석되어서는 안 된다.
MIMO 시스템에 있어서, ND 개의 데이터 스트림은 각 병렬 채널을 통해 하나의 데이터 스트림씩 ND 개의 병렬 채널을 통해 동시에 송신될 수도 있는데, 여기서 ND > 1 이다. 후술하는 바와 같이, 각 병렬 채널은 공간 채널에 대응할 수도 있고, 또는 일부 다른 방식으로 형성될 수도 있다. 각 데이터 스트림은 이 데이터 스트림에 대해 선택된 레이트에 기초하여 독립적으로 처리되어, 그 병렬 채널을 통해 송신될 수도 있다.
도 1 은 다수의 병렬 채널을 통한 다수의 데이터 스트림에 대한 IR 송신을 구현하는 MIMO 시스템 (100) 에서의 송신기 (110) 및 수신기 (150) 의 블록도이다. 송신기 (110) 에서, TX 데이터 프로세서 (120) 는 데이터 소스 (112) 로부터 ND 개의 데이터 스트림을 수신한다. TX 데이터 프로세서 (120) 는 각 데이터 스트림에서의 각 데이터 패킷을 이 데이터 스트림에 대해 선택된 레이트에 따라 처리 (예를 들어, 포맷팅, 인코딩, 파티셔닝, 인터리빙 및 변조) 하여, 이 패킷에 대해 NB 개의 데이터 심볼 블록을 제공하는데, 여기서 NB > 1 이고, 이는 선택된 레이트에 종속할 수도 있다. 각 데이터 심볼 블록은 MIMO 시스템 (100) 에 대한 소정의 시간 주기인 하나의 시간 슬롯 (또는 간단히 "슬롯") 에서 송신될 수 있다. 각 데이터 스트림에 대해 선택된 레이트는 데이터 레이트, 코딩 방식이나 코드 레이트, 변조 방식, 패킷 크기, 데이터 심볼 블록의 개수 등을 표시할 수도 있는데, 이들은 제어기 (140) 에 의해 제공되는 각종 제어로 표시된다. 각 데이터 스트림에 대해 선택된 레이트는 정적이거나 (예를 들어, 채널 상태에 기초하여) 계속해서 업데이트될 수도 있다. 주어진 데이터 스트림의 IR 송신에 있어서, 이 데이터 스트림의 각 데이터 패킷에 대한 데이터 심볼 블록은, 이 데이터 패킷이 수신기 (150) 에 의해 복구되거나 모든 블록이 송신되었을 때까지 한번에 하나의 블록씩 송신된다.
TX 공간 프로세서 (130) 는 TX 데이터 프로세서 (120) 로부터 ND 개의 데이터 심볼 스트림을 수신한다. 각 데이터 심볼 스트림은 대응하는 데이터 스트림에서의 각 데이터 패킷에 대한 데이터 심볼 블록 세트를 포함한다. TX 공간 프로세서 (130) 는 NT 개의 송신 안테나로부터 ND 개의 데이터 심볼 스트림을 송신하도록 처리 (예를 들어, 역다중화, 공간 처리 등) 를 수행한다. 후술하는 바와 같이, 각종 송신 방식이 구현될 수도 있다. 이용을 위해 선택되는 송신 방식에 종속하여, 최대 ND 개의 데이터 스트림에 대한 최대 ND 개의 데이터 심볼 블록이 임의의 주어진 슬롯에서 최대 ND 개의 병렬 채널을 통해 동시에 송신된다. 또한, TX 공간 프로세서 (130) 는 수신기 (150) 에 의해 채널 추정에 이용되는 파일럿 심볼에서 다중화하여, NT 개의 송신 심볼 스트림을 송신기 유닛 (TMTR ; 132) 으로 제공한다.
송신기 유닛 (132) 은 NT 개의 송신 심볼 스트림을 수신 및 컨디셔닝 (예를 들어, 아날로그로의 변환, 주파수 업컨버팅, 필터링 및 증폭) 하여, NT 개의 변조된 신호를 획득한다. 그런 다음, 각 변조된 신호는 각각의 송신 안테나 (도 1 에 도시되지 않음) 로부터 MIMO 채널을 통해 수신기 (150) 로 송신된다. MIMO 채널은 MIMO 채널 응답으로 NT 개의 송신된 신호를 왜곡하고, 부가 백색 가우스 잡음 및 가능하게는 다른 송신기로부터의 간섭으로 이 송신된 신호를 더 열화시킨다.
수신기 (150) 에서, NT 개의 송신된 신호는 NR 개의 수신 안테나 각각 (도 1 에 도시되지 않음) 에 의해 수신되어, NR 개의 수신 안테나로부터의 NR 개의 수신된 신호가 수신기 유닛 (RCVR ; 154) 으로 제공된다. 수신기 유닛 (154) 은 각 수신 신호를 컨디셔닝, 디지털화 및 전처리하여, 수신된 심볼 스트림을 획득한다. 수신기 유닛 (154) 은 (데이터에 대한) NR 개의 수신된 심볼 스트림을 RX 공간 프로세서 (160) 로 제공하고, (파일럿에 대한) 수신된 파일럿 심볼을 채널 추정기 (172) 로 제공한다. RX 공간 프로세서 (160) 는 NR 개의 수신된 심볼 스트림을 처리 (예를 들어, 검출, 다중화, 역다중화 등) 하여, ND 개의 검출된 심볼 스트림을 획득하는데, 이는 송신기 (110) 에 의해 송신된 ND 개의 데이터 심볼 스트림의 추정치이다.
RX 데이터 프로세서 (170) 는 ND 개의 검출된 심볼 스트림을 수신 및 처리하여, ND 개의 디코딩된 데이터 스트림을 획득하는데, 이는 송신기 (110) 에 의해 송신된 ND 개의 데이터 스트림의 추정치이다. 각 데이터 스트림의 각 데이터 패킷에 대해, RX 데이터 프로세서 (170) 는 선택된 레이트에 따라 이 데이터 패킷에 대해 수신된 모든 데이터 심볼 블록을 처리 (예를 들어, 복조, 디인터리빙, 재조립 및 디코딩) 하여, 디코딩된 패킷을 제공하는데, 이는 이 데이터 패킷의 추정치이다. 또한, RX 데이터 프로세서 (170) 는 각 디코딩된 패킷의 상태를 제공하는데, 이는 패킷이 정확하게 디코딩되는지 또는 에러있게 디코딩되는지를 표시한다.
채널 추정기 (172) 는 수신된 파일럿 심볼 및/또는 수신된 데이터 심볼을 처리하여, ND 개의 병렬 채널에 대한 채널 추정치 (예를 들어, 채널 이득 추정치 및 SINR 추정치) 를 획득한다. 레이트 선택기 (174) 는 채널 추정치를 수신하고, ND 개의 병렬 채널 각각에 대한 레이트를 선택한다. 제어기 (180) 는 레이트 선택기 (174) 로부터 ND 개의 선택된 레이트를 수신하고, RX 데이터 프로세서 (170) 로부터 패킷 상태를 수신하여, 송신기 (110) 에 대한 피드백 정보를 조립한다. 피드백 정보는 ND 개의 선택된 레이트, 디코딩된 패킷에 대한 ACK 및 NAK 등을 포함할 수도 있다. 피드백 정보는 TX 데이터/공간 프로세서 (190) 에 의해 처리되고, 송신기 유닛 (192) 에 의해 추가 컨디셔닝되어, 피드백 채널을 통해 송신기 (110) 로 송신된다.
송신기 (110) 에서, 수신기 (150) 에 의해 송신된 신호(들)는 수신기 유닛 (146) 에 의해 수신 및 컨디셔닝되고, RX 공간/데이터 프로세서 (148) 에 의해 추가 처리되어, 수신기 (150) 에 의해 송신된 피드백 정보를 획득한다. 제어기 (140) 는 피드백 정보를 수신하고, ND 개의 병렬 채널을 통해 송신되고 있는 현재의 데이터 패킷의 IR 송신을 제어하는데 ACK/NAK 를 이용하며, ND 개의 병렬 채널을 통해 송신될 새로운 데이터 패킷을 처리하는데 ND 개의 선택된 레이트를 이용한다.
제어기 (140 및 180) 는 각각 송신기 (110) 및 수신기 (150) 에서의 동작을 지시한다. 메모리 유닛 (142 및 182) 은 각각 제어기 (140 및 180) 에 의해 이용되는 프로그램 코드 및 데이터에 대해 스토리지를 제공한다. 메모리 유닛 (142 및 182) 은 도 1 에 도시된 바와 같이 제어기 (140 및 180) 의 내부에 존재할 수도 있고, 또는 이들 제어기의 외부에 존재할 수도 있다. 이하, 도 1 에 도시된 처리 유닛이 상세하게 설명된다.
도 2 는 MIMO 시스템에서 ND 개의 병렬 채널을 통한 ND 개의 데이터 스트림에 대한 IR 송신을 수행하기 위한 프로세스 (200) 의 흐름도이다. 초기에, 수신기는 송신기로부터 수신된 파일럿 및/또는 데이터 심볼에 기초하여 ND 개의 병렬 채널을 추정한다 (단계 210). 수신기는 채널 추정치에 기초하여 ND 개의 병렬 채널 각각에 대한 레이트를 선택하여, ND 개의 선택된 레이트를 송신기로 송신한다 (단계 212). 송신기는 ND 개의 선택된 레이트를 수신하고, 이 ND 개의 선택된 레이트에 따라 ND 개의 데이터 스트림에 대한 데이터 패킷을 처리하여, ND 개의 데이터 심볼 스트림을 획득한다 (단계 220). 송신기는 각 데이터 스트림의 각 데이터 패킷을 이 데이터 스트림에 대해 선택된 레이트에 따라 포맷팅, 인코딩, 파티셔닝, 인터리빙 및 변조하여, 이 데이터 패킷에 대한 NB 개의 데이터 심볼 블록을 획득할 수도 있다. 그런 다음, 송신기는 ND 개의 병렬 채널을 통해 ND 개의 데이터 심볼 스트림을 송신한다 (단계 222). 예를 들어, 송신기는 각 데이터 스트림의 각 데이터 패킷에 대해 한번에 하나의 데이터 심볼 블록을, 모든 데이터 심볼 블록이 송신되거나 이 데이터 패킷에 대해 ACK 가 수신될 때까지 송신할 수도 있다. 후술하는 바와 같이, ND 개의 데이터 스트림의 IR 송신에 각종 송신 방식이 이용될 수도 있다.
수신기는 NR 개의 수신 안테나를 통해 송신기로부터 ND 개의 데이터 심볼 스트림을 수신하고, NR 개의 수신된 심볼 스트림을 처리하여, ND 개의 검출된 심볼 스트림을 획득한다 (단계 230). 그런 다음, 수신기는 ND 개의 검출된 심볼 스트림을 처리하여, 송신기에 의해 송신된 데이터 패킷을 복구한다 (단계 232). 각 슬롯에 있어서, 수신기는 ND 개의 데이터 스트림 각각에 대해 송신되고 있는 현재의 데이터 패킷을 복구하려고 시도할 수도 있다. 예를 들어, 데이터 패킷에 대해 새로운 검출된 심볼 블록이 획득될 때마다, 수신기는 이 패킷에 대해 수신된 모든 검출된 심볼 블록을 복조, 디인터리빙, 재조립 및 디코딩하여, 디코딩된 패킷을 획득할 수도 있다. 또한, 수신기는 각 디코딩된 패킷을 검사하여, 이 패킷이 정확하게 디코딩되는지 (양호) 또는 에러있게 디코딩되는지 (소거) 를 판정한다 (또한 단계 232).
ACK/NAK 피드백은 각종 방식으로 달성될 수도 있다. 일 실시형태에 있어서, 수신기는 소거되는 각 디코딩된 패킷에 대해 NAK 를 송신하고, 송신기는 소거된 패킷에 대해 다음의 데이터 심볼 블록을 송신하는데 이 피드백을 이용한다. 또다른 실시형태에 있어서, 송신기는, 각 데이터 패킷에 대해 한번에 하나의 데이터 심볼 블록을, 수신기로부터 이 데이터 패킷에 대해 ACK 가 수신될 때까지 송신한다 (수신기는 NAK 를 송신할 수도 있고 NAK 를 송신하지 않을 수도 있다). 임의의 경우에, 수신기는 복구되거나 각 데이터 패킷에 대해 모든 데이터 심볼 블록이 수신된 경우에 각 데이터 패킷에 대한 처리를 종료한다 (단계 234).
도 2 는 ND 개의 병렬 채널을 통한 ND 개의 데이터 스트림에 대한 IR 송신의 특정 실시형태를 도시한 도면이다. 또한, 다수의 병렬 채널에 대한 IR 송신은 다른 방식으로 수행될 수도 있고, 이는 본 발명의 범위 내에 있다.
도 3 은 하나의 병렬 채널 (채널 i 로 표시됨) 을 통한 하나의 데이터 스트림 (스트림 i 로 표시됨) 에 대한 IR 송신을 도시한 도면이다. 수신기는 채널 i 를 추정하고, 채널 추정치에 기초하여 채널 i 에 대한 레이트
을 선택하여, 선택된 레이트를 슬롯 0 에서 송신기로 송신한다. 송신기는 선택된 레이트를 수신하고, 선택된 레이트에 따라 스트림 i 에 대한 데이터 패킷 (패킷 1) 을 처리하여, 슬롯 1 에서 패킷 1 에 대한 제 1 데이터 심볼 블록 (블록 1) 을 송신한다. 수신기는 블록 1 을 수신 및 처리하고, 패킷 1 이 에러있게 디코딩된다고 판정하여, 슬롯 2 에서 NAK 를 송신한다. 송신기는 NAK 를 수신하고, 슬롯 3 에서 패킷 1 에 대한 제 2 데이터 심볼 블록 (블록 2) 을 송신한다. 수신기는 블록 2 를 수신하고, 블록 1 및 블록 2 를 처리하고, 패킷 1 이 여전히 에러있게 디코딩된다고 판정하여, 슬롯 4 에서 NAK 를 송신한다. 블록 송신 및 NAK 응답은 임의의 횟수 반복될 수도 있다. 도 3 에 도시된 실시예에 있어서, 송신기는 데이터 심볼 블록 N
x-1 에 대해 NAK 를 수신하고, 슬롯 m 에서 패킷 1 에 대한 데이터 심볼 블록 N
x (블록 N
x) 를 송신하는데, 여기서 N
x 는 패킷 1 에 대한 블록의 총 수 이하이다. 수신기는 블록 N
x 를 수신하고, 패킷 1 에 대해 수신된 모든 N
x 개의 데이터 심볼 블록을 처리하고, 이 패킷이 정확하게 디코딩된다고 판정하여, 슬롯 m+1 에서 ACK 를 송신한다. 또한, 수신기는 채널 i 를 추정하고, 스트림 i 에 대해 다음의 데이터 패킷에 대한 레이트
를 선택하여, 선택된 레이트를 슬롯 m+1 에서 송신기로 송신한다. 송신기는 블록 N
x 에 대해 ACK 를 수신하고, 패킷 1 의 송신을 종료한다. 또한, 송신기는 선택된 레이트
에 따라 다음의 데이터 패킷 (패킷 2) 을 처리하여, 슬롯 m+2 에서 패킷 2 에 대한 제 1 데이터 심볼 블록을 송신한다. 패킷 2 에 대한 송신기 및 수신기에서의 처리는 패킷 1 에 대해 설명된 바와 동일한 방식으로 계속된다.
도 3 에 도시된 실시형태의 경우, 각 블록 송신에 있어서 수신기로부터의 ACK/NAK 응답에 대해 하나의 슬롯의 지연이 존재한다. 채널 이용 효율 (channel utilization) 을 향상시키기 위해서, 인터레이스 방식으로 각 데이터 스트림에 대해 다수의 데이터 패킷이 송신될 수도 있다. 예를 들어, 홀수-번호 슬롯에서 하나의 데이터 패킷이 송신될 수도 있고, 짝수-번호 슬롯에서 또다른 데이터 패킷이 송신될 수도 있다. 또한, ACK/NAK 지연이 하나의 슬롯보다 긴 경우, 3 개 이상의 데이터 패킷이 인터레이스될 수도 있다.
후술하는 바와 같이, MIMO 시스템에서의 ND 개의 병렬 채널은 각종 방식으로 형성될 수도 있다. 또한, 수신기에서 수행되는 처리에 종속하여, ND 개의 병렬 채널은 서로 독립적이거나 상호의존적일 수도 있다. 독립적인 병렬 채널에 있어서, 각 데이터 스트림에 대한 IR 송신은 다른 데이터 스트림에 대한 IR 송신에 독립적으로 그리고 이 IR 송신에 상관없이 수행될 수도 있다. 상호의존적인 병렬 채널에 있어서, 각 데이터 스트림에 대한 IR 송신은 다른 데이터 스트림에 대한 IR 송신에 종속한다.
1. 다수의 독립적인 병렬 채널에 대한 IR 송신
N
D 개의 병렬 채널을 통해 동시에 N
D 개의 데이터 스트림을 송신하는데 각종 송신 방식이 이용될 수도 있는데, 여기서 N
D > 1 이다. 몇몇 예시적인 송신 방식이 후술된다. 단순화를 위해, 다음의 설명은, 풀 랭크 (full rank) MIMO 채널 및
을 가정한다.
제 1 송신 방식에 있어서, 송신기에서의 어떠한 공간 처리 없이, 하나의 데이터 스트림이 NT 개의 송신 안테나 각각으로부터 송신된다. 이 송신 방식에 대한 모델은 다음과 같이 표현될 수도 있는데:
여기서,
는 데이터 심볼에 대한 N
T 개의 엔트리를 갖는 {N
T×1} 데이터 벡터이고;
는 N
R 개의 수신 안테나를 통해 획득된 N
R 개의 수신된 심볼에 대한 N
R 개의 엔트리를 갖는 {N
R×1} 수신 벡터이고;
는 MIMO 채널에 대한 {N
R×N
T} 채널 응답 행렬이고;
은 부가 백색 가우스 잡음 (AWGN) 의 벡터이다.
벡터
는 N
T 개의 송신 안테나에 대한 N
T 개의 엔트리를 포함하는데, 여기서 N
D 개의 엔트리는 N
D 개의 데이터 스트림에 대한 N
D 개의 데이터 심볼로 설정되고, 나머지 N
T-N
D 개의 엔트리는 0 으로 설정된다. 벡터
은 0 평균 및
의 공분산 행렬을 갖는 것으로 가정되는데, 여기서
은 잡음의 분산이고,
는 대각선을 따라서는 1 을 가지며 그 밖의 모든 곳에서는 0 을 갖는 단위 행렬 (identity matrix) 이다.
MIMO 채널에서의 산란으로 인해, NT 개의 송신 안테나로부터 송신된 ND 개의 데이터 스트림은 수신기에서 서로 간섭한다. 주어진 송신 안테나로부터 송신된 데이터 스트림은 상이한 진폭 및 위상으로 NR 개의 수신 안테나 모두에 의해 수신될 수도 있다. 그러면, 각 수신 안테나에 대해 수신된 신호는 ND 개의 데이터 스트림 각각의 성분을 포함할 것이다.
수신기는 각종 공간 및 공간-시간 처리 (즉, "검출") 방식에 기초하여 데이터 벡터
를 추정할 수도 있다. 예를 들어, 수신기는 최대비 결합 (Maximal Ratio Combining: MRC) 검출기, 최소 평균 제곱 에러 (Minimum Mean Square Error: MMSE) 검출기, 선형 제로-포싱 (Zero-Forcing: ZF) 검출기 (채널 상관 행렬 반전 (CCMI) 검출기로도 언급됨), MMSE 선형 등화기, 결정 피드백 등화기, 또는 일부 다른 검출기/등화기로 데이터 벡터
를 추정할 수도 있다. 이들 검출기 중 일부 검출기에 대한 공간 처리가 후술된다.
MRC 검출기에 대한 공간 처리는 다음과 같이 표현될 수도 있는데:
여기서,
는 MRC 검출기의 응답이고 (여기서,
);
는 MRC 검출기로부터의 N
T 개의 검출된 심볼의 {N
T×1} 벡터이고;
"H" 는 켤레 전치 행렬 (conjugate transpose) 을 표시한다.
MMSE 검출기에 대한 공간 처리는 다음과 같이 표현될 수도 있는데:
제로-포싱 검출기에 대한 공간 처리는 다음과 같이 표현될 수 있는데:
여기서, 제로-포싱 검출기에 대해
이다. 제 1 송신 방식에 있어서, 각 공간 채널은 각각의 송신 안테나에 대응한다.
제 2 송신 방식에 있어서, 하나의 데이터 스트림은 MIMO 채널의 각 "고유모드 (eigenmode)" 를 통해 송신된다. 채널 응답 행렬
는 특이값 분해 (singular value decomposition) 또는 고유값 분해 (eigenvalue decomposition) 중 어느 하나를 이용하여 분해되어, MIMO 채널의 N
S 개의 고유모드를 획득할 수도 있다. MIMO 채널의 N
S 개의 고유모드는 서로에 대해 직교이고, 향상된 성능은 이들 고유모드를 통해 다수의 데이터 스트림을 송신함으로써 달성될 수도 있다. 채널 응답 행렬
의 특이값 분해는 다음과 같이 표현될 수도 있는데:
여기서,
는
의 좌측 고유벡터 (left eigenvector) 의 {N
R×N
R} 단위 행렬 (unitary matrix) 이고:
는
의 특이값의 {N
R×N
T} 대각 행렬이고;
는
의 우측 고유벡터의 {N
T×N
T} 단위 행렬이다.
단위 행렬은 특성
를 특징으로 한다. 단위 행렬
및
는 각각 MIMO 채널의 N
S 개의 고유모드를 통해 N
D 개의 데이터 스트림을 송신하기 위해서 송신기 및 수신기에 의한 공간 처리에 이용된다.
송신기는 다음과 같이 행렬
로 공간 처리를 수행하는데:
여기서,
는 N
T 개의 송신 안테나로부터 송신된 N
T 개의 송신 심볼에 대한 N
T 개의 엔트리를 갖는 {N
T×1} 벡터이다. 그러면, 수신 벡터는
과 같이 주어진다. 수신기는 다음과 같이 행렬
로 공간 처리를 수행한다.
제 2 송신 방식에 있어서, 각 공간 채널은 각각의 고유모드에 대응한다. NS 개의 고유모드는 분해를 통해 획득된 직교 공간 채널로서 고려될 수도 있다.
제 1 송신 방식 및 제 2 송신 방식에 있어서, ND 개의 데이터 스트림은 상이하며 그리고 가능하게는 광범위하게 변하는 "후처리 (post-processed)" 또는 "후검출 (post-detection)" SINR 을 달성할 수도 있는데, 이는 (예를 들어, MMSE, 제로-포싱, 또는 MRC 검출기로) 수신기에 의한 선형 검출 이후에 달성된 SINR 이다. 그러면, 이들 데이터 스트림에 대해 상이한 레이트가 필요하다.
제 3 송신 방식에 있어서, N
D 개의 데이터 스트림 각각은, 모든 데이터 스트림이 유사한 채널 상태를 경험하며 유사한 후처리 SINR 을 달성하도록 모든 N
T 개의 송신 심볼로부터 송신된다. 그러면, 동일하거나 유사한 레이트가 N
D 개의 데이터 스트림에 이용될 수도 있다. 이 방식에 있어서, 송신기는 다음과 같이 데이터 벡터
와 송신 기저 행렬 (transmit basis matrix) 및 대각 행렬의 행렬 승산을 수행하는데:
여기서,
은 N
T 개의 송신 안테나에 대한 N
T 개의 송신 심볼을 갖는 {N
T×1} 벡터이고;
은 단위 행렬인 {N
T×N
T} 송신 기저 행렬이고;
송신 기저 행렬
은 각 데이터 스트림이 모든 N
T 개의 송신 안테나로부터 송신될 수 있게 하며, 또한 각 송신 안테나의 최대 전력
가 데이터 송신에 이용될 수 있게 한다. 행렬
은
와 같이 정의될 수도 있는데, 여기서
는 월시-하다마르 (Walsh-Hadamard) 행렬이다. 또한, 행렬
은
와 같이 정의될 수도 있는데, 여기서
는
과 같이 정의된 (m, n) 번째 엔트리를 갖는 이산 푸리에 변환 (DFT) 행렬이고, m 은 행렬
에 대한 행 인덱스이고, n 은 행렬
에 대한 열 인덱스이고, m = 1, …, N
T 이고, n = 1, …, N
T 이다. 대각 행렬
은 대각선을 따라서는 N
D 개의 0 이 아닌 엔트리를 포함하며 그 밖의 모든 곳에서는 0 을 포함한다. 이들 N
D 개의 0 이 아닌 엔트리는, 각 송신 안테나에 대한
의 총 송신 전력 제약에 따르면서 N
D 개의 데이터 스트림에 상이한 송신 전력을 할당하는데 이용될 수도 있다.
이 송신 방식에 있어서 수신기에 의해 관측된 "유효" 채널 응답은
이다. 수신기는 MRC, MMSE, 제로-포싱, 또는 일부 다른 검출기/등화기를 사용하여 데이터 벡터
를 추정할 수도 있는데, 여기서 (
,
, 또는
일 수도 있는) 검출기 응답
는 채널 응답 행렬
대신에 유효 채널 응답 행렬
로 계산된다. 제 3 송신 방식은, 2003 년 2 월 14 일자로 출원되었으며 발명의 명칭이 "Rate Adaptive Transmission Scheme for MIMO Systems" 인 공동 양도된 미국 특허 출원 제 10/367,234 호에 상세하게 기재되어 있다.
제 3 송신 방식은 NT 개의 송신 안테나로부터 동시에 임의의 개수의 데이터 스트림을 송신할 수 있고 (즉, 1 ≤ ND ≤ NS), ND 개의 병렬 채널이 유사한 후처리 SINR 을 달성하는 것을 허용하며 (이는 SIC 수신기의 동작을 단순화할 수 있음), 또한 동일하거나 상이한 송신 전력이 이들 데이터 스트림에 이용되는 것을 허용한다.
본 명세서에 기재된 IR 송신 기술은, 데이터 송신에 하나의 캐리어를 이용하는 단일-캐리어 MIMO 시스템에서 구현될 수도 있고, 데이터 송신에 다수의 캐리어를 이용하는 다중-캐리어 MIMO 시스템에서 구현될 수도 있다. 다수의 캐리어는 직교 주파수 분할 다중화 (OFDM), 다른 다중-캐리어 변조 기술, 또는 일부 다른 구성에 의해 제공될 수도 있다. OFDM 은 효과적으로 전체 시스템 대역폭을 다수 (NF 개) 의 직교 서브대역으로 파티셔닝하는데, 이 직교 서브대역은 일반적으로 톤, 빈 또는 주파수 채널로도 언급된다. OFDM 에 있어서, 각 서브대역은 데이터와 함께 변조될 수도 있는 각각의 캐리어와 연관된다.
OFDM 을 구현하는 MIMO 시스템 (즉, MIMO-OFDM 시스템) 에 있어서, ND 개의 데이터 스트림은 각종 방식으로 NT 개의 송신 안테나의 NF 개의 서브대역을 통해 송신될 수도 있다. 예를 들어, 각 데이터 스트림은 각각의 송신 안테나의 NF 개의 서브대역을 통해 송신될 수도 있다. 대안적으로, 각 데이터 스트림은 다수의 서브대역 및 다수의 송신 안테나를 통해 송신되어, 주파수 및 공간 다이버시티를 달성할 수도 있다.
제 4 송신 방식에 있어서, 각 데이터 스트림은 NF 개의 서브대역에 걸쳐 그리고 모든 NT 개의 송신 안테나로부터 대각선으로 (diagonally) 송신된다. 이 방식은 동시에 송신되는 모든 ND 개의 데이터 스트림에 대해 주파수 및 공간 다이버시티 모두를 제공하고, 또한 수신기에서의 선형 검출 이후에 ND 개의 데이터 스트림에 대해 유사한 후처리 SINR 을 달성한다.
도 4 는 4 개의 송신 안테나 (N
T = 4) 및 16 개의 서브대역 (N
F =16) 을 갖는 예시적인 MIMO-OFDM 시스템에서 2 개의 데이터 스트림 (N
D =2) 이 송신되는 경우에 대한 제 4 송신 방식을 도시한 도면이다. 제 1 데이터 스트림에 대해, 처음의 4 개의 데이터 심볼
,
,
및
는 송신 안테나 1, 2, 3 및 4 각각의 서브대역 1, 2, 3 및 4 각각을 통해 송신된다. 다음의 4 개의 데이터 심볼
,
,
및
은 랩어라운드되고 (wrap around), 송신 안테나 1, 2, 3 및 4 각각의 서브대역 5, 6, 7 및 8 각각을 통해 송신된다. 제 2 데이터 스트림에 대해, 처음의 4 개의 데이터 심볼
,
,
및
는 송신 안테나 3, 4, 1 및 2 각각의 서브대역 1, 2, 3 및 4 각각을 통해 송신된다. 다음의 4 개의 데이터 심볼
,
,
및
은 랩어라운드되고, 송신 안테나 3, 4, 1 및 2 각각의 서브대역 5, 6, 7 및 8 각각을 통해 송신된다. 도 4 에 도시된 실시형태에 있어서, 모든 서브대역이 데이터 송신에 이용되지는 않고, 이용되지 않는 서브대역은 0 의 신호값으로 채워진다. 또한, 다중화/역다중화는 다른 방식으로 수행될 수도 있다.
MIMO-OFDM 시스템에 있어서, 송신기 및 수신기에 대해 전술한 공간 처리는 각 서브대역 k 에 대한 채널 응답 행렬
에 기초하여 각 서브대역 k 에 대해 수행될 수 있는데, 여기서 k = 1, …, N
F 이다.
직교 주파수 분할 다중 접속을 구현하는 MIMO 시스템 (즉, MIMO-OFDMA 시스템) 에 있어서, NF 개의 서브대역의 서브세트만이 각 수신기로의 데이터 송신에 이용가능할 수도 있다. 또한, MIMO-OFDM 시스템에 대해 전술한 처리는 단지 데이터 송신에 이용가능한 서브대역에 대한 것이긴 하지만 MIMO-OFDMA 시스템에 이용될 수도 있다. 예를 들어, 주어진 수신기에 대한 ND 개의 데이터 스트림은 (모든 NF 개의 서브대역 대신에) 이용가능한 서브대역에 걸쳐 그리고 NT 개의 송신 안테나로부터 대각선으로 송신될 수도 있다.
ND 개의 병렬 채널은 MIMO 시스템 및 MIMO-OFDM 시스템에서 각종 방식으로 형성될 수도 있다. 전술한 4 가지 송신 방식은 다수의 병렬 채널을 형성하는 4 가지 예시적인 방법을 나타낸다. 일반적으로, 병렬 채널은 공간, 주파수 및 시간의 임의의 조합을 이용하여 형성될 수도 있다.
다음의 설명에 있어서, "송신 사이클" (또는 단순히 "사이클") 은 송신기에 의한 데이터 심볼 블록의 송신 및 수신기에 의한 이 데이터 심볼 블록에 대한 NAK/ACK 응답의 송신을 커버하는 시간 주기이다. "F" 는 수신기에 의한 디코딩 실패를 표시하고, "S" 는 디코딩 성공을 표시한다. 단순화를 위해, 각 데이터 스트림에 대한 다수의 데이터 패킷의 인터레이스는 다음의 타이밍도에 도시되지 않는다.
도 5 는 ND 개의 독립적인 병렬 채널을 통한 ND 개의 데이터 스트림의 IR 송신을 도시한 도면이다. 이들 병렬 채널이 독립적이기 때문에, 수신기는 각 데이터 스트림을 독립적으로 복구하여, 이 데이터 스트림에 대한 ACK/NAK 피드백 스트림을 제공할 수 있다. 송신기는 각 사이클에서 각 데이터 스트림의 현재의 데이터 패킷에 대한 새로운 데이터 심볼 블록을 송신한다.
도 5 에 도시된 실시예에 있어서, 병렬 채널 1 (채널 1) 을 통해 송신된 데이터 스트림 1 에 대해, 수신기는, 사이클 1 에서 데이터 심볼 블록 1 만으로 데이터 패킷 1a (패킷 1a) 를 복구하려고 시도하는 경우에 디코딩 실패 ("
") 에 직면하고, 사이클 2 에서 데이터 심볼 블록 1 및 데이터 심볼 블록 2 로 패킷 1a 를 복구하려고 시도하는 경우에 디코딩 실패에 직면하고, 사이클 3 에서 데이터 심볼 블록 1, 데이터 심볼 블록 2 및 데이터 심볼 블록 3 으로 패킷 1a 를 복구하려고 시도하는 경우에 디코딩 실패에 직면하고, 사이클 4 에서 데이터 심볼 블록 1 내지 데이터 심볼 블록 4 로 패킷 1a 를 복구하려고 시도하는 경우에 디코딩 성공 ("
") 에 직면한다. 그런 다음, 송신기는 패킷 1a 의 송신을 종료하고, 또다른 데이터 패킷 1b (패킷 1b) 에 대한 데이터 심볼 블록의 송신을 시작한다. 수신기는, 패킷 1b 에 대해 새로운 데이터 심볼 블록이 수신될 때마다 이 패킷 1b 를 복구하려고 시도하고, 사이클 5 내지 사이클 8 각각에서 디코딩 실패에 직면하고, 사이클 9 에서 데이터 심볼 블록 1 내지 데이터 심볼 블록 5 로 패킷 1b 를 정확하게 디코딩할 수 있다. 도 5 에 도시된 바와 같이, 수신기는 다른 데이터 스트림 각각을 유사한 방식으로 처리한다.
2. 다수의 상호의존적인 병렬 채널에 대한 IR 송신
수신기는 ND 개의 검출된 심볼 스트림을 획득하기 위해서 SIC 기술을 이용하여 NR 개의 수신된 심볼 스트림을 처리할 수 있다. 비선형 검출 방식인 SIC 기술에 있어서, 수신기는 초기에 (예를 들어, MRC, MMSE, 또는 제로-포싱 검출기를 사용하여) NR 개의 수신된 심볼 스트림에 대해 검출을 수행하여, 하나의 검출된 심볼 스트림을 획득한다. 수신기는 이 검출된 심볼 스트림을 추가 처리 (예를 들어, 복조, 디인터리빙 및 디코딩) 하여, 디코딩된 데이터 스트림을 획득한다. 그런 다음, 수신기는, 이 데이터 스트림이 다른 ND-1 개의 데이터 스트림에 야기시키는 간섭을 추정하고, NR 개의 수신된 심볼 스트림으로부터 이 추정된 간섭을 소거하여, NR 개의 변경된 심볼 스트림을 획득한다. 그런 다음, 수신기는 NR 개의 변경된 심볼 스트림에 대해 동일한 처리를 반복하여, 또다른 데이터 스트림을 복구한다.
따라서, 수신기는 ND 개의 연속적인 스테이지에서 NR 개의 수신된 심볼 스트림을 처리한다. 각 스테이지에 있어서, 수신기는, (1) 선행 스테이지로부터의 NR 개의 수신된 심볼 스트림 또는 NR 개의 변경된 심볼 스트림 중 어느 하나에 대해 검출을 수행하여 하나의 검출된 심볼 스트림을 획득하고, (2) 이 검출된 심볼 스트림을 디코딩하여 대응하는 디코딩된 데이터 스트림을 획득하며, (3) 이 스트림으로 인한 간섭을 추정 및 소거하여 다음의 스테이지에 대한 NR 개의 변경된 심볼 스트림을 획득한다. 각 데이터 스트림으로 인한 간섭이 정확하게 추정 및 소거될 수 있는 경우 (이는 데이터 스트림의 에러 없는 복구 (error-free recovery) 또는 낮은 에러 복구 (low-error recovery) 를 필요로 함), 나중에 복구되는 데이터 스트림은 보다 적은 간섭을 경험하고, 보다 높은 후처리 SINR 을 달성가능할 수도 있다. SIC 기술은, 2001 년 11 월 6 일자로 출원되었으며 발명의 명칭이 "Multiple-Access Multiple-Input Multiple-Output (MIMO) Communication System" 인 공동 양도된 미국 특허 출원 제 09/993,087 호에 보다 상세하게 기재되어 있다.
SIC 기술에 있어서, 각 데이터 스트림의 후처리 SINR 은, (1) 선형 검출되지만 간섭 소거되지 않은 이 스트림의 SINR, (2) 이 데이터 스트림이 복구되는 특정 스테이지, 및 (3) 나중에 복구되는 데이터 스트림으로 인한 간섭에 종속한다. 따라서, ND 개의 데이터 스트림이 선형 검출로 (예를 들어, MMSE, 제로-포싱, 또는 MRC 검출기를 사용하여) 유사한 후처리 SINR 을 달성할 수도 있을 지라도, 이들 스트림은 통상적으로 SIC 기술을 이용하여 비선형 검출로 상이한 후처리 SINR 을 달성할 것이다. 일반적으로, 후처리 SINR 은 나중의 스테이지에서 복구되는 데이터 스트림에 대해 점진적으로 향상되는데, 그 이유는 이전의 스테이지에서 복구된 데이터 스트림으로부터의 간섭이 소거되기 때문이다. 그러면, 이는 보다 높은 레이트가 나중에 복구되는 데이터 스트림에 이용되는 것을 허용한다.
SIC 기술은 데이터 스트림들 사이에 상호의존성을 도입한다. 특히, ND 개의 데이터 스트림에 대한 레이트는 이들 데이터 스트림에 의해 달성된 후처리 SINR 에 기초하여 선택되는데, 이는 다음에 데이터 스트림이 복구되는 순서에 종속한다. 각 데이터 스트림의 후처리 SINR 은, 조기의 데이터 스트림 모두 (즉, 이 데이터 스트림 이전에 복구되도록 지정된 데이터 스트림) 가 성공적으로 디코딩 및 소거되었다고 가정한다. 통상적으로, 수신기는 지정된 순서로 ND 개의 데이터 스트림을 복구할 필요가 있고, 통상적으로 조기의 데이터 스트림 모두가 복구 및 소거될 때까지 주어진 데이터 스트림을 복구할 수 없다.
SIC 수신기를 갖는 MIMO 시스템에 각종 송신 방식이 이용될 수도 있다. 몇몇 예시적인 송신 방식이 후술된다. 단순화를 위해, 다음의 설명은, 2 개의 데이터 스트림 (ND = 2) 이 2 개의 병렬 채널을 통해 송신된다고 가정한다. 그러나, 후술되는 개념은 임의의 개수의 데이터 스트림에 확장될 수도 있다.
A. 순차형 SIC 송신 방식
순차형 SIC 송신 방식에 있어서, ND 개의 데이터 스트림은 지정된 순서로 복구된다. 예를 들어, 수신기는 먼저 데이터 스트림 1 을 복구한 다음, 다음에 데이터 스트림 2 를 복구하고, …, 마지막으로 데이터 스트림 ND 를 복구할 수도 있다. 지정된 순서는, 데이터 스트림이 송신되는 방식에 종속할 수도 있다. 예를 들어, ND 개의 데이터 스트림에 대해 수신된 SINR 은 전술한 제 3 송신 방식 및 제 4 송신 방식에 있어서 유사할 가능성이 있다. 이 경우, 성능은, ND 개의 데이터 스트림이 복구되는 순서에 의해 최소한으로 영향을 받고, 임의의 순서가 선택될 수도 있다. ND 개의 데이터 스트림에 대해 수신된 SINR 은 전술한 제 1 송신 방식에 있어서 상이할 가능성이 있다. 이 경우, 먼저 최고의 수신된 SINR 을 갖는 데이터 스트림을 복구한 다음, 다음으로 높은 수신된 SINR 을 갖는 데이터 스트림 등을 복구함으로써 양호한 성능이 달성될 수도 있다. 임의의 경우에, 순차형 SIC 송신 방식에 있어서, 수신기는, 조기의 데이터 스트림 1 내지 데이터 스트림 i-1 모두로부터의 간섭이 소거된 이후에만 데이터 스트림 i 를 복구하려고 시도한다.
초기에, 후처리 SINR 은, N
D 개의 데이터 스트림에 대해, (1) 이들 데이터 스트림에 대해 수신된 SINR (예를 들어, 이들 데이터 스트림에 동등한 송신 전력이 이용됨), 및 (2) 이들 데이터 스트림을 복구하는 지정된 순서에 기초하여 추정된다. 스테이지
에서 복구된 데이터 스트림의 후처리 SINR 인
은 다음과 같이 표현될 수도 있는데:
여기서,
은 스테이지
에서 복구된 스트림에 대한 검출기 응답이고,
은 수신기에서의 잡음의 분산이다. 검출기 응답
은 스테이지
에 대한 감소된 채널 응답 행렬
에 기초하여 이 스테이지
에 대해 도출된 (예를 들어, MRC, MMSE, 또는 제로-포싱) 검출기 응답
의 하나의 열이다. 행렬
은,
이전의 스테이지에서 이미 복구된 데이터 스트림에 대응하는 오리지널 행렬
에서
열을 제거함으로써 획득된다. 후처리 SINR 의 계산은, 2003 년 9 월 23 일자로 출원되었으며 발명의 명칭이 "Successive Interference Cancellation Receiver Processing with Selection Diversity" 인 공동 양도된 미국 특허 출원에 보다 상세하게 기재되어 있다.
각 데이터 스트림에 대해 그 후처리 SINR 에 기초하여 레이트가 선택된다. 데이터 패킷이 IR 송신에 대해 가변 레이트로 송신될 수 있기 때문에, 레이트 선택은 정확할 필요는 없다. N
D 개의 데이터 스트림에 대해 송신될 N
D 개의 데이터 패킷의 크기는, 선택된 레이트가 주어지는 경우, 모든 데이터 패킷이 동일한 개수의 사이클 (
) 에서 수신기에 의해 복구될 것으로 예상되도록 선택되는데, 여기서
는 후처리 SINR 의 보수적인 추정치에 기초하여 결정될 수 있다. 각 데이터 패킷에 대한 송신은, 이 패킷이 사이클
이전에 복구되는 경우에 조기에 종료될 수도 있고, 필요하다면 이 패킷이 복구될 때까지 사이클
를 지나 연장될 수도 있다.
도 6a 내지 도 6c 는 하나의 데이터 스트림에 대한 데이터 패킷의 조기 종료를 위해 3 가지 상이한 송신 옵션을 갖는 순차형 SIC 송신 방식을 도시한 도면이다. 도 6a 내지 도 6c 에 있어서, 병렬 채널 1 및 병렬 채널 2 (채널 1 및 채널 2) 각각을 통해 데이터 스트림 1 및 데이터 스트림 2 에 대해 사이클 1 에서 시작하여 2 개의 새로운 데이터 패킷 (패킷 1a 및 패킷 2a) 이 송신된다. 데이터 스트림 1 에 대한 패킷 1a 가 사이클
이전의 사이클
에서 복구되는 경우, 이 송신 방식의 목적은 스펙트럼 효율의 손실 없이 데이터 스트림 모두를 가능한 한 빨리 동기화하는 것이다. 표 1 은, 패킷 1a 가 사이클
이전에 복구되는 경우에 이용가능한 몇몇 옵션을 나타낸다.
표 1
옵션 |
설명 |
1 |
도 6a 에 도시된 바와 같이, 채널 1 을 통해 어떠한 것도 송신하지 말고, 패킷 1a 가 복구된 이후에 채널 2 를 통한 패킷 2a 에 모든 송신 전력을 이용한다. 이는 사이클 이전에 패킷 2a 를 복구할 가능성을 향상시킨다. |
2 |
도 6b 에 도시된 바와 같이, 채널 1 을 통해 새로운 '짧은' 데이터 패킷을 송신한다. 짧은 패킷은 의 길이를 갖는데, 여기서 이며, 이다. 짧은 패킷에 대한 레이트는 사이클 에서 획득된 채널 추정치에 기초하여 선택된다. |
3 |
도 6c 에 도시된 바와 같이, 채널 1 을 통해 새로운 '긴' 데이터 패킷을 송신한다. 긴 패킷은 의 길이를 갖는데, 여기서 이다. 이는, 긴 패킷이 복구될 것으로 예상되는 사이클인 사이클 까지 패킷 2a의 복구를 지연시킬 수도 있다. |
표 1 에 있어서,
및
(
와 유사함) 은, 후처리 SINR 의 보수적인 추정치에 기초하여 짧은 데이터 패킷 및 긴 데이터 패킷이 복구될 것으로 예상되는 사이클의 개수를 나타낸다.
조기 종료에 직면할 때마다, 표 1 에 나타낸 3 가지 옵션 중 하나의 옵션을 선택하는데 메트릭이 이용될 수도 있다. 이 메트릭은 누적 스루풋에 기초하여 정의되며, 다음과 같이 정의될 수도 있는데:
여기서,
은 n 개의 사이클 이후에 데이터 스트림 i 에 대해 사이클 j 에서 예측되는 누적 스루풋이다. 식 (10) 에서의 부등식의 좌변은, 채널 1 을 통해 새로운 긴 패킷이 송신되는 경우의 채널 1 에 대한 누적 스루풋 (
) 에서의 이득을 나타낸다. 식 (10) 에서의 부등식의 우변은, 채널 1 을 통한 새로운 긴 패킷의 송신으로 인한 채널 2 에 대한 누적 스루풋 (
) 의 감소를 나타낸다. 예측되는 바와 같이, 항
는, 패킷 2a 가 사이클
에서 복구되는 경우의 채널 2 에 대한 누적 스루풋을 표시한다. 항
은, 채널 1 을 통한 긴 패킷의 송신 때문에 패킷 2a 에 대한 송신이 사이클
까지 연장되는 경우의 채널 2 에 대한 누적 스루풋을 표시한다. 이들 2 개의 항들 사이의 차이는 채널 2 에 대한 누적 스루풋에서의 감소를 나타낸다. 따라서, 채널 1 에 대한 누적 스루풋에서의 이득이 채널 2 에 대한 누적 스루풋에서의 감소보다 큰 경우, 새로운 긴 패킷은 채널 1 을 통해 송신될 수도 있다 (즉, 식 (10) 이 참인 경우, 표 1 에서의 옵션 3 이 선택될 수도 있다).
식 (10) 은, 사이클
에서 패킷 1a 가 복구된 이후에 패킷 2a 에 총 송신 전력이 이용될 지라도
개의 사이클이 패킷 2a 를 복구하는데 필요하다고 가정한다. 이는 비관적인 가정인데, 그 이유는 사이클
이후에 보다 높은 송신 전력이 패킷 2a 에 이용되는 경우에 사이클
이전에 패킷 2a 를 복구할 가능성이 향상되기 때문이다. 식 (10) 은 다음과 같이 변경될 수도 있는데:
여기서,
는 패킷 2a 를 복구하는데 필요하다고 예측되는 사이클의 개수인데, 사이클
이후에 패킷 2a 에 모든 송신 전력이 이용되며,
이다.
도 6a 는 조기 종료를 위해 널 (null) 송신 (표 1 에서의 옵션 1) 을 이용한 IR 송신을 도시한 도면이다. 도 6a 에 있어서, 사이클 1 내지 사이클
각각에서 채널 1 및 채널 2 를 통해 패킷 1a 및 패킷 2a 에 대해 2 개의 새로운 데이터 블록이 송신된다. 각 사이클에 있어서, 수신기는 패킷 1a 에 대해 수신된 모든 데이터 심볼 블록에 기초하여 패킷 1a 를 복구하려고 시도하고, 패킷 2a 를 복구하려고 시도하지는 않는다 ("
"). 수신기는 사이클 1 내지 사이클
각각에서 패킷 1a 에 대한 디코딩 실패 ("
") 에 직면하고, 사이클
보다 조기의 사이클
에서 디코딩 성공 ("
") 에 직면한다. 그런 다음, 수신기는 패킷 1a 로 인한 간섭을 추정 및 소거하고, 패킷 2a 를 복구하려고 시도하며, 패킷 2a 에 대한 디코딩 실패 ("
") 에 직면한다.
옵션 1 에 있어서, 송신기는, 패킷 1a 가 복구된 이후에 모든 송신 전력을 패킷 2a 에 이용한다. 사이클
내지 사이클
각각에 대해, 수신기는 패킷 2a 에 대해 수신된 모든 데이터 심볼 블록에 기초하여 패킷 2a 를 복구하려고 시도하는데, 여기서 사이클 1 내지 사이클
사이에 수신된 블록은 패킷 1a 로부터의 간섭이 제거되고, 사이클
내지 사이클
사이에 수신된 블록은 보다 높은 송신 전력을 갖는다. 수신기는 사이클
내지 사이클
각각에서 패킷 2a 에 대한 디코딩 실패 ("
") 에 직면하고, 사이클
에서 디코딩 성공 ("
") 에 직면한다. 이 실시예에서, 사이클
이후로부터 패킷 2a 에 보다 높은 송신 전력이 이용되기 때문에, 패킷 2a 는 또한 조기에, 즉 사이클
이전에 복구된다. 그런 다음, 사이클
에서 시작하여 채널 1 및 채널 2 를 통해 2 개의 새로운 데이터 패킷 (패킷 1b 및 패킷 2b) 이 송신된다. 이들 패킷에 대해 디코딩 프로세스가 반복된다.
도 6b 는 조기 종료를 위해 짧은 패킷 송신 (표 1 에서의 옵션 2) 을 이용한 IR 송신을 도시한 도면이다. 도 6b 에 있어서, 사이클 1 내지 사이클
각각에서 채널 1 및 채널 2 를 통해 패킷 1a 및 패킷 2a 에 대해 2 개의 새로운 데이터 블록이 송신된다. 각 사이클에 있어서, 수신기는 패킷 1a 를 복구하려고 시도하고, 패킷 2a 를 복구하려고 시도하지는 않는다. 수신기는 (사이클
보다 조기의) 사이클
에서 패킷 1a 에 대한 디코딩 성공 ("
") 에 직면하고, 패킷 1a 로 인한 간섭을 추정 및 소거하고, 패킷 2a 를 복구하려고 시도하며, 패킷 2a 에 대한 디코딩 실패 ("
") 에 직면한다. 그런 다음, 길이
를 갖는 새로운 짧은 패킷 1b 가 사이클
에서 시작하여 채널 1 을 통해 송신된다. 사이클
내지 사이클
각각에 있어서, 수신기는 패킷 1b 에 대해 수신된 모든 데이터 심볼 블록에 기초하여 패킷 1b 를 복구하려고 시도하고, 사이클
에서 디코딩 성공 ("
") 에 직면한다. 이 실시예에 있어서, 패킷 1b 는 또한 사이클
이전에 복구된다. 그러나, 예를 들어, 가장 짧은 길이의 패킷이 사이클
이전에 채널 1 을 통해 완전히 송신될 수 없기 때문에, 사이클
이후에 채널 1 을 통해 어떠한 데이터도 송신되지 않는다. 그런 다음, 송신기는, 패킷 1b 가 복구된 이후에 모든 송신 전력을 패킷 2a 에 이용한다.
사이클
내지 사이클
각각에 있어서, 수신기는 패킷 2a 에 대해 수신된 모든 데이터 심볼 블록에 기초하여 패킷 2a 를 복구하려고 시도하는데, 여기서 사이클 1 내지 사이클
사이에 수신된 블록은 패킷 1a 로부터의 간섭이 제거되고, 사이클
내지 사이클
사이에 수신된 블록은 패킷 1b 로부터의 간섭이 제거되고, 사이클
이후에 수신된 블록은 보다 높은 송신 전력을 갖는다. 수신기는, 이 실시예에서 사이클
이전의 사이클
에서 패킷 2a 에 대한 디코딩 성공 ("
") 에 직면한다. 그런 다음, 사이클
에서 시작하여 채널 1 및 채널 2 를 통해 2 개의 새로운 데이터 패킷이 송신된다.
도 6c 는 조기 종료를 위해 긴 패킷 송신 (표 1 에서의 옵션 3) 을 이용한 IR 송신을 도시한 도면이다. 도 6c 에 있어서, 사이클 1 내지 사이클
각각에서 채널 1 및 채널 2 를 통해 패킷 1a 및 패킷 2a 에 대해 2 개의 새로운 데이터 블록이 송신된다. 사이클
에서 패킷 1a 에 대한 디코딩 성공 ("
") 에 직면하면, 길이
을 갖는 새로운 긴 패킷 1b 가 사이클
에서 시작하여 채널 1 을 통해 송신된다. 사이클
내지 사이클
각각에 있어서, 수신기는 패킷 1b 에 대해 수신된 모든 데이터 심볼 블록에 기초하여 패킷 1b 를 복구하려고 시도하고, 사이클
이후의 사이클
에서 디코딩 성공 ("
") 에 직면한다.
사이클
에 있어서, 수신기는 패킷 2a 에 대해 수신되며 패킷 1a 로부터의 간섭이 제거된 모든 데이터 심볼 블록에 기초하여 패킷 2a 를 복구하려고 시도하며, 디코딩 실패 ("
") 에 직면한다. 사이클
에 있어서, 수신기는 패킷 2a 에 대해 수신된 모든 데이터 심볼 블록에 기초하여 패킷 2a 를 복구하려고 시도하는데, 여기서 사이클 1 내지 사이클
사이에 수신된 블록은 패킷 1a 로부터의 간섭이 제거되고, 사이클
내지 사이클
사이에 수신된 블록은 패킷 1b 로부터의 간섭이 제거된다. 수신기는 사이클
에서 패킷 2a 에 대한 디코딩 성공 ("
") 에 직면한다. 그런 다음, 사이클
에서 시작하여 채널 1 및 채널 2 를 통해 2 개의 새로운 데이터 패킷이 송신된다.
채널 1 을 통한 새로운 긴 패킷 1b 의 송신은 채널 2 에 대해 달성되는 PER 및 실제 레이트에 영향을 미칠 수도 있다. 전술한 바와 같이,
는 타깃 PER 을 위해 그리고 채널 1 로부터의 패킷(들)으로부터의 간섭이 소거된 채널 2 를 통한 패킷 2a 를 복구하기 위해 예측된 사이클의 개수이다. 채널 1 을 통한 긴 패킷 1b 가 사이클
보다 나중의 사이클
에서 복구되는 경우, (1) 채널 2 에 대해 달성되는 레이트는
로부터
로 감소하고, (2) 패킷 2a 에 대한 PER 은 타깃 PER 보다 낮은데, 그 이유는 보다 큰 리던던시가 패킷 2a 에 대해 송신되었기 때문이다. 몇몇 소정 개수의 사이클 (
) 이후에 패킷 2a 에 대한 송신을 종료하며, 모든 송신 전력을 패킷 1b 에 이용함으로써, 향상된 성능이 달성될 수도 있다.
도 7 은 패킷 2a 에 대한 송신 사이클의 개수 (
) 대 패킷 1b 에 대한 PER 의 플롯 (710) 및 패킷 2a 에 대한 PER 의 플롯 (712) 을 도시한 도면이다. 포인트 (720) 에 의해 표시된 바와 같이, 타깃 PER 은, 패킷 2a 가
개의 사이클 (즉,
) 동안 송신되는 경우에 이 패킷 2a 에 대해 달성된다. 플롯 (712) 에 의해 도시된 바와 같이, 패킷 2a 가
개의 사이클을 지나 보다 오래 송신됨에 따라, 패킷 2a 에 대한 PER 은 점진적으로 타깃 PER 아래로 감소한다. 포인트 (722) 에 의해 표시된 바와 같이, 타깃 PER 은, 패킷 1b 가
개의 사이클 동안 송신되는 경우에 이 패킷 1b 에 대해 달성되는데, 이는 사이클
에서 발생한다. 이는, 패킷 2a 가 이 전체 시간 동안에 송신된다고 가정한다. 플롯 (710) 에 의해 도시된 바와 같이, 패킷 2a 가 보다 조기에 종료되며 모든 송신 전력이 패킷 1b 에 이용됨에 따라, 패킷 1b 에 대한 PER 은 점진적으로 타깃 PER 아래로 감소한다. 패킷 1b 에 대한 PER 및 패킷 2a 에 대한 PER 은 사이클
에서 교차한다. 패킷 2a 에 대한 송신이 사이클
에서 종료되는 경우, 패킷 1b 및 패킷 2a 모두에 대해 동일한 신뢰도가 달성될 수 있고, 사이클
이전에 패킷 1b 를 복구할 가능성도 또한 향상된다.
대안적으로, 사이클
에서 패킷 2a 의 송신을 종료하는 대신에, 유사한 결과를 달성하기 위해서 상이한 송신 전력이 패킷 1b 및 패킷 2a 에 이용될 수도 있다. 예를 들어, 패킷 1b 의 PER 및 패킷 2a 의 PER 이 사이클
에서 유사하도록, 패킷 1b 의 지속기간 동안 (즉, 사이클
로부터 사이클
까지) 패킷 1b 에 대한 보다 큰 송신 전력 및 패킷 2a 에 대한 보다 적은 송신 전력의 이용에 기초하여
가 선택될 수도 있다. 또다른 실시예로서,
이후로, 패킷 1b 에 대한 송신 전력은 점진적으로 증가할 수도 있고, 패킷 2a 에 대한 송신 전력은 사이클 점진적으로 감소할 수도 있다. 전술한 제 3 송신 방식 또는 제 4 송신 방식을 이용하여 상이한 데이터 스트림에 상이한 송신 전력이 이용될 수도 있다.
표 2 는 사이클
를 지나 연장될 수도 있는 긴 패킷 1b 의 송신에 대해 이용가능한 몇몇 옵션을 나타낸다.
표 2
옵션 |
설명 |
A |
패킷 2a 이전에 패킷 1b 가 복구되는 경우, 표 1 에 나타낸 옵션 중 임의의 하나의 옵션이 선택될 수도 있다. |
B |
소정 개수의 사이클 (예를 들어, ) 이후에 패킷 2a 의 송신을 종료하고, 패킷 1b 가 복구되기를 대기한 다음, 패킷 1a 및 패킷 1b 가 소거된 패킷 2a 를 복구하려고 시도한다. |
도 8 은 순차형 SIC 송신 방식에 있어서 송신기 및 수신기에 의해 유지될 수도 있는 예시적인 상태도 (800) 를 도시한 도면이다. 상태도 (800) 는 동기 상태 (810), 새로운 패킷 송신 상태 (820), 및 널 송신 상태 (830) 를 포함한다. 동기 상태 (810) 에 있어서, 동일한 사이클에서 시작하여 채널 1 및 채널 2 를 통해 2 개의 새로운 데이터 패킷 (패킷 1a 및 패킷 2a) 이 송신된다. 레이트 선택이 상당히 정확한 경우, 이들 2 개의 패킷은
개의 사이클에서 복구될 것으로 예상된다.
채널 1 을 통한 패킷 1a 가
개의 사이클보다 조기에 복구되며 채널 1 을 통해 새로운 짧거나 긴 데이터 패킷 (패킷 1b) 이 송신되는 경우, 상태도는 동기 상태 (810) 로부터 새로운 패킷 송신 상태 (820) 로 천이한다. 새로운 패킷 송신 상태 (820) 에 있어서, 수신기는 채널 1 을 통한 패킷 1b 를 복구하려고 시도하고, 패킷 1b 가 복구되며 패킷 1b 로부터의 간섭이 소거될 때까지 채널 2 를 통한 패킷 2a 를 복구하려고 시도하지 않는다. 패킷 1b 가 복구되지 않는 경우, 또는 패킷 1b 가 복구되며 채널 1 을 통해 새로운 데이터 패킷 (패킷 1c) 이 송신되는 경우, 상태도는 새로운 패킷 송신 상태 (820) 에 잔존한다. 채널 1 및 채널 2 모두를 통한 패킷이 복구되는 경우, 상태도는 새로운 패킷 송신 상태 (820) 로부터 동기 상태 (810) 로 다시 천이한다.
채널 1 을 통한 패킷 1a 가
개의 사이클보다 조기에 복구되며 채널 1 을 통해 어떠한 것도 송신되지 않는 경우, 상태도는 동기 상태 (810) 로부터 널 송신 상태 (830) 로 천이한다. 또한, 채널 1 을 통한 현재의 패킷이 복구되며 채널 1 을 통해 어떠한 것도 송신되지 않는 경우, 상태도는 새로운 패킷 송신 상태 (820) 로부터 널 송신 상태 (830) 로 천이한다. 널 송신 상태 (830) 에 있어서, 수신기는, 채널 1 을 통한 복구된 모든 패킷으로부터의 간섭이 소거된 채널 2 를 통한 패킷 2a 를 복구하려고 시도한다. 채널 2 를 통한 패킷 2a 가 복구되지 않는 경우에 상태도는 널 송신 상태 (830) 에 잔존하고, 패킷 2a 가 복구되는 경우에 동기 상태 (810) 로 다시 천이한다.
나중의 데이터 스트림의 복구가 과도하게 지연되지 않도록, 레이트 선택이 상당히 정확한 경우에 순차형 SIC 송신 방식은 양호한 성능을 제공할 수 있다.
B. 순환형 SIC 송신 방식
순환형 SIC 송신 방식에 있어서, 정확하게 디코딩될 가능성이 가장 높은 데이터 스트림이 먼저 복구되도록, N
D 개의 데이터 스트림을 통한 순환에 의해 이 N
D 개의 데이터 스트림이 복구된다. 초기에, N
D 개의 데이터 스트림에 대해 N
D 개의 레이트가 선택되고, N
D 개의 병렬 채널을 통해 N
D 개의 데이터 패킷이 송신된다. 레이트 선택은 조잡할 (crude) 수도 있고, 패킷 크기는, 모든 데이터 패킷이
개의 사이클에서 복구될 것으로 예상되도록 선택될 수도 있다. 후술하는 바와 같이, 데이터 스트림에 대한 데이터 패킷이 복구될 때마다, 이 데이터 스트림에 대한 새로운 패킷이 송신되고, 수신기는 다음의 데이터 스트림에 대한 데이터 패킷을 디코딩하려고 시도한다.
도 9a 는 순환형 SIC 송신 방식을 이용한 IR 송신을 도시한 도면이다. 도 9a 에 있어서, 채널 1 및 채널 2 를 통해 패킷 1a 및 패킷 2a 에 대해 사이클 1 에서 시작하여 2 개의 새로운 데이터 블록이 송신된다. 패킷 1a 가 먼저 복구되도록 지정되고, 패킷 2a 로부터의 간섭으로 인해 보다 낮은 레이트에 기초하여 처리된다. 패킷 2a 는 나중에 복구되도록 지정되고, 패킷 1a 로부터의 간섭의 소거로 달성가능한 보다 높은 레이트에 기초하여 처리된다. 패킷 1a 및 패킷 2a 는
의 길이를 갖는다 (즉,
개의 사이클에서 복구될 것으로 예상된다). 각 사이클에 있어서, 수신기는 패킷 1a 를 이 패킷에 대해 수신된 모든 데이터 심볼 블록에 기초하여 복구하려고 시도하고, 패킷 2a 를 복구하려고 시도하지 않는다 ("
"). 수신기는 사이클 1 내지 사이클
각각에서 패킷 1a 에 대한 디코딩 실패 ("
") 에 직면하고, 사이클
에서 디코딩 성공 ("
") 에 직면한다. 그런 다음, 사이클
에서 시작하여 채널 1 을 통해 새로운 패킷 1b 가 송신된다. 패킷 1b 는
의 길이를 갖고, 채널 2 로부터의 간섭이 소거될 것이라는 가정 하에서 사이클
에서 추정되는 보다 높은 레이트에 기초하여 처리된다.
사이클
에 있어서, 수신기는 패킷 1a 로 인한 간섭을 추정 및 소거하고, 패킷 2a 를 복구하려고 시도하며, 패킷 2a 에 대한 디코딩 실패 ("
") 에 직면한다. 사이클
내지 사이클
각각에 있어서, 수신기는 패킷 2a 를 이 패킷에 대해 수신된 모든 데이터 심볼 블록에 기초하여 복구하려고 시도하는데, 여기서 사이클 1 내지 사이클
에서 수신된 블록은 패킷 1a 로부터의 간섭이 제거되고, 사이클
내지 사이클
에서 수신된 블록은 패킷 1b 로부터의 간섭을 갖는다. 수신기는 사이클
내지 사이클
각각에서 패킷 2a 에 대한 디코딩 실패 ("
") 에 직면하고, 사이클
에서 디코딩 성공 ("
") 에 직면한다. 그런 다음, 사이클
에서 시작하여 채널 2 를 통해 새로운 패킷 2b 가 송신된다. 패킷 2b 는
의 길이를 갖고, 채널 1 로부터의 간섭이 소거될 것이라는 가정 하에서 사이클
에서 추정되는 보다 높은 레이트에 기초하여 처리된다.
사이클
에 있어서, 수신기는 패킷 2a 로 의한 간섭을 추정 및 소거하고, 패킷 1b 를 복구하려고 시도하며, 패킷 1b 에 대한 디코딩 실패 ("
") 에 직면한다. 사이클
내지 사이클
각각에 있어서, 수신기는 패킷 1b 를 이 패킷에 대해 수신된 모든 데이터 심볼 블록에 기초하여 복구하려고 시도하는데, 여기서 사이클
내지 사이클
에서 수신된 블록은 패킷 2a 로부터의 간섭이 제거되고, 사이클
내지 사이클
에서 수신된 블록은 패킷 2b 로부터의 간섭을 갖는다. 수신기는 사이클
에서 패킷 1b 에 대한 디코딩 성공 ("
") 에 직면한다. 수신기는 채널 1 및 채널 2 를 통한 후속 패킷을 유사한 방식으로 복구하려고 시도한다.
도 9b 는 순환형 SIC 송신 방식에 있어서 데이터 스트림을 복구하는 순서를 도시한 도면이다. 수신기는 사이클 1 내지 사이클
에서 채널 1 을 통한 패킷 1a 를 복구하려고 시도한다. 사이클
에서 패킷 1a 를 복구하면, 수신기는 사이클
내지 사이클
에서 채널 2 를 통한 패킷 2a 를 복구하려고 시도한다. 사이클
에서 패킷 2a 를 복구하면, 수신기는 사이클
내지 사이클
에서 채널 1 을 통한 패킷 1b 를 복구하려고 시도한다. 수신기는 채널 1 및 채널 2 를 통한 후속 패킷을 유사한 방식으로 복구하려고 시도한다.
일반적으로, 수신기는 ND 개의 병렬 채널을 통해 송신된 패킷을 이들 패킷을 복구할 가능성에 기초하여 복구하려고 시도할 수 있다. 각 병렬 채널을 통해 송신된 패킷을 복구할 가능성은, (1) 선형 검출로 병렬 채널에 대해 달성된 후처리 SINR, 및 (2) 병렬 채널에 대해 이미 수신된 데이터 심볼 블록의 개수와 같은 각종 인자에 종속한다. 각 사이클에 있어서, 수신기는 이 사이클에서 복구될 가능성이 가장 높은 병렬 채널을 통해 송신된 패킷만을 복구하려고 시도할 수 있다. 대안적으로, 수신기는 모든 ND 개의 병렬 채널을 통한 패킷을, 한번에 하나의 패킷씩, 복구될 가능성이 가장 높은 병렬 채널에서 시작하여 복구될 가능성이 가장 낮은 병렬 채널에서 끝나도록 복구하려고 시도할 수 있다. 다수의 병렬 채널이 동일한 복구될 가능성을 갖는 경우, 수신기는 복구를 위해 (예를 들어, 한번에, 랜덤 방식으로) 하나의 병렬 채널을 선택할 수 있다.
수신기는, (1) ND 개의 병렬 채널이 선형 검출로 유사한 후처리 SINR 을 달성하고, (2) 이들 병렬 채널에 대한 패킷이 동일한 길이를 갖는 경우, 이 ND 개의 병렬 채널을 통해 순환할 수 있다. 일례로서, ND = 4 이고, 사이클 1 에서 시작하여 4 개의 병렬 채널을 통해 4 개의 새로운 패킷이 송신되는 경우를 고려한다. 각 사이클에 있어서, 수신기는 각 병렬 채널을 통해 송신된 패킷을 이 패킷에 대해 수신된 모든 데이터 심볼 블록에 기초하여 복구하려고 시도할 수도 있다. 수신기는, 예를 들어 먼저 채널 2 를 통해 송신된 패킷을 복구가능할 수도 있고, 그런 다음 이 패킷으로 인한 간섭을 추정 및 소거할 것이다. 그 후, 각 사이클에 있어서, 수신기는 채널 1, 채널 3 및 채널 4 각각을 통해 송신된 패킷을 이 패킷에 대해 수신된 모든 데이터 심볼 블록에 기초하여 복구하려고 시도할 수도 있다. 수신기는, 예를 들어 다음에 채널 3 을 통해 송신된 패킷을 복구가능할 수도 있고, 그런 다음 이 패킷으로 인한 간섭을 추정 및 소거할 것이다. 그 후, 각 사이클에 있어서, 수신기는 채널 1 및 채널 4 각각을 통해 송신된 패킷을 이 패킷에 대해 수신된 모든 데이터 심볼 블록에 기초하여 복구하려고 시도할 수도 있다. 수신기는, 예를 들어 다음에 채널 1 을 통해 송신된 패킷을 복구가능할 수도 있고, 그런 다음 이 패킷으로 인한 간섭을 추정 및 소거할 것이다. 그 후, 각 사이클에 있어서, 수신기는 채널 4 를 통해 송신된 패킷을 이 패킷에 대해 수신된 모든 데이터 심볼 블록에 기초하여 복구하려고 시도할 수도 있다. 그 후, 수신기는 단순히 소정의 순서, 즉 채널 2, 채널 3, 채널 1, 채널 4, 그리고 다시 채널 2 등의 순서로 4 개의 병렬 채널을 통해 순환할 수 있다. 이 소정의 순서는 4 개의 병렬 채널에 대해 패킷이 복구되는 순서에 기초하여 선택된다. 현재의 병렬 채널 (사이클에서 먼저 복구를 시도하는 채널) 을 통한 데이터 패킷이 복구될 때마다, 이 채널을 통해 새로운 데이터 패킷이 송신되고, 그런 다음 이 패킷은 마지막으로 복구된다.
순환형 SIC 송신 방식은 조잡한 레이트 선택으로도 양호한 성능을 제공할 수 있다. 그 이유는, 도 9a 및 도 9b 에 도시된 바와 같이 각 데이터 스트림에 대해 IR 송신이 효과적으로 달성되기 때문이다. 순환형 SIC 송신은, 채널 상태가 급속하게 변할 지라도 양호한 성능을 제공할 수 있다. 또한, 순환형 SIC 송신 방식의 구현은 비교적 단순한데, 그 이유는 (1) 송신기 및 수신기가 현재 무엇이 송신되고 있는지에 대한 상태 정보를 유지할 필요가 없고, (2) 순차형 SIC 송신 방식에 대한 경우와 같이 패킷 크기가 특정 시간 윈도우 내에 피팅되도록 변경될 필요가 없기 때문이다.
순차형 SIC 송신 방식 및 순환형 SIC 송신 방식은 2 가지 예시적인 방식이다. 또한, 다른 송신 방식도 상호의존적인 병렬 채널에 대해 구현될 수도 있다. 일례로서, "하이브리드" SIC 송신 방식에 있어서, 수신기는 N
D 개의 데이터 스트림에 대해 현재 송신된 데이터 패킷 각각을 이 패킷에 대해 수신된 모든 데이터 심볼에 기초하여 복구하려고 시도한다 (즉, 수신기는 어떠한 패킷의 디코딩도 스킵하지 않는다). 각 패킷에 대한 각 데이터 심볼 블록은, (1) 복구된 패킷으로부터의 간섭이 소거되며, (2) 아직 복구되지 않은 패킷으로부터의 간섭을 가질 것이다. 따라서, 각 데이터 패킷에 대한 SINR 은, 만약 있다면 이 패킷에 대한 간섭 소거의 정도에 종속하여, 전체 패킷에 걸쳐 변할 수도 있다. 또한, 하이브리드 SIC 송신 방식은 순차형 SIC 송신 방식 및 순환형 SIC 송신 방식과 협력하여 이용될 수도 있다. 예를 들어, 수신기는 (예를 들어, 도 6b 및 도 6c 에서의 사이클
이후의 각 사이클 동안) 채널 1 을 통한 제 1 데이터 패킷이 수신 및 소거된 이후에, 각 사이클에서 채널 2 를 통한 데이터 패킷을 복구하려고 시도할 수도 있다.
3. 송신기
도 10 은 송신기 (110) 내의 TX 데이터 프로세서 (120) 의 일 실시형태의 블록도이다. TX 데이터 프로세서 (120) 는 ND 개의 데이터 스트림에 대한 ND 개의 TX 채널 데이터 프로세서 (1010a 내지 1010n) 를 포함한다. 각 TX 채널 데이터 프로세서 (1010) 는 각각의 데이터 스트림을 수신하고, 이 데이터 스트림에 대해 선택된 레이트에 기초하여 이 데이터 스트림에서의 각 데이터 패킷을 처리하여, 이 패킷에 대해 데이터 심볼 블록 세트를 제공한다. 도 11 은 하나의 TX 채널 데이터 프로세서 (1010) 에 의한 하나의 데이터 패킷의 처리를 도시한 도면이다.
각 TX 채널 데이터 프로세서 (1010) 내에서, 순환 잉여 검사 (CRC) 발생기 (1012) 는 TX 채널 데이터 프로세서 (1010) 에 의해 처리되고 있는 데이터 스트림에 대한 데이터 패킷을 수신하고, 이 데이터 패킷에 대해 CRC 값을 발생시키고, 이 데이터 패킷의 끝에 CRC 값을 부가하여, 포맷팅된 패킷을 형성한다. CRC 값은, 패킷이 정확하게 디코딩되는지 또는 에러있게 디코딩되는지를 검사하기 위해서 수신기에 의해 이용된다. 또한, 다른 에러 검출 코드가 CRC 대신에 이용될 수도 있다. 그런 다음, 순방향 에러 정정 (FEC) 인코더 (1014) 는 선택된 레이트에 의해 표시되는 코드 레이트나 코딩 방식에 따라 이 포맷팅된 패킷을 인코딩하여, 코딩된 패킷 또는 "코드워드" 를 제공한다. 인코딩은 패킷 송신의 신뢰도를 증가시킨다. FEC 인코더 (1014) 는 블록 코드, 콘볼루션 코드, 터보 코드, 일부 다른 코드, 또는 이들의 조합을 구현할 수도 있다. 도 11 에 있어서, 코딩된 패킷은 포맷팅된 패킷에 대한 시스터매틱 비트 (systematic bit) 를 갖는 제 1 부분, 터보 인코더의 제 1 구성 인코더로부터의 패리티 비트를 갖는 제 2 부분, 및 터보 인코더의 제 2 구성 인코더로부터의 패리티 비트를 갖는 제 3 부분을 포함한다.
파티셔닝 유닛 (1016) 은 코딩된 패킷을 수신하여 NB 개의 코딩된 서브패킷으로 파티셔닝하는데, 여기서 NB 는 선택된 레이트에 종속하며 제어기 (180) 로부터의 파티셔닝 제어에 의해 표시될 수도 있다. 제 1 코딩된 서브패킷은 통상적으로 0 이상의 패리티 비트 및 시스터매틱 비트 모두를 포함한다. 이는 수신기가 유리한 채널 상태 하에서 제 1 코딩된 서브패킷만으로 데이터 패킷을 복구하는 것을 허용한다. 나머지 NB-1 개의 코딩된 서브패킷은 나머지 패리티 비트를 포함하고, 여기서 각 서브패킷은 통상적으로 전체 데이터 패킷에 걸쳐 취해진 패리티 비트를 포함한다.
채널 인터리버 (1020) 는 파티셔닝 유닛 (1016) 으로부터 NB 개의 코딩된 서브패킷을 수신하는 NB 개의 블록 인터리버 (1022a 내지 1022nb) 를 포함한다. 각 블록 인터리버 (1022) 는 인터리빙 방식에 따라 그 서브패킷에 대한 코드 비트를 인터리빙 (즉, 재순서화) 하여, 인터리빙된 서브패킷을 제공한다. 인터리빙은 코드 비트에 대해 시간, 주파수 및/또는 공간 다이버시티를 제공한다. 다중화기 (1024) 는 NB 개의 블록 인터리버 (1022a 내지 1022nb) 모두에 연결되고, 제어기 (180) 로부터의 IR 송신 제어에 의해 지시된 경우에 한번에 하나씩 NB 개의 인터리빙된 서브패킷을 제공한다. 다중화기 (1024) 는 먼저 블록 인터리버 (1022a) 로부터의 인터리빙된 서브패킷을 제공한 다음, 다음에 블록 인터리버 (1022b) 로부터의 인터리빙된 서브패킷을 제공하고, …, 마지막으로 블록 인터리버 (1022nb) 로부터의 인터리빙된 서브패킷을 제공한다. 다중화기 (1024) 는, 데이터 패킷에 대해 NAK 가 수신되는 경우에 다음의 인터리빙된 서브패킷을 제공한다. ACK 가 수신될 때마다, 모든 NB 개의 블록 인터리버 (1022a 내지 1022nb) 는 퍼지될 수 있다.
심볼 매핑 유닛 (1026) 은 채널 인터리버 (1020) 로부터 인터리빙된 서브패킷을 수신하여, 각 서브패킷에서의 인터리빙된 데이터를 변조 심볼에 매핑한다. 심볼 매핑은 선택된 레이트에 의해 표시되는 변조 방식에 따라 수행된다. 심볼 매핑은, (1) B-비트 이진값을 형성하도록 B 비트 세트를 그룹화하며 (여기서,
), (2) 각 B-비트 이진값을 2
B 개의 포인트를 갖는 신호 콘스텔레이션 (constellation) 에서의 일 포인트에 매핑함으로써 달성될 수도 있다. 이 신호 콘스텔레이션은 선택된 변조 방식에 대응하는데, 이 변조 방식은 BPSK, QPSK, 2
B-PSK, 2
B-QAM 등일 수도 있다. 본 명세서에 이용된 바와 같이, "데이터 심볼" 은 데이터에 대한 변조 심볼이고, "파일럿 심볼" 은 파일럿에 대한 변조 심볼이다. 도 11 에 도시된 바와 같이, 심볼 매핑 유닛 (1026) 은 각 코딩된 서브패킷에 대해 데이터 심볼 블록을 제공한다.
각 데이터 패킷에 대해, TX 채널 데이터 프로세서 (1010) 는 N
B 개의 데이터 심볼 블록을 제공하고, 이 데이터 심볼 블록은 전체적으로 N
SYM 개의 데이터 심볼을 포함하며,
으로 표시될 수 있다. 각 데이터 심볼
(여기서,
) 는 다음과 같이 B 개의 코드 비트를 매핑함으로써 획득된다:
(여기서,
).
도 12 는 TX 공간 프로세서 (130) 및 송신기 유닛 (132) 의 일 실시형태의 블록도이다. TX 공간 프로세서 (130) 는 TX 데이터 프로세서 (120) 로부터 ND 개의 데이터 심볼 스트림을 수신 및 처리하여, NT 개의 송신 심볼 스트림을 송신기 유닛 (132) 으로 제공한다. TX 공간 프로세서 (130) 에 의한 처리는 이용을 위해 선택된 특정 송신 방식에 종속한다.
TX 공간 프로세서 (130) 내에서, 행렬 승산 유닛 (1220) 은 각 슬롯에 대해 최대 N
D 개의 데이터 심볼 블록 (데이터 벡터
로 표시됨) 을 수신한다. 행렬 승산 유닛 (1220) 은, (1) 제 2 송신 방식에 대한 단위 행렬
, 및 (2) 제 3 송신 방식에 대한 송신 기저 행렬
과 데이터 벡터
의 행렬 승산을 수행한다. 행렬 승산 유닛 (1220) 은 다른 송신 방식에 대해 단순히 데이터 벡터
를 통과시킨다. 다중화기/역다중화기 (MUX/DEMUX ; 1222) 는 행렬 승산 유닛 (1220) 으로부터 심볼을 수신하여, 이들 심볼을 적절한 송신 안테나 및 (OFDM 이 이용되는 경우에) 서브대역으로 제공한다. 또한, 다중화기/역다중화기 (1222) 는 파일럿 심볼에서 (예를 들어, 시분할 다중화 (TDM) 방식으로) 다중화하여, 각 슬롯에서 N
T 개의 송신 안테나에 대해 N
T 개의 송신 심볼 시퀀스를 제공한다. 각 송신 심볼 시퀀스는 하나의 슬롯에서 하나의 송신 안테나로부터의 송신용으로 지정된다.
송신기 유닛 (132) 은 NT 개의 OFDM 변조기 (1230a 내지 1230t) 및 NT 개의 송신 안테나에 대한 NT 개의 TX RF 유닛 (1236a 내지 1236t) 을 포함한다. 단일-캐리어 MIMO 시스템에 있어서, OFDM 변조기 (1230) 는 불필요하고, TX 공간 프로세서 (130) 는 NT 개의 송신 심볼 시퀀스를 TX RF 유닛 (1236a 내지 1236t) 으로 직접 제공한다. MIMO-OFDM 시스템에 있어서, TX 공간 프로세서 (130) 는 NT 개의 송신 심볼 시퀀스를 OFDM 변조기 (1230a 내지1230t) 로 제공한다. 각 OFDM 변조기 (1230) 는 역고속 푸리에 변환 (IFFT) 유닛 (1232) 및 순환 프리픽스 발생기 (1234) 를 포함한다. 각 OFDM 변조기 (1230) 는 TX 공간 프로세서 (130) 로부터 각각의 송신 심볼 시퀀스를 수신하고, NF 개의 서브대역에 대해 0 신호값과 NF 개의 송신 심볼의 각 세트를 그룹화한다. (데이터 송신에 이용되지 않는 서브대역은 0 으로 채워진다.) IFFT 유닛 (1232) 은 NF-포인트 역고속 푸리에 변환을 이용하여 0 과 NF 개의 송신 심볼의 각 세트를 시간 도메인으로 변환하여, NF 개의 칩을 포함하는 대응하는 변환된 심볼을 제공한다. 순환 프리픽스 발생기 (1234) 는 각 변환된 심볼의 일부를 반복하여, NF+Ncp 개의 칩을 포함하는 대응하는 OFDM 심볼을 획득한다. 반복된 부분은 순환 프리픽스로 언급되고, Ncp 는 반복되는 칩의 개수이다. 순환 프리픽스는, 주파수 선택성 페이딩 (즉, 평탄하지 않은 주파수 응답) 에 의해 야기된 다중 경로 지연 확산 (multipath delay spread) 의 존재 하에서 OFDM 심볼이 그 직교 특성을 유지하는 것을 보장한다. 순환 프리픽스 발생기 (1234) 는 송신 심볼 시퀀스에 대해 OFDM 심볼 시퀀스를 제공한다.
TX RF 유닛 (1236a 내지 1236t) 은 NT 개의 OFDM/송신 심볼 시퀀스를 수신 및 컨디셔닝하여, NT 개의 변조된 신호를 발생시키는데, 이 변조된 신호는 각각 NT 개의 송신 안테나 (1240a 내지 1240t) 로부터 송신된다.
4. 수신기
도 13 은 도 1 에서의 수신기 (150) 의 일 실시형태인 수신기 (150a) 의 블록도이다. 수신기 (150a) 에서, NR 개의 수신 안테나 (1310a 내지 1310r) 는 송신기 (110) 에 의해 송신된 NT 개의 변조된 신호를 수신하여, 수신기 유닛 (154) 내의 NR 개의 RX RF 유닛 (1312a 내지 1312r) 각각으로 NR 개의 수신된 신호를 제공한다. 각 RX RF 유닛 (1312) 은 그 수신된 신호를 컨디셔닝 및 디지털화하여, 심볼/칩의 스트림을 제공한다. 단일-캐리어 MIMO 시스템에 있어서, OFDM 복조기 (1314a 내지 1314r) 는 불필요하고, 각 RX RF 유닛 (1312) 은 심볼의 스트림을 각각의 역다중화기 (1316) 로 직접 제공한다. MIMO-OFDM 시스템에 있어서, 각 RX RF 유닛 (1312) 은 각각의 OFDM 복조기 (1314) 로 칩의 스트림을 제공한다. 각 OFDM 복조기 (1314) 는, (1) 각 수신된 OFDM 심볼에서 순환 프리픽스를 제거하여 수신된 변환 심볼을 획득하며, (2) 각 수신된 변환 심볼을 고속 푸리에 변환 (FFT) 을 이용하여 주파수 도메인으로 변환하여 NF 개의 서브대역에 대해 NF 개의 수신된 심볼을 획득함으로써, 그 칩의 스트림에 대해 OFDM 복조를 수행한다. 이들 시스템 모두에 있어서, 역다중화기 (1316a 내지 1316r) 는 RX RF 유닛 (1312) 또는 OFDM 복조기 (1314) 로부터 NR 개의 심볼 스트림을 수신하여, 각 슬롯에 있어서 (데이터에 대한) NR 개의 수신된 심볼 시퀀스를 RX 공간 프로세서 (160a) 로 제공하며, 수신된 파일럿 심볼을 채널 추정기 (172) 로 제공한다.
RX 공간 프로세서 (160a) 는 검출기 (1320) 및 다중화기/역다중화기 (1322) 를 포함한다. 검출기 (1320) 는 N
R 개의 수신된 심볼 시퀀스에 대해 공간 또는 공간-시간 처리 (또는 "검출") 를 수행하여, 각 슬롯에 대해 N
T 개의 검출된 심볼 시퀀스를 획득한다. 각 검출된 심볼은 송신기에 의해 송신된 데이터 심볼의 추정치이다. 검출기 (1320) 는 식 (2) 에 나타낸 MRC 검출기, 식 (3) 에 나타낸 MMSE 검출기, 식 (4) 에 나타낸 선형 제로-포싱 검출기, MMSE 선형 등화기, 결정 피드백 등화기, 또는 일부 다른 검출기/등화기를 구현할 수도 있다. 검출은, 데이터 심볼이 송신기에서 송신 기저 행렬
과 사전-승산되는지 여부에 따라, 채널 응답 행렬
또는 유효 채널 응답 행렬
의 추정치에 기초하여 수행될 수도 있다. MIMO-OFDM 시스템에 있어서, 수신기는 데이터 송신에 이용되는 서브대역 각각에 대해 개별적으로 검출을 수행한다.
각 슬롯에 대해, 검출기 (1320) 는
의 N
T 개의 엔트리에 대응하는 N
T 개의 검출된 심볼 시퀀스를 제공한다. 다중화기/역다중화기 (1322) 는 이 N
T 개의 검출된 심볼 시퀀스를 수신하여, 검출된 심볼을 N
D 개의 데이터 스트림에 대한 N
D 개의 검출된 심볼 블록으로 제공한다. 각 검출된 심볼 블록은 송신기에 의해 송신된 데이터 심볼 블록의 추정치이다.
채널 추정기 (172) 는 (예를 들어, 수신된 파일럿 심볼에 기초하여) 수신기에서의 잡음 지수 (noise floor) 및 MIMO 채널에 대한 채널 응답 행렬
를 추정하여, 채널 추정치를 제어기 (180) 로 제공한다. 제어기 (180) 내에서, 행렬 계산 유닛 (176) 은 전술한 바와 같이 추정된 채널 응답 행렬에 기초하여 (
,
,
또는
일 수도 있는) 검출기 응답
를 도출하여, 이 검출기 응답을 검출기 (1320) 로 제공한다. 검출기 (1320) 는 수신된 심볼의 벡터
과 검출기 응답
를 사전-승산하여, 검출된 심볼의 벡터
를 획득한다. (도 13 에 도시된 실시형태에 있어서 제어기 (180) 로 구현되는) 레이트 선택기 (174) 는 채널 추정치에 기초하여 레이트 선택을 수행한다. 룩업 테이블 (LUT ; 184) 은 MIMO 시스템에 의해 지원되는 레이트 세트 및 각 레이트에 대한 파라미터값 세트 (예를 들어, 각 레이트에 대한 데이터 레이트, 패킷 크기, 코딩 방식이나 코드 레이트, 변조 방식 등) 를 저장한다. 레이트 선택기 (174) 는 레이트 선택에 이용되는 정보를 위해 LUT (184) 에 액세스한다.
도 14 는 도 1 및 도 13 에서의 RX 데이터 프로세서 (170) 의 일 실시형태인 RX 데이터 프로세서 (170a) 의 블록도이다. RX 데이터 프로세서 (170a) 는 ND 개의 데이터 스트림에 대한 ND 개의 RX 채널 데이터 프로세서 (1410a 내지 1410n) 를 포함한다. 각 RX 채널 데이터 프로세서 (1410) 는 각각의 검출된 심볼 스트림을 수신 및 처리하여, 디코딩된 데이터 스트림을 제공한다.
각 RX 채널 데이터 프로세서 (1410) 내에서, 심볼 디매핑 유닛 (1430) 은 RX 공간 프로세서 (160a) 로부터 검출된 심볼 블록을 한번에 하나의 블록씩 수신한다. 각 검출된 심볼 블록에 대해, 심볼 디매핑 유닛 (1430) 은 (제어기 (180) 로부터의 복조 제어에 의해 표시된 바와 같이) 이 블록에 이용된 변조 방식에 따라 검출된 심볼을 복조하여, 복조된 데이터 블록을 채널 디인터리버 (1440) 로 제공한다. 채널 디인터리버 (1440) 는 역다중화기 (1442) 및 NB 개의 블록 디인터리버 (1444a 내지 1444nb) 를 포함한다. 새로운 데이터 패킷을 수신하기 이전에, 블록 디인터리버 (1444a 내지 1444nb) 는 소거부 (erasure) 로 초기화된다. 소거부는 미싱 코드 비트 (즉, 아직 수신되지 않은 것) 를 대체하는 값이며, 디코딩 프로세스에서 적절한 가중치가 주어진다. 역다중화기 (1442) 는 심볼 디매핑 유닛 (1430) 으로부터 복조된 데이터 블록을 수신하여, 각 복조된 데이터 블록을 적절한 블록 디인터리버 (1444) 로 제공한다. 각 블록 디인터리버 (1444) 는 그 블록에서의 복조된 데이터를 이 블록에 대해 송신기에서 수행된 인터리빙에 상보적인 방식으로 디인터리빙한다.
독립적인 병렬 채널에 대해, 병렬 채널을 통해 송신기로부터 데이터 패킷에 대한 새로운 데이터 심볼 블록이 수신될 때마다, 이 패킷에 대해 수신된 모든 블록에 대해 새로이 디코딩이 수행될 수 있다. 재조립 유닛 (1448) 은 후속 디코딩을 위해 디인터리빙된 데이터의 패킷을 형성한다. 디인터리빙된 데이터 패킷은, (1) 디코딩될 현재의 패킷에 대해 수신된 모든 데이터 심볼 블록에 대한 디인터리빙된 데이터 블록, 및 (2) 현재의 패킷에 대해 수신되지 않은 데이터 심볼 블록에 대한 소거부를 포함한다. 재조립 유닛 (1448) 은, 제어기 (180) 로부터의 재조립 제어에 의해 표시된 바와 같이 송신기에 의해 수행된 파티셔닝에 상보적인 방식으로 재조립을 수행한다. FEC 디코더 (1450) 는, 제어기 (180) 로부터의 디코딩 제어에 의해 표시된 바와 같이 송신기에서 수행된 FEC 인코딩에 상보적인 방식으로 디인터리빙된 데이터 패킷을 디코딩한다. 예를 들어, 터보 또는 콘볼루션 코딩이 각각 송신기에서 수행되는 경우, 터보 디코더 또는 비터비 (Viterbi) 디코더가 FEC 디코더 (1450) 에 사용될 수도 있다. FEC 디코더 (1450) 는 현재의 패킷에 대해 디코딩된 패킷을 제공한다. CRC 검사기 (1452) 는 디코딩된 패킷을 검사하여 이 패킷이 정확하게 디코딩되는지 또는 에러있게 디코딩되는지를 판정하고, 이 디코딩된 패킷의 상태를 제공한다.
도 15 는 SIC 기술을 구현하며 도 1 에서의 수신기 (150) 의 또다른 실시형태인 수신기 (150b) 의 블록도이다. 수신기 (150b) 는, 공동으로 ND 개의 연속적인 (즉, 캐스케이드된) 수신기 처리 스테이지를 구현하는 RX 공간 프로세서 (160b) 및 RX 데이터 프로세서 (170b) 를 포함한다. 스테이지 1 내지 스테이지 ND-1 각각은 검출기 (1510), 간섭 소거기 (1520), RX 채널 데이터 프로세서 (1530) 및 TX 채널 데이터 프로세서 (1540) 를 포함한다. 최종 스테이지 ND 는 검출기 (1510n) 및 RX 채널 데이터 프로세서 (1530n) 만을 포함한다.
스테이지 1 에 있어서, 검출기 (1510a) 는 각 슬롯에 대한 N
R 개의 수신된 심볼 시퀀스에 대해 검출을 수행하여, 스테이지 1 에 의해 복구되고 있는 데이터 스트림에서의 데이터 패킷 (패킷
) 에 대해 검출된 심볼 블록을 제공한다. RX 채널 데이터 프로세서 (1530a) 는 패킷
에 대해 수신된 모든 검출된 심볼 블록을 복조, 디인터리빙 및 디코딩한다. 패킷
가 정확하게 디코딩되는 경우, TX 채널 데이터 프로세서 (1540a) 는 패킷
를 인코딩, 인터리빙 및 변조하여, 재변조된 심볼 시퀀스를 획득하는데, 이는 패킷
에 대한 데이터 심볼 시퀀스의 추정치이다. TX 채널 데이터 프로세서 (1540a) 는 패킷
에 대해 송신기에 의해 수행된 바와 동일한 처리를 수행한다. 간섭 소거기 (1520a) 는 재변조된 심볼 시퀀스를 수신하여 패킷
에 대해 송신기 (110) 에 의해 수행된 바와 동일한 방식으로 공간적으로 처리하여, N
T 개의 송신 심볼 시퀀스를 획득하는데, 이는 패킷
에 대한 심볼 성분만을 포함한다. 간섭 소거기 (1520a) 는 채널 응답 행렬로 송신 심볼 시퀀스를 추가 처리하여, 패킷
로 인한 간섭 성분을 획득한다. 그런 다음, 간섭 성분은 N
R 개의 수신된 심볼 시퀀스로부터 감산되어, N
R 개의 변경된 심볼 시퀀스를 획득하는데, 이는 스테이지 2 로 제공된다.
스테이지 2 내지 스테이지 ND-1 각각은, NR 개의 수신된 심볼 시퀀스 대신에 선행 스테이지로부터의 NR 개의 변경된 심볼 시퀀스에 대한 것이기는 하지만 스테이지 1 과 동일한 처리를 수행한다. 스테이지 ND 는 스테이지 ND-1 로부터의 NR 개의 변경된 심볼 시퀀스에 대해 검출 및 디코딩을 수행하고, 간섭 추정 및 소거는 수행하지 않는다.
검출기 (1510a 내지 1510n) 각각은 MRC 검출기, MMSE 검출기, 선형 제로-포싱 검출기, MMSE 선형 등화기, 결정 피드백 등화기, 또는 일부 다른 검출기/등화기를 구현할 수도 있다. 각 RX 채널 데이터 프로세서 (1530) 는 도 14 에 도시된 바와 같이 구현될 수도 있고, 각 TX 채널 데이터 프로세서 (1540) 는 도 10 에 도시된 바와 같이 구현될 수도 있다. 전술한 바와 같이, 수신기는, 이전의 스테이지에 대한 데이터 패킷이 복구된 이후에만 나중의 스테이지에 대한 데이터 패킷을 복구하려고 시도할 수도 있다. 그러면, 버퍼 (도 15 에 도시되지 않음) 는, 나중의 스테이지에 의한 처리 준비가 될 때까지 각 스테이지로부터의 심볼을 저장할 것이다.
단일-캐리어 MIMO 시스템 및 MIMO-OFDM 시스템 모두에 있어서, 수신기 및/또는 송신기는 ND 개의 병렬 채널에 대해 (SIC 가 이용되는지 여부에 종속하여) 수신된 SINR 또는 후처리 SINR 을 추정하여, 각 병렬 채널을 통한 데이터 송신에 적합한 레이트를 선택할 수 있다. 레이트 선택은 각종 방식으로 수행될 수도 있다. 하나의 레이트 선택 방식에 있어서, 각 병렬 채널에 대한 레이트는, 이 병렬 채널에 대해 계산된 평균 스펙트럼 효율을 지원하기 위해서 AWGN 채널을 갖는 (즉, 평탄한 주파수 응답을 갖는) 등가의 시스템이 필요로 하는 SINR 에 기초하여 선택된다. 이러한 레이트 선택 방식은, 2002 년 6 월 20 일자로 출원되었으며 발명의 명칭이 "Rate Control for Multi-Channel Communication Systems" 인 공동 양도된 미국 특허 출원 제 10/176,567 호에 상세하게 기재되어 있다. 또다른 레이트 선택 방식에 있어서, 각 병렬 채널에 대한 레이트는, SINR 오프셋 및 이 병렬 채널에 대한 평균 후처리 SINR 에 기초하여 이 병렬 채널에 대해 계산된 동작 SINR 에 기초하여 선택된다. 동작 SINR 이하의 (AWGN 채널에서) 요구된 SINR 을 갖는 최고 레이트가 이 병렬 채널에 대해 선택된다. 이 레이트 선택 방식은, 2003 년 3 월 20 일자로 출원되었으며 발명의 명칭이 "Transmission Mode Selection for Data Transmission in a Multi-Channel Communication System" 인 공동 양도된 미국 특허 출원 제 10/394,529 호에 상세하게 기재되어 있다.
본 명세서에 기재된 IR 송신 기술은 주파수 분할 듀플렉스 (FDD) 시스템 및 시분할 듀플렉스 (TDD) 시스템에서 구현될 수도 있다. FDD 시스템에 있어서, 순방향 MIMO 채널 및 피드백 채널은 상이한 주파수 대역을 이용하고, 상이한 채널 상태를 관측할 가능성이 있다. 이 경우, 수신기는, 도 1 내지 도 3 에 도시된 바와 같이 ND 개의 병렬 채널을 추정하고, 이 병렬 채널에 대한 레이트를 선택하며, 선택된 레이트를 송신할 수 있다. TDD 시스템에 있어서, 순방향 MIMO 채널 및 피드백 채널은 동일한 주파수 대역을 공유하고, 유사한 채널 상태를 관측할 가능성이 있다. 이 경우, 송신기는 수신기에 의해 송신된 파일럿에 기초하여 ND 개의 병렬 채널을 추정하고, 이 병렬 채널에 대한 레이트를 선택할 수 있다. 따라서, 채널 추정 및 레이트 선택은 수신기, 송신기 또는 이들 모두에 의해 수행될 수도 있다.
본 명세서에 기재된 IR 송신 기술은 각종 수단으로 구현될 수도 있다. 예를 들어, 이들 기술은 하드웨어, 소프트웨어 또는 이들의 조합으로 구현될 수도 있다. 하드웨어 구현에 있어서, IR 송신을 위해 송신기에서 사용되는 처리 유닛은, 하나 이상의 주문형 집적 회로 (ASIC), 디지털 신호 프로세서 (DSP), 디지털 신호 처리 디바이스 (DSPD), 프로그래머블 논리 디바이스 (PLD), 필드 프로그래머블 게이트 어레이 (FPGA), 프로세서, 제어기, 마이크로제어기, 마이크로프로세서, 본 명세서에 기재된 기능을 수행하도록 설계된 다른 전자 유닛, 또는 이들의 조합 내에서 구현될 수도 있다. 또한, IR 송신의 수신을 위해 수신기에서 사용되는 처리 유닛은, 하나 이상의 ASIC, DSP, DSPD, PLD, FPGA, 프로세서, 제어기 등의 내에서 구현될 수도 있다.
소프트웨어 구현에 있어서, IR 송신 기술은, 본 명세서에 기재된 기능을 수행하는 모듈 (예를 들어, 절차, 함수 등) 로 구현될 수도 있다. 소프트웨어 코드는 메모리 유닛 (예를 들어, 도 1 에서의 메모리 유닛 (142 및 182)) 에 저장되어, 프로세서 (예를 들어, 제어기 (140 및 180)) 에 의해 실행될 수도 있다. 메모리 유닛은 프로세서의 내부에 또는 프로세서의 외부에 구현될 수도 있고, 외부에 구현되는 경우에 메모리 유닛은 본 발명이 속하는 기술분야에 공지된 바와 같이 각종 수단을 통해 프로세서에 통신가능하게 연결될 수 있다.
참조를 위해 본 명세서에 표제 (heading) 가 포함되고, 이는 소정의 절의 위치를 찾기 위한 것이다. 이들 표제는 그 아래에 개시된 개념의 범위를 제한하는 것으로 의도되지는 않고, 이들 개념은 명세서 전체에 걸쳐 다른 절에서 적용가능할 수도 있다.
본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 실시 또는 이용할 수 있도록 개시된 실시형태의 이전의 설명이 제공된다. 이들 실시형태에 대한 각종 변형은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 자명하고, 본 명세서에 정의된 일반적인 원리는 본 발명의 사상 또는 범위를 벗어나지 않으면서 다른 실시형태에 적용될 수도 있다. 따라서, 본 발명은 본 명세서에 제시된 실시형태에 제한되는 것으로 의도되지는 않고, 본 명세서에 개시된 신규 특징 및 원리에 부합하는 가장 광범위한 범위를 따르는 것이다.