MIMO 통신 시스템에서의 다중 병렬 채널용 증분 리던던시 송신{INCREMENTAL REDUNDANCY TRANSMISSION FOR MULTIPLE PARALLEL CHANNELS IN A MIMO COMMUNICATION SYSTEM}
본 출원은 본 출원의 양수인에게 양도되었고, 모든 목적을 위해 전체가 참조로 여기에 포함되는, 2003년 9월 9일 출원되고 발명의 명칭이 "연속 간섭 상쇄를 갖춘 MIMO 시스템을 위한 H-ARQ (H-ARQ for MIMO Systems with Successive Interference Cancellation)"인 미국 가출원 제 60/501,776 호 및 2003년 12월 19일 출원되고 발명의 명칭이 "MIMO 통신 시스템에서의 다중 병렬 채널을 위한 증분 리던던시 송신 (Incremental Redundancy Transmission for Multiple Parallel Channels in a MIMO Communication System)" 인 미국 출원 제 60/531,393 호의 이익을 주장한다.
배경
1. 분야
본 발명은 일반적으로 통신에 관한 것으로, 특히 다중 입력 다중 출력 (multiple-input multiple-output; MIMO) 통신 시스템에 있어서 다중 병렬 채널에서의 데이터 송신을 위한 기술에 관한 것이다.
2. 배경
MIMO 시스템은 데이터 송신을 위해 다중
송신 안테나 및 다중
수신 안테나를 사용하며, (
) 시스템으로 표시된다.
의 송신 안테나 및
의 수신 안테나에 의해 형성되는 MIMO 채널은 아래에 설명된 바와 같이
의 공간 채널로 분해될 수 있는데, 여기서
이다.
의 데이터 스트림은
의 공간 채널에서 송신될 수 있다. 다중 송신 및 수신 안테나에 의해 만들어진
의 공간 채널이 데이터 송신을 위해 이용된다면 MIMO 시스템은 증가된 송신 용량을 제공할 수 있다.
MIMO 시스템에서의 주요한 도전은 채널 조건에 기초한 MIMO 채널에서의 데이터 송신에 적절한 레이트를 선택하는 것이다. "레이트"는 특정한 데이터 레이트 또는 정보 비트 레이트, 특정한 코딩 방식, 특정한 변조 방식, 특정한 데이터 패킷 사이즈 등을 나타낼 수 있다. 레이트 선택의 목적은, 타겟 패킷 오류 레이트 (예를 들어, 1% PER) 또는 어떤 다른 척도에 의해 정량될 수 있는 소정 품질의 목적을 충족시킴과 동시에
의 공간 채널에서의 전체 처리량을 최대화하는 것이다.
각각의 공간 채널의 송신 용량은 그 공간 채널에 의해 획득되는 신호 대 잡음 및 간섭 비(signal-to-noise-and-interference ratio; SINR) 에 의존한다.
의 공간 채널에 대한 SINR 은 채널 조건에 의존하며, 수신기에서 데이터 스트림이 복구되는 방법에 더욱 의존할 수 있다. 하나의 통상의 MIMO 시스템에 있 어서, 송신기는 정적인 MIMO 채널 모델에 기초하여 선택된 레이트와 일치하여 각각의 데이터 스트림을 인코딩, 변조 및 송신한다. 모델이 정확하다면 그리고 MIMO 채널이 상대적으로 정적이라면 (예를 들어, 시간에 따라 많이 변하지 않는다면) 우수한 성능이 획득될 수 있다. 또 다른 통상의 MIMO 시스템에 있어서, 수신기는 MIMO 채널을 추정하고, 채널 추정에 기초하여 각각의 공간 채널에 대한 적절한 레이트를 선택하며,
의 공간 채널에 대한
의 선택된 레이트를 송신기에 전송한다. 송신기는 다음에 선택된 레이트와 일치하여
의 데이터 스트림을 프로세싱하고,
의 공간 채널에서 이 스트림을 송신한다. 이 시스템의 성능은 MIMO 채널의 특성 및 채널 추정의 정확성에 의존한다.
위에 설명된 두 개의 통상의 MIMO 시스템에 있어서, 송신기는 공간 채널에 대해 선택된 레이트로 각각의 공간 채널에 대해 각각의 데이터 패킷을 프로세싱하고 송신한다. 수신기는 각각의 공간 채널에서 수신된 각각의 데이터 패킷을 디코딩하고, 패킷이 정확하게 디코딩되었는지 또는 오류 있게 디코딩되었는지를 결정한다. 수신기는 패킷이 정확하게 디코딩되었다면 확인 응답 (ACK) 을 또는 패킷이 오류 있게 디코딩되었다면 부정 확인 응답 (NAK) 을 회신할 수 있다. 송신기는 패킷에 대한 NAK 를 수신하자마자 수신기에 의해 오류 있게 디코딩된 각각의 데이터 패킷을 완전한 상태로 재송신할 수 있다.
위에 설명된 두 개의 MIMO 시스템의 성능은 레이트 선택의 정확성에 높이 의존한다. 공간 채널에 대해 선택된 레이트가 지나치게 보수적이면 (conservative), (예를 들어, 실제적인 SINR 이 SINR 추정에 비해 훨씬 우수하기 때문에) 지나친 시스템 자원은 데이터 패킷을 송신하기 위해 소비되고 채널 용량은 충분히 이용되지 않는다. 반대로, 공간 채널에 대해 선택된 레이트가 지나치게 공격적이면 (aggresive), 데이터 패킷은 수신기에 의해 오류 있게 디코딩될 수 있으며 시스템 자원은 이 패킷을 재송신하기 위해 소비될 수 있다. (1) MIMO 채널을 위한 채널 추정에서의 보다 큰 복잡성, (2) 공간 채널의 시간에 따라 변하는 그리고 독립적인 특성 및 (3) 공간 채널에서 송신되는 다중 데이터 스트림 사이의 상호 작용 때문에 MIMO 시스템을 위한 레이트 선택은 도전적이다.
따라서 MIMO 시스템에 있어서 다중 공간 채널에서 데이터를 효과적으로 송신하고 우수한 성능을 획득하기 위해 정확한 레이트 선택을 요구하지 않는 기술의 필요성이 있다.
요약
MIMO 시스템에 있어서 다중 (
) 병렬 채널에서의 증분 리던던시 (IR) 송신을 수행하기 위한 기술이 여기에 제공된다. 이 병렬 채널들은 (1) MIMO 시스템에서의 다중 공간 채널에 의해, (2) 그것들이 유사한 SINR 을 획득하는 그러한 방법으로, 또는 (3) 어떤 다른 방법으로 형성될 수 있다. 초기에, MIMO 시스템에 있어서 수신기 또는 송신기는
의 병렬 채널에 대한 SINR 을 추정하고, 이 병렬 채널에 대한
의 레이트를 선택한다. SINR 은 송신기에 의해 이용되는 송신 방식, 수신기에 의해 수행되는 프로세싱 등과 같은 다양한 요인에 의존할 수 있다. 수신기가 레이트 선택을 수행하면 송신기에는 선택된 레이트가 제공된다.
송신기는 채널에 대해 선택된 레이트에 기초하여 각각의 병렬 채널에 대해 각각의 데이터 패킷을 프로세싱 (예를 들어, 인코딩, 파티셔닝, 인터리빙 및 변조) 하고, 패킷에 대한 다중 (
) 데이터 심볼 블록을 획득한다. 첫 번째 데이터 심볼 블록은 전형적으로 수신기가 바람직한 채널 조건 하에서 데이터 패킷을 복구할 수 있도록 하는 충분한 정보를 포함한다. 각각의 남아 있는 데이터 심볼 블록은 수신기가 덜 바람직한 채널 조건 하에서도 데이터 패킷을 회복할 수 있도록 하는 가산 리던던시를 포함한다. 각각의 데이터 패킷에 대하여, 송신기는 패킷에 대한 모든 블록이 송신될 때까지 한번에 하나의 데이터 심볼 블록을 송신한다. 모든 데이터 심볼 블록보다 적은 개수로 패킷이 수신기에 의해 복구되면 (즉, 성공적으로 디코딩되면) 송신기는 데이터 패킷의 송신을 조기 종료한다.
수신기는 수신된 심볼의
시퀀스에 대해 검출을 수행하고, 송신기에 의해 송신된 각각의 데이터 심볼 블록에 대해 검출된 심볼 블록을 획득한다. 다음의 프로세싱은 병렬 채널들이 독립적인지 또는 서로 종속적인지에 의존한다.
각각의 병렬 채널에서의 데이터 송신이 다른 병렬 채널에서의 데이터 송신에 독립적이면
의 병렬 채널은 독립적이다. 이 경우에, 각각의 병렬 채널에서의 각각의 데이터 패킷에 대하여, 수신기는 데이터 패킷에 대하여 획득된 모든 검출된 심볼 블록을 프로세싱 (예를 들어, 복조, 디인터리빙, 재구성 및 디코딩) 하고, 디코딩된 패킷을 제공한다. 수신기는 디코딩된 패킷이 양호하면 ACK 를, 디코딩된 패킷에 오류가 있으면 NAK 를 회신할 수 있다. 수신기는 복구되거나 또는 패킷에 모든 데이터 심볼 블록들이 수신되는 경우의 각각의 패킷에 대한 프로세싱을 종료한다.
각각의 병렬 채널에서의 데이터 송신이 다른 병렬 채널에서의 데이터 송신에 종속적이면
의 병렬 채널은 서로 종속적이다. 이것이 수신기가 검출된 심볼 블록을 획득하기 위해 "연속 간섭 상쇄 (successive interference cancellation)" (SIC) 프로세싱 기술을 이용하는 경우이다. SIC 로, 데이터 패킷이 병렬 채널에서 복구될 때는 언제든지, 이 패킷이 다른 병렬 채널의 아직 복구되지 않은 데이터 패킷에 야기하는 간섭이 추정되고, 이 다른 데이터 패킷에 대한 검출된 심볼 블록을 획득하기 위한 검출을 수행하는 것에 우선하여 상쇄된다. 나중에 복구된 데이터 패킷에 대한 SINR 은 따라서 더 높으며, 이 패킷을 위해 더 높은 레이트가 선택될 수 있다. 데이터 패킷은 그러면 그 선택된 레이트에 기초하여 결정되는 특정한 순서에 따라 이 데이터 패킷을 복구하기 위해 필요한 SINR 이 획득될 수 있도록 수신기에 의해 복구된다.
"순차 (ordered)" SIC 송신 방식에 대해, 주어진 병렬 채널
에서의 데이터 패킷이 예상보다 조기 복구되면, 몇 가지 선택 사항 중 하나를 이용할 수 있다. 첫 번째로, 송신기는 병렬 채널
에서 아무것도 송신하지 않을 수 있으며 아직 복구되지 않은 데이터 패킷에 대해 더 많은 또는 모든 송신 전력을 이용할 수 있다. 두 번째로, 송신기는 병렬 채널
에서 새로운 "짧은" 데이터 패킷을 송 신할 수 있다. "짧은" 패킷은 복구될 다음 데이터 패킷에서 또는 그 전에 복구될 것으로 예상된다. 세 번째로, 송신기는 병렬 채널
에서 새로운 "긴" 데이터 패킷을 송신할 수 있다. 긴 패킷은 복구될 다음 데이터 패킷 후에 복구될 것으로 예상된다. 이 선택 사항 중 하나가 조기 종료 후에 병렬 채널
에서 패킷 송신이 있을 때의 처리량과 패킷 송신이 없을 때의 처리량을 비교하는 메트릭에 기초하여 선택될 수 있다.
"순환 (cycled)" SIC 송신 방식에 대해, 데이터 패킷이 병렬 채널에서 복구될 때는 언제든지, 송신기는 이 병렬 채널에서 새로운 데이터 패킷을 송신하며, 수신기는 다음 병렬 채널로 순환하여 이 다음 병렬 채널에서 데이터 패킷 복구를 시도한다.
이하 SIC 와 다른 송신 방식이 설명된다. 이하 또한 발명의 다양한 태양과 실시형태가 보다 자세하게 설명된다.
도면의 간단한 설명
본 발명의 특징과 특성이, 전체에서 동일한 참조 부호는 동일한 것을 나타내는 도면과 관련하여 보았을 때, 아래에 제시된 상세한 설명으로부터 보다 명백해질 것이다.
도 1 은 다중 (
) 병렬 채널에 대한 IR 송신을 실행하는 MIMO 시스템에서의 송신기와 수신기의 블록 다이어그램을 나타낸다.
도 2 는 병렬 채널에 대한 IR 송신 수행에 대한 프로세스를 나타낸다.
도 3 은 하나의 병렬 채널에서의 하나의 데이터 스트림에 대한 IR 송신을 도시한다.
도 4 는 MIMO-OFDM 시스템에 대한 송신 방식을 나타낸다.
도 5 는
의 독립 병렬 채널에 대한 IR 송신을 도시한다.
도 6a 내지 6c 는 하나의 병렬 채널에서의 데이터 패킷의 조기 종료에 대한 세 가지의 다른 선택 사항을 갖춘 순차 SIC 송신 방식을 도시한다.
도 7 은 패킷 1b 및 패킷 2a 대 패킷 2a 에 대한 많은 송신 사이클에 대한 PER 의 그래프를 나타낸다.
도 8 은 순차 SIC 송신 방식에 대한 정적 다이어그램을 나타낸다.
도 9a 및 도 9b 는 순환 (cycled) SIC 송신 방식을 도시한다.
도 10 은 송신기에서의 송신 (TX) 데이터 프로세서를 나타낸다.
도 11 은 송신기에 의한 하나의 데이터 패킷의 프로세싱을 도시한다.
도 12 는 TX 공간 프로세서 및 송신기에서의 송신기 유닛을 나타낸다.
도 13 은 수신기의 일 실시형태를 나타낸다.
도 14 는 도 13 의 수신기에서의 수신 (RX) 데이터 프로세서를 나타낸다.
도 15 는 SIC 기술을 실행하는 수신기를 나타낸다.
상세한 설명
"예시적인 (exemplary)" 은 여기에서 "예, 사례 또는 실례로서 제공되는" 을 의미하도록 사용된다. "예시적인" 것으로서 여기에 설명되는 어떠한 실시형태 또는 디자인도 반드시 다른 실시형태 또는 디자인보다 선호되거나 유리한 것으로 해석되지는 않는다.
MIMO 시스템에 있어서,
의 데이터 스트림은 각각의 병렬 채널에서 하나의 데이터 스트림 씩,
의 병렬 채널에서 동시에 송신될 수 있으며, 여기서
이다. 이하 설명되는 바와 같이, 각각의 병렬 채널은 공간 채널과 일치하거나 또는 어떤 다른 방법으로 형성될 수 있다. 각각의 데이터 스트림은 그 데이터 스트림에 대해 선택된 레이트에 기초하여 독립적으로 프로세싱되고, 그 병렬 채널에서 송신될 수 있다.
도 1 은 다중 병렬 채널에서의 다중 데이터 스트림에 대한 IR 송신을 실행하는 MIMO 시스템 (100) 에서의 송신기 (110) 및 수신기 (150) 의 블록 다이어그램을 나타낸다. 송신기 (110) 에서, TX 데이터 프로세서 (120) 는 데이터 소스 (112) 로부터
의 데이터 스트림을 수신한다. TX 데이터 프로세서 (120) 는 각각의 데이터 스트림에서 그 데이터 스트림에 대해 선택된 레이트에 따라 각각의 데이터 패킷을 프로세싱 (예를 들어, 포맷, 인코딩, 파티셔닝, 인터리빙 및 변조) 하고, 그 패킷에 대해
의 데이터 심볼 블록을 제공하는데, 여기서
이며 선택된 레이트에 의존할 수 있다. 각각의 데이터 심볼 블록은 MIMO 시스템 (100) 을 위해 미리 정해진 시간 주기인 하나의 타임 슬롯 (또는 간단히 "슬롯") 에서 송신될 수 있다. 각각의 데이터 스트림을 위해 선택된 레이트 는 데이터 레이트, 코딩 방식 또는 코드 레이트, 변조 방식, 패킷 사이즈, 데이터 심볼 블록의 개수 등을 표시할 수 있는데, 이는 제어기 (140) 에 의해 제공되는 다양한 제어에 의해 표시된다. 각각의 데이터 스트림에 대해 선택된 레이트는 정적이거나 연속적으로 갱신 (예를 들어, 채널 조건에 기초하여) 될 수 있다. 주어진 데이터 스트림의 IR 송신에 있어서, 그 데이터 스트림의 각각의 데이터 패킷에 대한 데이터 심볼 블록은 수신기 (150) 에 의해 패킷이 복구되거나 모든 블록이 송신될 때까지 한번에 하나의 블록으로 송신된다.
TX 공간 프로세서 (130) 은 TX 데이터 프로세서 (120) 으로부터
의 데이터 심볼 스트림을 수신한다. 각각의 데이터 심볼 스트림은 일치하는 데이터 스트림에서의 각각의 데이터 패킷에 대한 한 조의 데이터 심볼 블록을 포함한다. TX 공간 프로세서 (130) 은
의 송신 안테나로부터
의 데이터 심볼 스트림을 송신하는 프로세싱 (예를 들어, 디멀티플렉싱, 공간 프로세싱 등) 를 수행한다. 아래에 설명되는 바와 같이, 다양한 송신 방식이 실행될 수 있다. 사용을 위해 선택되는 송신 방식에 의존하여, 어떤 주어진 슬롯에서
까지의 병렬 채널에서
까지의 데이터 스트림에 대한
까지의 데이터 심볼 블록이 동시에 송신된다. TX 공간 프로세서 (130) 는 또한 수신기 (150) 에 의한 채널 추정를 위해 사용되는 파일럿 심볼에서 멀티플렉싱 하고, 송신기 유닛 (TMTR; 132) 에
의 송신 심볼 스트림을 제공한다.
송신기 유닛 (132) 은
의 변조된 신호를 획득하도록
의 송신 심볼 스트림을 수신하고 조절 (예를 들어, 아날로그로의 변환, 주파수 상향 변환, 필터 및 증폭) 한다. 그러면 각각의 변조된 신호는 각각의 송신 안테나 (도 1 에는 미도시) 로부터 MIMO 채널을 통해 수신기 (150) 으로 송신된다. MIMO 채널은 MIMO 채널 응답으로
의 송신된 신호를 왜곡하고, 가산 백색 가우스 노이즈 (additive white Gaussian noise) 및 존재할 수 있는 다른 송신기로부터의 간섭으로 송신된 신호를 더욱 열화시킨다.
수신기 (150) 에서,
의 송신 신호는 각각의
의 수신 안테나 (도 1 에는 미도시) 에 의해 수신되며,
의 수신 안테나로부터의
의 수신 신호는 수신기 유닛 (RCVR; 154) 에 제공된다. 수신기 유닛 (154) 는 수신 심볼 스트림을 획득하기 위해 각각의 수신 신호를 조절, 디지털화 및 사전 프로세싱한다 (pre-process). 수신기 유닛 (154) 는 RX 공간 프로세서 (160) 에 (데이터를 위한)
의 수신 심볼 스트림을, 채널 추정기 (172) 에 (파일럿을 위한) 수신 파일럿 심볼을 제공한다. RX 공간 프로세서 (160) 은 송신기 (110) 에 의해 전송된
의 데이터 심볼 스트림의 추정인
의 검출된 심볼 스트림을 획득하기 위해
의 수신 심볼 스트림을 프로세싱 (예를 들어, 검출, 멀티플렉싱, 디멀티플렉싱 등) 한다.
RX 데이터 프로세서 (170) 은 송신기 (110) 에 의해 전송된
의 데이터 스트림의 추정인
의 디코딩된 데이터 스트림을 획득하기 위해
의 검출된 심볼 스트림을 수신하고 프로세싱한다. 각각의 데이터 스트림의 각각의 데이터 패킷에 대해, RX 데이터 프로세서 (170) 은 선택된 레이트에 따라 그 데이터 패킷에 대해 수신된 모든 데이터 심볼 블록을 프로세싱 (예를 들어, 복조, 디인터리빙, 재구성 및 디코딩) 하고, 그 데이터 패킷의 추정인 디코딩된 패킷을 제공한다. RX 데이터 프로세서 (170) 은 또한 패킷이 정확하게 디코딩되었는지 또는 오류 있게 디코딩되었는지를 표시하는 각각의 디코딩된 패킷의 상태를 제공한다.
채널 추정기 (172) 는
의 병렬 채널에 대한 채널 추정 (예를 들어, 채널 이득 추정 및 SINR 추정) 을 획득하기 위해 수신된 파일럿 심볼 및/또는 수신된 데이터 심볼을 프로세싱한다. 레이트 선택기 (174) 는 채널 추정을 수신하고 각각의
의 병렬 채널에 대한 레이트를 선택한다. 제어기 (180) 는 레이트 선택기 (174) 로부터
의 선택된 레이트를, RX 데이터 프로세서 (10) 으로부터 패킷 상태를 수신하고, 송신기 (110) 에 대한 피드백 정보를 모은다. 피드백 정보는
의 선택된 레이트, 디코딩된 패킷에 대한 ACK 및 NAK 등을 포함할 수 있다. 피드백 정보는 TX 데이터/공간 프로세서 (190) 에 의해 프로세싱되고, 나아가 송신기 유닛 (192) 에 의해 조절되며, 피드백 채널을 통해 송신기 (110)으로 송신된다.
송신기 (110) 에서, 수신기 (150) 에 의해 송신된 신호는 수신기 유닛 (146) 에 의해 수신되고 조절되며, 나아가 수신기 (150) 에 의해 전송된 피드백 정보를 획득하기 위해 RX 공간/데이터 프로세서 (148) 에 의해 프로세싱된다. 제어기 (140) 은 피드백 정보를 수신하고,
의 병렬 채널에서 전송되고 있는 현재의 데이터 패킷의 IR 송신을 제어해 ACK / NAK 를 사용하며,
의 병렬 채널에서 전송될 새로운 데이터 패킷을 프로세싱하기 위해
의 선택된 레이트를 사용한다.
제어기 (140 및 180) 는 각각 송신기 (110) 및 수신기 (150)에서의 기능을 지시한다. 메모리 유닛 (142 및 182) 는 각각 제어기 (140 및 180) 에 의해 사용되는 프로그램 코드 및 데이터를 위한 저장 공간을 제공한다. 메모리 유닛 (142 및 182) 는 도 1 에 도시된 바와 같이 제어기 (140 및 180) 의 내부에 위치할 수 있으며, 또는 이 제어기들의 외부에 위치할 수도 있다. 도 1 에 도시된 프로세싱 유닛은 이하 상세히 설명된다.
도 2 는 MIMO 시스템에 있어서
의 병렬 채널에서의
의 데이터 스트림에 대한 IR 송신을 수행하기 위한 프로세스 (200) 의 흐름도를 나타낸다. 처음에, 수신기는 송신기로부터 수신된 파일럿 및/또는 데이터 심볼에 기초하여
의 병렬 채널을 추정한다 (단계 210). 수신기는 채널 추정에 기초하여 각각의
의 병렬 채널에 대한 레이트를 선택하고, 송신기에
의 선택된 레이트를 전송한다 (단계 212). 송신기는
의 선택된 레이트를 수신하고,
의 데이터 심볼 스트림을 획득하기 위해
의 선택된 레이트에 따라
의 데이터 스트림에 대한 데이터 패킷을 프로세싱한다 (단계 220). 송신기는 데이터 패킷에 대한
의 데이터 심볼 블록을 획득하기 위해 데이터 스트림에 대해 선택된 레이 트에 따라 각각의 데이터 스트림의 각각의 데이터 패킷을 포맷, 인코딩, 파티셔닝, 인터리빙 및 변조할 수 있다. 송신기는 그 후
의 병렬 채널을 통해
의 데이터 심볼 스트림을 송신한다 (단계 222). 예를 들어, 송신기는 모든 데이터 심볼 블록이 송신되거나 데이터 패킷에 대해 ACK 가 수신될 때까지 각각의 데이터 스트림에 각각의 데이터 패킷에 대해 한번에 하나의 데이터 심볼 블록을 송신할 수 있다. 아래에 설명되는 바와 같이,
의 데이터 스트림의 IR 송신을 위해 다양한 송신 방식이 사용될 수 있다.
수신기는
의 수신 안테나를 통해 송신기로부터
의 데이터 심볼 스트림을 수신하고,
의 검출 심볼 스트림을 획득하기 위해
의 수신 심볼 스트림을 프로세싱한다 (단계 230). 수신기는 그 후
의 검출 심볼 스트림을 프로세싱하고, 송신기에 의해 송신된 데이터 패킷을 복구한다 (단계 232). 각각의 슬롯에 있어서, 수신기는 각각의
의 데이터 스트림에 대해 송신되고 있는 현재의 데이터 패킷 복구를 시도할 수 있다. 예를 들어, 데이터 패킷에 대해 새로운 검출 심볼 블록이 획득될 때는 언제든지, 수신기는 디코딩된 패킷을 획득하기 위해 그 패킷에 대해 수신된 모든 검출 심볼 블록을 복조, 디인터리빙, 재구성 및 디코딩할 수 있다. 수신기는 또한 패킷이 정확하게 (양호함) 디코딩되었는지 또는 오류 있게 (삭제됨) 디코딩되었는지를 결정하기 위해 각각의 디코딩된 패킷을 체크한다 (또한 단계 232).
ACK / NAK 피드백은 다양한 방법으로 이루어질 수 있다. 일 실시형태에 서, 수신기는 삭제된 각각의 디코딩된 패킷에 대해 NAK 를 전송하며, 송신기는 삭제된 패킷에 대해 다음 데이터 심볼 블록을 송신하기 위해 이 피드백을 사용한다. 다른 실시형태에서, 송신기는 패킷에 대해 수신기로부터 ACK 가 수신될 때까지 각각의 데이터 패킷에 대해 한번에 하나의 데이터 심볼 블록을 전송한다 (수신기는 NAK 를 회신할 수도 또는 그렇지 않을 수도 있다). 어떠한 경우에 있어서도, 수신기는 복구된 각각의 데이터 패킷에 대한 프로세싱을 종료하거나 또는 그 패킷에 대해 모든 데이터 심볼 블록이 수신되면 종료한다 (단계 234).
도 2 는
의 병렬 채널에서의
의 데이터 스트림에 대한 IR 송신의 특정한 실시형태를 나타낸다. 다중 병렬 채널에 대한 IR 송신은 또한 다른 방법으로 수행될 수 있으며, 이는 본 발명의 영역 내에 있다.
도 3 은 하나의 병렬 채널 (채널
로 표시) 에서의 하나의 데이터 스트림 (스트림
로 표시) 에 대한 IR 송신을 도시한다. 수신기는 채널
를 추정하고, 채널 추정에 기초하여 채널
에 대한 레이트
를 선택하며, 슬롯 0 에서 송신기에 선택된 레이트를 전송한다. 송신기는 선택된 레이트를 수신하고, 선택된 레이트에 따라 스트림
에 대한 데이터 패킷 (패킷 1) 을 프로세싱하며, 슬롯 1 에서 패킷 1 에 대한 첫 번째 데이터 심볼 블록 (블록 1) 을 송신한다. 수신기는 블록 1 을 수신하고 프로세싱하며, 패킷 1 이 오류 있게 디코딩되었는지를 결정하고, 슬롯 2 에서 NAK 를 회신한다. 송신기는 NAK 를 수신하고, 슬롯 3 에서 패킷 1 에 대한 두 번째 데이터 심볼 블록 (블록 2) 을 송신한다. 수신 기는 블록 2 를 수신하고, 블록 1 및 2 를 프로세싱하며, 패킷 1 이 여전히 오류 있게 디코딩되었는지를 결정하고, 슬롯 4 에서 NAK 를 회신한다. 블록 송신 및 NAK 응답은 어떤 횟수만큼 반복될 수 있다. 도 3 에 나타난 예에서, 송신기는 데이터 심볼 블록
에 대해 NAK 를 수신하고, 슬롯
에서 패킷 1 에 대한 데이터 심볼 블록
(블록
) 를 송신하는데, 여기서
는 패킷 1 에 대한 블록의 총 개수보다 작거나 같다. 수신기는 블록
를 수신하고, 패킷 1 에 대해 수신된 모든
의 데이터 심볼 블록을 프로세싱하며, 패킷이 정확하게 디코딩되었는지를 결정하고, 슬롯
에서 ACK 를 회신한다. 수신기는 또한 채널
를 추정하고, 스트림
에 대해 다음 데이터 패킷에 대한 레이트
를 선택하며, 슬롯
에서 송신기에 선택된 레이트를 전송한다. 송신기는 블록
에 대한 ACK 를 수신하고, 패킷 1 의 송신을 종료한다. 송신기는 또한 선택된 레이트
에 따라 다음 데이터 패킷 (패킷 2) 을 프로세싱하고, 슬롯
에서 패킷 2 에 대한 첫 번째 데이터 심볼 블록을 송신한다. 패킷 2 에 대한 송신기 및 수신기에서의 프로세싱은 패킷 1 에 대해 설명된 바와 같은 방법으로 계속된다.
도 3 에 나타난 실시형태에 대하여, 각각의 블록 송신에 있어서 수신기로부터의 ACK / NAK 응답에 대해 하나의 슬롯의 지연이 있다. 채널 이용을 개선하기 위하여, 각각의 데이터 스트림에 대해 인터레이싱된 (interlaced) 방법으로 다 중 데이터 패킷이 송신될 수 있다. 예를 들어, 홀수의 슬롯에서 하나의 데이터 패킷이 송신될 수 있으며, 짝수의 슬롯에서 또 다른 데이터 패킷이 송신될 수 있다. ACK/NAK 지연이 하나의 슬롯보다 길다면 두 개의 데이터 패킷 이상이 또한 인터레이싱될 수 있다.
아래에 설명되는 바와 같이, MIMO 시스템에서의
의 병렬 채널은 다양한 방법으로 형성될 수 있다. 더구나, 수신기에서 수행되는 프로세싱에 의존하여,
의 병렬 채널은 서로 독립적이거나 서로 종속적일 수 있다. 독립적인 병렬 채널에 대해, 다른 데이터 스트림에 대한 IR 송신과 독립적으로, 그리고 이와 관계없이, 각각의 데이터 스트림에 대한 IR 송신이 수행될 수 있다. 서로 종속적인 병렬 채널에 대해, 각각의 데이터 스트림에 대한 IR 송신은 다른 데이터 스트림에 대한 IR 송신에 의존한다.
1. 다중 독립 병렬 채널에 대한 IR 송신
의 병렬 채널에서 동시에
의 데이터 스트림을 송신하기 위해 다양한 송신 방식이 사용될 수 있는데, 여기서
이다. 어떤 예시적인 송신 방식이 아래에 설명된다. 단순화를 위해, 다음의 설명은 풀 랭크의 MIMO 채널을 가정하며,
이다.
첫 번째 송신 방식에서, 송신기에서의 어떠한 공간 프로세싱 없이 하나의 데 이터 스트림이 각각의 의 송신 안테나로부터 송신된다. 이 송신 방식에 대한 모델이 다음과 같이 표현될 수 있다.
여기서
는 데이터 심볼을 위한
의 엔트리를 갖춘
데이터 벡터;
는
의 수신 안테나를 통해 획득된
의 수신 심볼에 대한
의 엔트리를 갖춘
수신 벡터;
는 MIMO 채널을 위한
채널 응답 매트릭스; 그리고
은 가산 백색 가우스 노이즈 (additive white Gaussian noise; AWGN) 의 벡터이다.
벡터
는
의 데이터 스트림에 대한
의 데이터 심볼로 지정되는
의 엔트리 및 0 으로 지정되는 남아 있는
의 엔트리의,
의 송신 안테나를 위한
의 엔트리를 포함한다. 벡터
은 평균 0 및
의 공분산 (covariance) 매트릭스를 가지는 것으로 가정되는데, 여기서
은 노이즈의 분산이며
는 대각선을 따라 1 을 가지고 그 밖의 다른 곳에서는 0 을 가지는 단위 매트릭스이다.
MIMO 채널에서의 분산 (scattering) 때문에,
의 송신 안테나로부터 송신되는
의 데이터 스트림은 수신기에서 서로 간섭한다. 주어진 송신 안테나로부터 송신되는 데이터 스트림은 다른 진폭 및 위상에서 모든
의 수신 안테나에 의해 수신될 수 있다. 각각의 수신 안테나에 대한 수신 신호는 그러면 각각의
의 데이터 스트림 성분을 포함한다.
수신기는 다양한 공간 및 공간-시간 프로세싱 (예를 들어, "검출") 방식에 기초하여 데이터 벡터
를 추정할 수 있다. 예를 들어, 수신기는 최대비 결합 (maximal ratio combining; MRC) 검출기, 최소 평균 제곱 오류 (minimum mean square error; MMSE) 검출기, 선형 영 강제 (zero-forcing; ZF) 검출기, MMSE 선형 이퀄라이저 (MMSE linear equalizer), 결정 피드백 이퀄라이저 (decision feedback equalizer), 또는 어떤 다른 검출기/이퀄라이저로 벡터
를 추정할 수 있다. 이 검출기 중 몇몇에 대한 공간 프로세싱이 아래에 설명된다.
MRC 검출기에 대한 공간 프로세싱은 다음과 같이 표현될 수 있다.
는 MRC 검출기로부터의
의 검출 심볼의
벡터; 그리고
는 켤레 이항 (conjugate transpose) 을 표시한다.
MMSE 검출기에 대한 공간 프로세싱은 다음과 같이 표현될 수 있다.
영 강제 검출기에 대한 공간 프로세싱은 다음과 같이 표현될 수 있다.
여기서 영 강제 검출기에 대해
이다. 첫 번째 송신 방식에 대해, 각각의 공간 채널은 각각의 송신 안테나에 대응한다.
두 번째 송신 방식에서, 하나의 데이터 스트림은 MIMO 채널의 각각의 "고유모드 (eigenmode)" 에서 송신된다. 채널 응답 매트릭스
는 MIMO 채널의
의 고유모드를 획득하기 위해 특이값 분해 (singular value decomposition) 또는 고유값 분해 (eigenvalue decomposition) 중 하나를 이용하여 분해될 수 있다. MIMO 채널의
의 고유모드는 서로 직교 (orthogonal) 하며, 개선된 성능은 이 고유모드를 통한 다중 데이터 스트림 송신에 의해 달성될 수 있다. 채널 응답 매트릭스
의 특이값 분해 (singular value decomposition) 는 다음과 같이 표현될 수 있다.
여기서
는
의 좌측 고유벡터 (eigenvector) 의
단위 매트릭스;
는
의 고유값 (singular value) 의
대각 매트릭스; 그리고
단위 매트릭스는
의 특성을 가진다. 단위 매트릭스
및
는 각각 MIMO 채널의
의 고유모드에서의
의 데이터 스트림을 송신하기 위한 송신기 및 수신기에 의한 공간 프로세싱을 위해 이용된다.
송신기는 다음과 같이 매트릭스
로 공간 프로세싱을 수행한다.
여기서
는
의 송신 안테나로부터 전송되는
의 송신 심볼을 위한
의 엔트리를 가지는
벡터이다. 수신 벡터는 그러면
과 같이 주어진다. 수신기는 다음과 같이 매트릭스
로 공간 프로세싱을 수행한다.
두 번째 송신 방식에 있어서, 각각의 공간 채널은 각각의 고유모드에 대응한다.
의 고유모드는 분해를 통해 획득되는 직교 공간 채널로서 보여 질 수 있다.
첫 번째 및 두 번째 송신 방식에 있어서,
의 데이터 스트림은 상이한 그리고 어쩌면 넓게 변하는 "사후 프로세싱된 (post-processed)" 또는 "사후 검출된 (post-detection)" SINR을 획득할 수 있는데, 이는 (예를 들어, MMSE, 영 강제, 또는 MRC 검출기를 갖추고 있는) 수신기에 의한 선형 검출 후에 획득되는 SINR 이다. 그렇다면 데이터 스트림을 위해 다른 레이트가 필요하다.
세 번째 송신 방식에서, 각각의
의 데이터 스트림은 모든 데이터 스트림이 유사한 채널 조건을 경험하고, 유사한 사후 프로세싱된 SINR 을 획득할 수 있도록 모든
의 송신 심볼로부터 송신된다. 그렇다면 같은 또는 유사한 레이트가
의 데이터 스트림을 위해 이용될 수 있다. 이 방식에 있어서, 송신기는 다음과 같이 데이터 벡터
와 송신 기저 (basis) 매트릭스 및 대각 매트릭스의 매트릭스 곱을 수행한다.
여기서
는
의 송신 안테나를 위한
의 송신 심볼을 가지는
벡터;
은 단위 매트릭스인
송신 기저 (basis) 매트릭스; 그리고
송신 기저 (basis) 매트릭스
은 각각의 데이터 스트림이 모든
의 송신 안테나로부터 전송될 수 있도록 하며, 나아가 각각의 송신 안테나의 최고 전력
를 데이터 송신을 위해 이용될 수 있도록 한다. 매트릭스
은
로 정의될 수 있는데, 여기서
는 왈쉬-하다마드 (Walsh-Hadamard) 매트릭스이다. 매트릭스
은 또한
로 정의될 수 있는데, 여기서
는
로 정의된
번째 엔트리를 가지는 이산 푸리에 변환 (discrete Fourier transform; DFT) 매트릭스로서,
은
인 매트릭스
를 위한 행 표시이고,
은
인 매트릭스
를 위한 열 표시이다. 대각 매트릭스
는 대각선을 따라
의 0 이 아닌 엔트리를 그리고 다른 곳에서는 0 을 포함한다. 이
의 0 이 아닌 엔트리는 각각의 송신 안테나를 위한
의 총 송신 전력 제한에 따름과 동시에
의 데이터 스트림에 다른 송신 전력을 배치하기 위해 사용될 수 있다.
이 송신 방식에 있어서 수신기에 의해 관찰되는 "유효" 채널 응답은
이다. 수신기는 MRC, MMSE, 영 강제, 또는 어떤 다른 검출기/이퀄라이저를 이용하여 데이터 벡터
를 추정할 수 있는데, 여기서 (
,
, 또는
일 수 있는) 검출기 응답
는 채널 응답 매트릭스
대신에 유효 채널 응답 매트릭스
를 가지고 계산된다. 세 번째 송신 방식은 2003년 2월 14일 출원되고 발명의 명칭은 "MIMO 시스템을 위한 레이트 적응 송신 방식 (Rate Adaptive Transmission Scheme for MIMO Systems)" 인 일반적으로 양도된 미국 특허출원 제 10/367,234 호에 상세히 설명되어 있다.
세 번째 송신 방식은
의 송신 안테나 (즉,
) 로부터 어떠한 개수의 데이터 스트림도 동시에 송신할 수 있고,
의 병렬 채널들이 유사한 사후 프로세싱된 SINR (이는 SIC 수신기의 기능을 단순화할 수 있다.) 을 획득할 수 있도록 하며, 나아가 그 데이터 스트림을 위해 동일한 또는 상이한 송신 전력이 이용될 수 있도록 한다.
여기에 설명되는 IR 송신 기술은 데이터 송신을 위해 하나의 캐리어를 이용하는 싱글-캐리어 (single-carrier) MIMO 시스템 및 데이터 송신을 위해 다중 캐리어를 이용하는 멀티-캐리어 (multi-carrier) MIMO 시스템에서 실행될 수 있다. 다중 캐리어는 직교 주파수 분할 멀티플렉싱 (orthogonal frequency division multiplexing; OFDM), 다른 멀티-캐리어 변조 기술, 또는 어떤 다른 구성에 의해 제공될 수 있다. OFDM 은 효과적으로 전체의 시스템 대역폭을 다중 (
) 직교 서브밴드 (subband) 로 파티셔닝하는데, 이는 또한 일반적으로 톤 (tone), 빈 (bin), 또는 주파수 채널로 나타내어진다. OFDM 으로, 각각의 서브밴드는 데이터를 가지고 변조될 수 있는 각각의 캐리어와 관련된다.
OFDM 을 실행하는 MIMO 시스템에 있어서 (즉, MIMO-OFDM 시스템),
의 데이터 스트림은 다양한 방법으로
의 송신 안테나의
의 서브밴드에서 송신될 수 있다. 예를 들어, 각각의 데이터 스트림은 각각의 송신 안테나의
의 서브밴드에서 송신될 수 있다. 다르게는 각각의 데이터 스트림이 다중 서브밴드과 주파수 및 공간 다이버시티 (diversity) 를 달성하기 위한 다중 송신 안테나에서 송신될 수 있다.
네 번째 송신 방식에서, 각각의 데이터 스트림은
의 서브밴드를 가로질러 그리고 모든
의 송신 안테나로부터 대각선으로 (diagonally) 송신된다. 이 방식은 동시에 송신되는 모든
의 데이터 스트림에 대한 주파수 및 공간 다이버시티를 제공하며, 나아가 수신기에서의 선형 검출 이후의
의 데이터 스트림에 대한 유사한 사후 프로세싱된 SINR 을 획득한다.
도 4 는 네 개의 송신 안테나 (
) 및 16 개의 서브밴드 (
) 을 갖춘, 예시적인 MIMO-OFDM 시스템에 있어서 두 개의 데이터 스트림 (
) 이 송신되는 경우에 대한 네 번째 송신 방식을 나타낸다. 첫 번째 데이터 스트림에 대하여, 첫 번째 네 개의 데이터 심볼
,
,
및
는 각각 송신 안테나 1, 2, 3 및 4 의 서브밴드 1, 2, 3 및 4 에서 송신된다. 다음의 네 개의 데이터 심볼
,
,
및
은 둘러싸며 (wrap around), 각각 송신 안테나 1, 2, 3 및 4 의 서브밴드 5, 6, 7 및 8 에서 송신된다. 두 번째 데이터 스트림에 대하여, 첫 번째 네 개의 데이터 심볼
,
,
및
는 각각 송신 안테나 3, 4, 1 및 2 의 서브밴드 1, 2, 3 및 4 에서 송신된다. 다음의 네 개의 데이터 심볼
,
,
및
은 둘러싸며 (wrap around), 각각 송신 안테나 3, 4, 1 및 2 의 서브밴드 5, 6, 7 및 8 에서 송신된다. 도 4 에 나타난 실시형태에 있어서, 모든 서브밴드 (subband)이 데이터 송신을 위해 이용되는 것은 아니며 이용되지 않는 서브밴드에는 0 의 신호값이 채워 진다. 멀티플렉싱/디멀티플렉싱은 또한 다른 방법으로 수행될 수 있다.
MIMO-OFDM 시스템을 위해, 위에 설명된 송신기 및 수신기를 위한 공간 프로세싱은 서브밴드에 대한 채널 응답 매트릭스
에 기초하여 각각의 서브밴드
에 대해 수행될 수 있으며, 여기서
이다.
직교 주파수 분할 다중 접속 (orthogonal frequency division multiple access) 을 실행하는 MIMO 시스템에 있어서 (즉, MIMO-OFDMA 시스템),
의 서브밴드의 오직 서브세트 (subset) 만이 각각의 수신기에 대한 데이터 송신에 이용될 수 있다. 비록 데이터 송신에 이용될 수 있는 서브밴드에서만 이기는 하나, MIMO-OFDM 시스템에 대해 위에 설명된 프로세싱은 또한 MIMO-OFDMA 시스템을 위해서도 이용될 수 있다. 예를 들어, 주어진 수신기에 대한
의 데이터 스트림은 (모든
의 서브밴드 대신에) 이용할 수 있는 서브밴드를 가로질러 그리고
의 송신 안테나로부터 대각선으로 (diagonally) 송신될 수 있다.
의 병렬 채널은 MIMO 및 MIMO-OFDM 시스템에서 다양한 방법으로 형성될 수 있다. 위에 설명된 네 개의 송신 방식은 다중 병렬 채널을 형성하는 네 개의 예시적인 방법을 나타낸다. 일반적으로 병렬 채널은 공간, 주파수 및 시간의 어떠한 조합을 이용하여 형성될 수 있다.
다음의 설명에서, "송신 사이클" (또는 간단히 "사이클") 은 송신기에 의한 데이터 심볼 블록의 송신 및 수신기에 의한 그 블록에 대한 NAK / ACK 응답의 송신을 커버하는 시간 주기이다. "F" 는 수신기에 의한 디코딩 실패를 표시하고, "S" 는 디코딩 성공을 표시한다. 단순화를 위해, 각각의 데이터 스트림에 대한 다중 데이터 패킷의 인터레이싱 (interlacing) 은 다음의 타이밍 다이어그램에 표시되지 않는다.
도 5 는
의 독립 병렬 채널에서의
의 데이터 스트림의 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 의 복구를 시도하고, 사이클 5 내지 8 각각에서 디코딩 실패와 만나며, 사이클 9 에서 데이터 심볼 블록 1 내지 5 를 가지고 패킷 1b 를 정확하게 디코딩할 수 있다. 도 5 에 도시된 바와 같이, 수신기는 각각의 다른 데이터 스트림을 유사한 방법으로 프로세싱한다.
2. 다중 종속 병렬 채널에 대한 IR 송신
수신기는
의 검출 심볼 스트림을 획득하기 위해 SIC 기술을 이용하여
의 수신 심볼 스트림을 프로세싱할 수 있다. 비선형 검출 방식인 SIC 기술에 대하여, 수신기는 처음에
의 수신 심볼 스트림에 대해 검출을 수행하고 (예를 들어, MRC, MMSE, 또는 영 강제 검출기를 이용), 하나의 검출된 심볼 스트림을 획득한다. 수신기는 나아가 디코딩된 데이터 스트림을 획득하기 위해 이 검출 심볼 스트림을 프로세싱 (예를 들어 복조, 디인터리빙, 및 디코딩) 한다. 그러면 수신기는 이 데이터 스트림이 다른
의 데이터 스트림에 야기하는 간섭을 추정하고,
의 변형된 심볼 스트림을 획득하기 위해
의 수신 심볼 스트림으로부터의 추정 간섭을 상쇄한다. 그 후 수신기는 또 다른 데이터 스트림을 복구하기 위해
의 변형 심볼 스트림에 대해 동일한 프로세싱을 반복한다.
따라서 수신기는
의 연속적인 단계에서
의 수신 심볼 스트림을 프로세싱한다. 각각의 단계에 있어서, 수신기는 (1) 하나의 검출 심볼 스트림을 획득하기 위해 전 단계에서의
의 수신 심볼 스트림 또는
의 변형 심볼 스트림 중의 하나에 대한 검출, (2) 대응하는 디코딩된 데이터 스트림을 획득하기 위한 이 검출 심볼 스트림의 디코딩, 그리고 (3) 다음 단계를 위한
의 변형된 심볼 스트림을 획득하기 위해 이 스트림에 기인하는 간섭의 추정 및 상쇄를 수행한다. 각각의 데이터 스트림에 기인하는 간섭이 정확히 추정되고 상쇄될 수 있다면 (이는 데이터 스트림의 오류가 없거나 낮은 오류의 복구를 필요로 하는데), 후에 복구된 데이터 스트림은 더 적은 간섭을 겪고 더 높은 사후 프로세싱된 SINR 을 획득할 수 있을 것이다. SIC 기술은 2001년 11월 6일 출원되고 발명의 명칭은 "다중 접속 다중 입력 다중 출력 (MIMO) 통신 시스템 (Multiple-Access Multiple-Input Multiple-Output (MIMO) Communication System)" 인 일반적으로 양도된 미국 특허출원 제 09/993,087 호에 더욱 상세히 설명되어 있다.
SIC 기술에 있어서, 각각의 데이터 스트림의 사후 프로세싱된 SINR 은 (1) 선형 검출이 있는 그리고 간섭 상쇄는 없는 그 스트림의 SINR, (2) 데이터 스트림이 복구되는 특정 단계, 그리고 (3) 후에 복구되는 데이터 스트림에 기인하는 간섭에 종속적이다. 따라서,
의 데이터 스트림이 선형 검출 (예를 들어, MMSE, 영 강제, 또는 MRC 검출기) 을 가지고 유사한 사후 프로세싱된 SINR을 획득할 수 있다고 하여도, 이 스트림은 SIC 기술을 이용한 비선형 검출을 가지고 전형적으로 상이한 사후 프로세싱된 SINR 을 획득할 것이다. 일반적으로 사후 프로세싱된 SINR 은 앞선 단계에서 복구된 데이터 스트림으로부터의 간섭이 상쇄되기 때문에 나중의 단계에서 복구되는 데이터 스트림에 대해 진보적으로 개선된다. 그러므로 이것은 나중에 복구되는 데이터 스트림을 위해 더 높은 레이트가 이용될 수 있도록 한다.
SIC 기술은 데이터 스트림 간의 종속성을 소개한다. 특히,
의 데이터 스트림에 대한 레이트가 이 데이터 스트림에 의해 획득되는 사후 프로세싱된 SINR 에 기초하여 선택되는데, 이는 이번에는 데이터 스트림이 복구되는 순서에 종속된다. 각각의 데이터 스트림의 사후 프로세싱된 SINR 은 모든 조기의 데이터 스트림 (즉, 그 데이터 스트림에 우선하여 보구되도록 지정된 것들) 은 성공적으로 디코딩되고 상쇄된 것을 가정한다. 수신기는 전형적으로 지정된 순서에 따라
의 데이터 스트림을 복구할 필요가 있으며, 보통 모든 조기 데이터 스트림이 복구되고 상쇄될 때까지는 주어진 데이터 스트림을 복구할 수 없다.
SIC 수신기를 갖춘 MIMO 시스템을 위해 다양한 송신 방식이 이용될 수 있다. 몇몇의 예시적인 송신 방식이 아래에 설명된다. 단순화를 위해, 다음 기술은 두 개의 데이터 스트림 (
) 이 두 개의 병렬 채널에서 송신되는 것을 가정한다. 그러나, 아래에 설명된 개념은 어떤 개수의 데이터 스트림에도 확장될 수 있다.
A.
순차 SIC 송신 방식 (Ordered SIC Transmission Scheme)
순차 SIC 송신 방식에서,
의 데이터 스트림은 지정된 순서에 따라 복구된다. 예를 들어, 수신기는 데이터 스트림 1 을 첫 번째로, 데이터 스트림 2 를 그 다음으로, 그렇게 계속, 그리고 데이터 스트림
를 마지막으로 복구할 수 있다. 지정된 순서는 데이터 스트림이 송신되는 방법에 종속될 수 있다. 예를 들어,
의 데이터 스트림에 대해 수신된 SINR 이 위에 설명된 세 번째 및 네 번째 송신 방식에 대해 유사할 수 있다. 이 경우에는 성능이
의 데이터 스트림이 복구되는 순서에 의해 최소한의 영향을 받으며, 어떠한 순서도 선택될 수 있다.
의 데이터 스트림에 대해 수신된 SINR 은 위에 설명된 첫 번째 송신 방식에 대해 상이할 수 있다. 이 경우에는 가장 높은 수신 SINR 을 갖는 데이터 스트림을 첫번째로 복구하고, 그 다음으로 높은 수신 SINR 을 갖는 데이터 스트림을, 그렇게 계속 함으로써 더 나은 성능이 획득될 수 있다. 어떠한 경우에 도, 순차 SIC 송신 방식에 있어서는, 수신기는 모든 조기 데이터 스트림 1 내지
로부터의 간섭이 상쇄된 후에만 데이터 스트림
의 복구를 시도한다.
처음에, 사후 프로세싱된 SINR 은 (1) 예를 들어 데이터 스트림을 위해 이용되는 동일한 송신 전력을 지닌, 데이터 스트림에 대한 수신 SINR, 및 (2) 지정된 데이터 스트림의 복구 순서에 기초하여
의 데이터 스트림에 대해 추정된다. 단계
에서 복구된 데이터 스트림의 사후 프로세싱된 SINR 인,
은 다음과 같이 표현될 수 있다.
여기서
은 단계
에서 복구된 스트림에 대한 검출기 응답이고,
은 수신기에서의 노이즈 분산이다. 검출기 응답
은 단계
에 대한 축소된 채널 응답 매트릭스
에 기초하여 그 단계에 대해 유도되는 (예를 들어, MRC, MMSE, 또는 영 강제) 검출기 응답
의 하나의 열이다. 매트릭스
은 (
) 의 앞선 단계에서 이미 복구된 데이터 스트림과 대응하는 본래의 매트릭스
에서 (
) 열을 제거함으로써 획득된다. 사후 프로세싱된 SINR 의 계산은 2003년 9월 23일 출원되고 발명의 명칭이 "선택 다이버시티로 프로세싱하는 연속 간섭 상쇄 수신기 (Successive Interference Cancellation Receiver Processing with Selection Diversity)" 인 공동 양도된 미국 특허출원에 더욱 상 세히 설명되어 있다.
레이트는 각각의 데이터 스트림에 대해 그 사후 프로세싱된 SINR 에 기초하여 선택된다. 데이터 패킷이 IR 송신과 함께 다양한 레이트로 송신될 수 있기 때문에 레이트 선택은 정확할 필요가 없다.
의 데이터 스트림에 대해 송신될
의 데이터 패킷의 사이즈는, 선택된 레이트가 주어지고, 모든 데이터 패킷이 동일한 개수의 사이클 (
) 에서 수신기에 의해 복구되는 것이 예상될 수 있도록 선택되는데, 여기서
는 사후 프로세싱된 SINR 의 보수적인 추정에 기초하여 결정될 수 있다. 각각의 데이터 패킷에 대한 송신은 그 패킷이 사이클
보다 우선하여 복구되면 조기 종료될 수 있으며, 그 패킷이 복구될 때까지 필요하다면 사이클
를 지나쳐서 확장될 수 있다.
도 6a 내지 6c 는 하나의 데이터 스트림에서의 데이터 패킷의 조기 종료에 대한 세 가지의 다른 송신 선택 사항을 가진 순차 SIC 송신 방식을 도시한다. 도 6a 내지 6c 에서, 두 개의 새로운 데이터 패킷 (패킷 1a 및 2a) 는 병렬 채널 1 및 2 (채널 1 및 2 )에서 각각 데이터 스트림 1 및 2 에 대해 사이클 1 에서 시작하여 송신된다. 데이터 스트림 1 에 대한 패킷 1a 가 사이클
의 이전인 사이클
에서 복구되면, 이 송신 방식의 목적은 양 데이터 스트림을 가능한 한 빨리 스펙트럼 효율 (spectral efficiency) 을 잃지 않고 동조 (synchronize) 시키는 것이다. 표 1 은 패킷 1a가 사이클
전에 복구된다면 이용할 수 있는 몇 가지 선택 사항을 보여 준다.
표 1
선택 사항 |
설명 |
1 |
도 6a 에 도시된 바와 같이, 채널 1 에서 어떤 것도 송신하지 않으며, 패킷 1a 가 복구된 후에 채널 2 에서 패킷 2a 를 위해 모든 송신 전력을 사용. 이는 사이클 전에 패킷 2a의 복구 가능성을 개선한다. |
2 |
도 6b 에 도시된 바와 같이, 채널 1 에서 새로운 '짧은' 데이터 패킷을 송신. 짧은 패킷은 의 길이를 갖는데, 여기서 이고 이다. 짧은 패킷에 대한 레이트는 사이클 에서 획득된 채널 추정에 기초하여 선택된다. |
3 |
도 6c 에 도시된 바와 같이, 채널 1 에서 새로운 '긴' 데이터 패킷을 송신. 긴 패킷은 의 길이를 갖는데, 여기서 이다. 이는, 긴 패킷이 복구될 것으로 예상되는 사이클인 사이클 까지 패킷 2a의 복구를 지연시킬 수 있다. |
표 1 에서,
및
(
와 유사) 은 사후 프로세싱된 SINR 의 보수적인 추정에 기초하여 짧은 그리고 긴 데이터 패킷이 복구될 것으로 예상되는 사이클의 개수를 나타낸다.
조기 종료와 만나게 되는 때는 언제든지 표 1 에 보여지는 세 가지 선택 사항 중 하나를 선택하기 위해 메트릭이 이용될 수 있다. 이 메트릭은 누적 처리량에 기초하여 정의될 수 있으며, 다음과 같이 정의될 수 있다.
여기서
는
사이클 후에 데이터 스트림
에 대해 사이클
에서 예견된 누적 처리량이다. 식 (10) 에서 부등식의 좌변은 채널 1 에서 송신 된 새로운 긴 패킷을 가진 채널 1 에 대한 누적 처리량 (
) 에서의 이득을 나타낸다. 식 (10) 에서 부등식의 우변은 채널 1 에서의 새로운 긴 패킷 송신 때문에 일어나는 채널 2 에 대한 누적 처리량 (
) 의 감소를 나타낸다.
항은 예견되는 바와 같이 패킷 2a 가 사이클
에서 복구된다면 채널 2 에서의 누적 처리량을 표시한다.
항은 채널 1 에서의 긴 패킷 송신 때문에 패킷 2a 에 대한 송신이 사이클
까지 확장된다면 채널 2 에 대한 누적 처리량을 표시한다. 이 두 항의 차이는 채널 2 에 대한 누적 처리량에서의 감소를 나타낸다. 채널 1 에 대한 누적 처리량에서의 이득이 채널 2 에 대한 누적 처리량에서의 감소보다 크다면 새로운 긴 패킷은 따라서 채널 1 에서 송신될 수 있다 (즉, 식 (10) 이 적용된다면 표 1 에서의 선택 사항 3 이 선택될 수 있다).
식 (10) 은 사이클
에서 패킷 1a 이 복구된 후에 패킷 2a 를 위해 총 송신 전력이 이용된다고 하더라도
의 사이클이 패킷 2a 를 복구하는 데 필요하다는 것을 가정한다. 이것은 더 높은 송신 전력이 사이클
후에 패킷 2a 를 위해 이용되는 경우에는 사이클
전의 패킷 2a 의 복구 가능성이 개선되기 때문에 비관적인 가정이다. 식 (10) 은 다음과 같이 변형될 수 있다.
여기서
는 사이클
이후에 패킷 2a 를 위해 이용되는 모든 송신 전력을 가지고 패킷 2a 를 복구하기 위해 필요할 것이라고 예견되는 사이클의 개수로서,
이다.
도 6a 는 조기 종료에 대한 널 (null) 의 송신을 지닌 IR 송신을 보여 준다 (표 1 에서의 선택 사항 1). 도 6a 에서, 두 개의 새로운 데이터 블록이 각각의 사이클 1 내지
에서 채널 1 및 2 에서의 패킷 1a 및 2a 에 대해 송신된다. 각각의 사이클에 대해, 수신기는 패킷 1a 에 대해 수신된 모든 데이터 심볼 블록에 기초하여 패킷 1a 복구를 시도하며, 패킷 2a 복구를 시도하지는 않는다 ("
"). 수신기는 각각의 사이클 1 내지
에서 패킷 1a 에 대한 디코딩 실패 ("
") 그리고 사이클
보다 이른 사이클
에서 디코딩 성공 ("
") 을 만난다. 그 다음 수신기는 패킷 1a 에 기인하는 간섭을 추정하고 상쇄하며, 패킷 2a 복구를 시도하고 패킷 2a 에 대한 디코딩 실패 ("
") 를 만난다.
선택 사항 1 에 대해, 송신기는 패킷 1a 가 복구된 후에 모든 송신 전력을 패킷 2a 를 위해 이용한다. 각각의 사이클
내지
에 대해, 패킷 2a 에 대해 수신된 모든 데이터 심볼 블록에 기초하여 수신기는 패킷 2a 복구를 시도하는데, 사이클 1 내지
사이에 수신된 블록은 패킷 1a 로부터의 간섭이 제거되고, 사이클
내지
사이에 수신된 블록은 더 높은 송신 전력을 갖 는다. 수신기는 각각의 사이클
내지
에서 패킷 2a에 대해 디코딩 실패 ("
") 그리고 사이클
에서 디코딩 성공 ("
") 을 만난다. 이 예에서, 사이클
이후로부터 패킷 2a 에 대해 이용되는 더 높은 송신 전력 때문에 패킷 2a 는 또한 조기, 즉 사이클
전에 복구된다. 그 후 두 개의 새로운 데이터 패킷 (패킷 1b 및 2b) 는 사이클
에서 시작하여 채널 1 및 2 에서 송신된다. 이들 패킷들에 대해 디코딩 프로세스가 반복된다.
도 6b 는 조기 종료에 대한 짧은 패킷 송신을 갖춘 IR 송신을 나타낸다 (표 1 에서의 선택 사항 2). 도 6a 에서, 두 개의 새로운 데이터 블록이 각각의 사이클 1 내지
에서 채널 1 및 2 에서의 패킷 1a 및 2a 에 대해 송신된다. 각각의 사이클에 대해, 수신기는 패킷 1a 복구를 시도하며, 패킷 2a 복구를 시도하지는 않는다. 수신기는 (사이클
보다 이른) 사이클
에서 패킷 1a 에 대한 디코딩 성공 ("
") 를 만나고, 패킷 1a 에 기인하는 간섭을 추정하고 상쇄하며, 패킷 2a 복구를 시도하고 패킷 2a 에 대한 디코딩 실패 ("
") 를 만난다. 그 후 길이
를 갖는 새로운 짧은 패킷 1b 는 사이클
에서 시작하여 채널 1 에서 송신된다. 각각의 사이클
내지
에 대해, 패킷 1b 에 대해 수신된 모든 데이터 심볼 블록에 기초하여 수신기는 패킷 1b 복구를 시도하고, 사이클
에서 디코딩 성공 ("
") 을 만난다. 이 예에서, 패킷 1b 는 또한 사이클
전에 복구된다. 그러나, 가장 짧은 길이의 패킷은 사이클
에 우선하여 채널 1 에서 완전히 송신될 수 없기 때문에, 예를 들어, 사이클
이후에는 채널 1 에서 어떠한 데이터도 송신되지 않는다. 송신기는 그 후 패킷 1b 가 복구된 이후에 패킷 2a 를 위해 모든 송신 전력을 이용한다.
각각의 사이클
부터
까지에 대해, 패킷 2a 에 대해 수신된 모든 데이터 심볼 블록에 기초하여 수신기는 패킷 2a 복구를 시도하는데, 사이클 1 내지
사이에 수신된 블록은 패킷 1a 로부터의 간섭이 제거되고, 사이클
내지
사이에 수신된 블록은 패킷 1b 로부터의 간섭이 제거되며, 사이클
이후에 수신된 블록은 더 높은 송신 전력을 갖는다. 수신기는 이 예에서 사이클
이전에 있는 사이클
에서 패킷 2a 에 대한 디코딩 성공 ("
") 을 만난다. 그 후 두 개의 새로운 데이터 패킷 (패킷 1b 및 2b) 는 사이클
에서 시작하여 채널 1 및 2 에서 송신된다.
도 6c 는 조기 종료에 대한 긴 패킷 송신을 갖춘 IR 송신을 나타낸다 (표 1 에서의 선택 사항 3). 도 6c 에서, 두 개의 새로운 데이터 블록이 각각의 사이 클 1 내지
에서 채널 1 및 2 에서의 패킷 1a 및 2a 에 대해 송신된다. 사이클
에서 패킷 1a 에 대한 디코딩 성공("
") 과 만나자마자,
의 길이를 갖는 새로운 긴 패킷 1b 가 사이클
에서 시작하여 채널 1 에서 송신된다. 각각의 사이클
부터
까지에 대해, 수신기는 패킷 1b 에 대해 수신된 모든 데이터 심볼 블록에 기초하여 패킷 1b 복구를 시도하며, 사이클
이후의 사이클
에서 디코딩 성공 ("
") 을 만난다.
사이클
에서, 수신기는 패킷 2a 에 대해 수신된 모든 데이터 심볼 블록에 기초하여 패킷 2a 복구를 시도하는데, 패킷 1a로부터의 간섭은 제거되고, 디코딩 실패 ("
") 를 만난다. 사이클
에서, 수신기는 패킷 2a 에 대해 수신된 모든 데이터 심볼 블록에 기초하여 패킷 2a 복구를 시도하는데, 사이클 1 내지
사이에 수신된 블록은 패킷 1a 로부터의 간섭이 제거되고, 사이클
내지
사이에 수신된 블록은 패킷 1b 로부터의 간섭이 제거된다. 수신기는 사이클
에서 패킷 2a 에 대한 디코딩 성공 ("
") 을 만난다. 그 후 두 개의 새로운 데이터 패킷이 사이클
에서 시작하여 채널 1 및 2 에서 송신된다.
채널 1 에서의 새로운 긴 패킷 1b 의 송신은 실제적인 레이트 및 채널 2 에 대해 획득된 PER 에 영향을 미칠 수 있다. 위에 언급된 바와 같이,
는 채널 1 로부터 패킷으로부터의 간섭은 상쇄됨과 함께 채널 2 에서의 패킷 2a 복구에 대한 그리고 타겟 PER 에 대한 예견된 사이클의 개수이다. 채널 1 에서의 긴 패킷 1b 가 사이클
보다 나중에 있는 사이클
에서 복구되면, (1) 채널 2 에 대해 획득된 레이트는
로부터
까지 감소하고 (2) 더 많은 리던던시가 패킷 2a 에 대해 송신되었기 때문에 패킷 2a 에 대한 PER 은 타겟 PER 보다 더 낮을 것이다. 어떤 미리 정해진 사이클의 개수 (
) 이후에 패킷 2a 에 대한 송신을 종료함에 의해 그리고 패킷 1b 를 위해 모든 송신 전력을 사용함에 의해 개선된 성능이 획득될 수 있다.
도 7 은 패킷 1b 에 대한 PER 그래프 (710) 및 패킷 2a 에 대한 PER 그래프 (712) 대 패킷 2a에 대한 송신 사이클의 개수 (
) 를 나타낸다. 타겟 PER 은, 지점 720 에 의해 표시되는 바와 같이, 그것이
사이클 (즉,
) 에 대해 송신되면 패킷 2a 에 대해 획득된다. 그래프 (712) 에 의해 보여지는 바와 같이, 패킷 2a 에 대한 PER 이 타겟 PER 이하로 점진적으로 감소하면 패킷 2a 는
사이클을 지나 더 길게 송신된다. 타겟 PER 은, 지점 722 에 의해 표시되는 바와 같이, 그것이 사이클
에서 나타나는
사이클에 대 해 송신되면 패킷 1b 에 대해 획득된다. 이것은 패킷 2a 가 이 전체의 시간 동안 송신됨을 가정한다. 그래프 (710) 에서 보여지는 바와 같이, 패킷 1b 에 대한 PER 이 타겟 PER 이하로 점진적으로 감소하면 패킷 2a는 더 조기에 종료되고 모든 송신 전력은 패킷 1b 를 위해 이용된다. 패킷 1b 및 2a 에 대한 PER 은 사이클
에서 교차한다. 패킷 2a 에 대한 송신이 사이클
에서 종료되면, 패킷 1b 및 2a 에 대해 동일한 신뢰성이 획득될 수 있으며, 사이클
전의 패킷 1b 복구의 가능성은 또한 개선된다.
다르게는, 사이클
에서 패킷 2a 의 송신을 종료하는 대신에, 유사한 결과를 획득하기 위하여 다른 송신 전력이 패킷 1b 및 2a 를 위해 이용될 수 있다. 예를 들어, 패킷 1b 의 지속 중에 (즉, 사이클
로부터
까지) 패킷 1b 에 대한 더 많은 송신 전력 및 패킷 2a에 대한 더 적은 송신 전력의 이용에 기초하여
이 선택될 수 있다. 또 다른 예에서, 패킷 1b 에 대한 송신 전력은 점진적으로 증가할 수 있으며, 패킷 2a에 대한 송신 전력은 사이클
이후로 점진적으로 감소할 수 있다. 다른 데이터 스트림을 위해 위에 설명된 세 번째 또는 네 번째 송신 방식을 이용하여 다른 송신 전력이 이용될 수 있다.
표 2 는 과거 사이클
을 연장할 수 있는 긴 패킷의 송신과 함께 사용 가능한 일부 선택 사항을 도시한다.
표 2
선택 사항 |
설명 |
A |
패킷 2a 전에 패킷 1b 가 복구되는 경우, 표 1 에 나타난 옵션중 임의의 하나가 선택될 수 있다. |
B |
소정 수의 사이클 (예를 들어, ) 후에 패킷 2a 의 송신을 종료하고, 패킷 1b 가 복구되기를 기다리며, 그 후 패킷 1a 및 1b 가 상쇄된 패킷 2a 의 복구를 시도한다. |
도 8 은 순차 SIC 송신 방식을 위해 송신기 및 수신기에 의해 유지될 수 있는 예시적인 상태도 (800) 를 도시한다. 상태도 (800) 는 싱크 상태 (810), 신규 패킷 송신 상태 (820), 및 널 송신 상태 (830) 을 포함한다. 싱크 상태 (810) 에서, 2 개의 새로운 데이터 패킷 (패킷 1a 및 2a) 가 동일한 사이클에서 시작하여 채널 1 및 2 상에서 송신된다. 레이트 선택이 어느 정도 정확한 경우, 이들 두 패킷은
의 사이클에서 복구될 것으로 예상된다.
채널 1 상의 패킷 1a 가
의 사이클 전에 복구되고 새로운 짧거나 긴 패킷 (패킷 1b) 이 채널 1 상에서 송신되는 경우, 상태도는 싱크 상태 (810) 에서 신규 패킷 송신 상태 (820) 로 전이한다. 상태 (820) 에서 수신기는 채널 1 상에서 패킷 1b 의 복구를 시도하며, 패킷 1b 가 복구되고 패킷 1b 로부터의 간섭이 상쇄될 때까지 채널 2 상에서의 패킷 2a의 복구를 시도하지 않는다. 패킷 1b 가 복구되지 않거나, 패킷 1b 가 복구되고 새로운 데이터 패킷 (패킷 1c) 이 채널 1 상에서 송신되는 경우, 상태도는 상태 (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 송신 방식에서, 가장 복구될 확률이 높은 데이터 스트림이 먼저 보복구되도록 데이터 스트림에 걸친 순환에 의하여
의 데이터 스트림이 복구된다. 초기에,
의 데이터 스트림에 대한
의 레이트가 선택되고,
개의 병렬 채널 상에서
의 데이터 패킷이 송신된다. 레이트 선택은 부정확할 수 있으며, 패킷 사이즈는 모든 데이터 패킷이
의 사이클에서 복구될 것이 예상되도록 선택될 수 있다. 데이터 스트림에 대해 데이터 패킷이 복구될 때마다, 그 데이터 스트림에 대해 새로운 패킷이 송신되고 수신기는 후술하는 바와 같이 그 다음 데이터 스트림에 대한 데이터 패킷의 디코딩을 시도한다.
도 9a 는 순환 SIC 송신 방식을 이용하는 IR 송신을 도시한다. 도 9a 에 서, 2 개의 새로운 데이터 블록이 채널 1 및 2 상에서 패킷 1a 및 2a 에 대하여 사이클 1 에서 시작하여 송신된다. 패킷 1a 는 먼저 복구되도록 지정되고, 패킷 2a 로부터의 간섭에 기인한 낮은 레이트에 기초하여 프로세싱된다. 패킷 2a 는 나중에 복구되도록 지정되고, 패킷 1a 로부터의 간섭의 상쇄에 의하여 달성될 수 있는 더 높은 레이트에 기초하여 프로세싱된다. 패킷 1a 및 2a 는
의 길이를 갖는다 (즉,
의 사이클에서 복구될 것으로 예상된다). 각각의 사이클에 대하여, 수신기는 패킷 1a 를 이 패킷에 대해 수신된 모든 데이터 심볼 블록에 기초하여 복구하는 것을 시도하며, 패킷 2a ("
") 의 복구는 시도하지 않는다. 수신기는 사이클 1 내지
각각에서 패킷 1a 에 대한 디코딩 실패 ("
") 를 만나고, 사이클
에서 디코딩 성공 ("
") 을 만난다. 그 후, 새로운 패킷 1b 는 사이클
에서 시작하여 채널 1 상에서 송신된다. 패킷 1b 는
의 길이를 갖고, 채널 2 로부터의 간섭이 상쇄될 것이라는 가정 하에 사이클
에서 추정되는 더 높은 레이트에 기초하여 프로세싱된다.
사이클
에서, 수신기는 패킷 1a 에 의한 간섭을 추정 및 상쇄하고, 패킷 2a 를 복구하며, 패킷 2a 에 대한 디코딩 실패 ("
") 를 만난다. 각각의 사이클
내지
에 대해, 수신기는 패킷 2a 를 이 패킷에 대해 수신된 모든 데이터 심볼 블록에 기초하여 복구하는 것을 시도하며, 사이클 1 내지
에서 수신된 블록은 패킷 1a 로부터의 간섭이 삭제되도록, 사이클
내지
에서 수신된 블록은 패킷 1b 로부터의 간섭을 갖는다. 수신기는 사이클
내지
각각에서 패킷 2a 에 대하여 디코딩 실패 ("
") 를 만나고, 사이클
에서 디코딩 성공 ("
") 을 만난다. 그 후 새로운 패킷이 사이클
에서 시작하는 채널 2 상에서 송신된다. 패킷 2b 는
의 길이를 갖고 더 높은 레이트에 기초하여 프로세싱되며, 이는 사이클
에서, 그리고 채널 1 로부터의 간섭이 상쇄 (cancel) 된다는 가정 하에서 추정된다.
사이클
에서, 수신기는 패킷 2a 에 의한 간섭을 추정 및 상쇄하고, 패킷 1b 의 복구를 시도하며, 패킷 1b 에 대한 디코딩 실패 ("
") 를 만난다. 각각의 사이클
내지
동안, 수신기는 이 패킷에 대해 수신된 모든 데이터 심볼 블록에 기초하여 패킷 1b 의 복구를 시도하며, 사이클
내지
에서 수신된 블록은 패킷 2a 로부터의 간섭이 삭제되도록 하고, 사이클
내지
에서 수신된 블록은 패킷 2b 로부터의 간섭을 갖는다. 수신기는 사이클
에서 패킷 1b 에 대해 디코딩 성공 ("
") 을 만난다. 수신기는 채널 1 및 2 상의 후속 패킷도 유사한 방식으로 복구하려 한다.
도 9b 는 순환 SIC (cycled SIC) 송신 방식에 대한 데이터 스트림 복구 순서 를 도시한다. 수신기는 사이클 1 내지
에서 채널 1 상의 패킷 1a 의 복구를 시도한다. 사이클
에서 패킷 1a 를 복구하는 때에, 수신기는 사이클
내지
에서 채널 2 상의 패킷 2a 의 복구를 시도한다. 사이클
에서 패킷 2a 를 복구하는 때에, 수신기는 사이클
내지
에서 채널 1 상의 패킷 1b 의 복구를 시도한다. 수신기는 채널 1 및 2 상의 후속 패킷도 유사한 방식으로 복구하려 한다.
일반적으로 수신기는
의 병렬 채널 상에서 전송된 패킷을 그들 패킷의 복구 가능성에 기초하여 복구하려 할 수 있다. 병렬 채널 상에서 전송된 패킷의 복구 가능성은, (1) 병렬 채널에 대해 선형 검출로 이루어지는 후 프로세싱 SINR 및 (2) 병렬 채널에 대해 이미 수신된 데이터 심볼 블록의 수 등의 다양한 요인에 의존한다. 각각의 사이클에서, 수신기는 그 사이클에서 복구될 가능성이 가장 높은 병력 채널 상에서 전송된 패킷만을 복구하려 할 수 있다. 다르게는, 수신기는 모든
의 병렬 채널 상의 패킷을, 한번에 하나씩, 가장 복구될 가능성이 높은 병렬 채널에서 시작하여 가장 복구될 가능성이 낮은 병렬 채널에서 마치도록 복구할 수 있다. 다수의 병렬 채널이 동일한 복구 가능성을 갖는 경우, 수신기는 복구를 위해 (예를 들어, 어떤 시간에서, 임의로) 한 병렬 채널을 선택할 수 있다.
(1)
의 병렬 채널이 선형 검출로 유사한 사후 프로세싱 SINR 을 달성하 고 (2) 이들 채널에 대한 패킷이 동일한 길이를 갖는 경우, 수신기는 이들 채널을 순환할 수 있다. 예를 들어,
= 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 송신은 채널 상태가 빨리 변화하는 경우에도 양호한 성능을 제공할 수 있다. 뿐만 아니라, (1) 송신기와 수신기가 현재 무엇이 송신중인지에 대한 상태 정보를 유지할 필요가 없으며 (2) 순차 SIC (ordered SIC) 송신 방식에서와 같이 패킷 사이즈가 특정 시간 윈도우에 맞도록 변화될 필요가 없기 때문에, 순환 SIC 송신 방식의 구현은 상대적으로 간단하다.
순차 및 순환 SIC 송신 방식은 두 가지 예시적인 방식이다. 다른 송신 방식도 상호 의존 병렬 채널을 위해 구현될 수 있다. 예를 들어, "혼성 (hybrid)" SIC 송신 방식에서, 수신기는
의 데이터 스트림에 대해 최근에 송신된 데이터 패킷 각각을 그 패킷에 대해 수신된 모든 데이트 심볼에 기초하여 복구하려 시도한다 (즉, 수신기는 어떤 패킷의 디코딩도 건너뛰지 않는다). 각각의 패킷에 대한 각각의 데이터 심볼 블록은 (1) 상쇄된 수신 패킷으로부터의 간섭 및 (2) 아직 복구되지 않은 패킷으로부터의 간섭을 가질 것이다. 그러므로, 그 패킷에 대해 간섭 상쇄가 존재한다면 그 범위에 따라, 각각의 데이터 패킷에 대한 SINR 은 전체 패킷에 걸쳐 변화할 수 있다. 혼성 SIC 송신 방식은 순차 및 순환 SIC 송신 방식의 조합에서 사용될 수도 있다. 예를 들어, 수신기는 (예를 들어 도 6b 및 6c 의 사이클
후의 각각의 사이클에 대해) 채널 1 상의 첫번째 데이터가 수신되고 상쇄된 후에, 채널 2 상의 데이터 패킷을 복구하려 시도할 수 있다.
3.
송신기
도 10 은 수신기 (110) 내의 TX 데이터 프로세서 (120) 의 일 실시형태를 도시한다. TX 데이터 프로세서 (120) 는
의 데이터 스트림에 대한
의 TX 채널데이터 프로세서 (1010a 내지 1010n) 를 포함한다. 각각의 TX 채널 데이터 프로세서 (1010) 는 각각의 데이터 스트림을 수신하고, 그 스트림에 대해 선택된 레이트에 기초하여 데이터 스트림 내의 데이터 패킷 각각을 프로세싱하며, 그 패킷에 대한 한 세트의 데이터 심볼 블록을 제공한다. 도 11 은 하나의 데이터 프로세서 (1010) 에 의한 하나의 데이터 패킷의 프로세싱을 도시한다.
각각의 TX 채널 데이터 프로세서 (1010) 내에서, 순환 리던던시 체크 (cyclic redundancy check; CRC) 생성기 (1012) 는 데이터 프로세서 (1010) 에 의해 프로세싱되고 있는 데이터 스트림 상의 데이터 패킷을 수신하고, 그 데이터 패킷에 대해 CRC 값을 생성하며, 포맷된 패킷을 형성하도록 데이터 패킷의 끝에 CRC 값을 부가한다. CRC 값은 수신기에 의해 패킷이 정확하게 디코딩되었는지 아니면 오류 있게 디코딩되었는지를 확인하는데 사용된다. 기타 오류 검출 코드가 CRC 대신에 사용될 수도 있다. 그 후, 순방향 오류 정정 (forward link error corection; FEC) 인코더 (1014) 는 어떤 코딩 방식 또는 선택된 레이트에 의해 표 시되는 코드 레이트에 따라 포맷된 패킷을 인코딩하고, 코딩된 패킷, 즉 "코드워드 (codeword)" 를 제공한다. 인코딩은 패킷 송신의 신뢰도를 향상시킨다. FEC 인코드 (1014) 는 블록 코드, 컨벌루션 코드, 터보 코드, 기타 다른 코드, 또는 이들의 조합을 구현할 수 있다. 도 11 에서, 코딩된 패킷은 포맷된 패킷에 대한 시스템적 (systematic) 비트를 갖는 제 1 부분, 터보 인코더의 제 1 구성 인코더로부터의 패리티 (parity) 비트를 갖는 제 2 부분, 및 터보 인코더의 제 2 구성 인코더로부터의 패리티 비트를 갖는 제 3 부분을 포함한다.
파티셔닝 유닛 (partitioning unit; 1016) 은 코딩된 패킷을 수신하여
의 코딩된 서브패킷으로 파티셔닝하며, 여기서
는 선택된 레이트에 의존하고 제어기로부터의 파티셔닝 제어에 의해 표시될 수 있다. 첫 번째 코딩된 서브패킷은 통상 모든 시스템적 비트 및 0 이상의 패리티 비트를 포함한다. 이는 수신기가 바람직한 채널 조건 하에서 첫 번째 코딩된 서브패킷만으로 데이터 패킷을 복구할 수 있도록 한다. 다른
-1 의 코딩된 서브패킷은 나머지 패리티 비트를 포함하고, 각각의 서브패킷은 통상 전체 데이터 패킷에 걸쳐 취해진 패리티 비트를 포함한다.
채널 인터리버 (interleaver; 1020) 는 파티셔닝 유닛 (1016) 으로부터의
의 코딩된 서브패킷을 수신하는
의 블록 인터리버 (1020a 내지 1022nb) 를 포함한다. 각각의 블록 인터리버 (1022) 는 그 서브패킷에 대한 코드 비트를 인터리빙 방식에 따라 인터리빙 (즉, 재정렬) 하며, 인터리빙된 서브패킷을 제공한 다. 인터리빙은 코드 비트에 대한 시간, 주파수, 및/또는 공간 (spatial) 다이버시티를 제공한다. 멀티플렉서 (1024) 는
의 블록 인터리버 (1022a 내지 1022nb) 에 결합되고, 제어기 (180) 으로부터의 IR 송신 제어에 의해 지시된 경우
의 인터리빙된 서브패킷을 한번에 하나씩 제공한다. 다중화기 (1024) 는 먼저 블록 인터리버 (1022a) 로부터의 인터리빙된 서브패킷을 제공하고, 그 후 블록 인터리버 (1022b) 로부터의 인터리빙된 서브패킷을 다음으로 제공하며, 계속하여 인터리버 (1022nb) 로부터의 인터리빙된 서브패킷을 마지막으로 제공한다. 멀티플렉서 (1024) 는 데이터 패킷에 대해 NAK 가 수신된 경우 다음 인터리빙된 서브패킷을 제공한다. 모든
의 블록 인터리버 (1022a 내지 1022nb) ACK 가 수신될 때마다 청소 (purge) 될 수 있다.
심볼 매핑 유닛 (1026) 은 채널 인터리버 (1020) 로부터의 인터리빙된 서브패킷을 수신하고 각각의 서브패킷 내의 인터리빙된 데이터를 변조 심볼로 매핑한다. 심볼 매핑은 선택된 레이트에 의해 표시된 변조 방식에 따라 수행된다. 심볼 매핑은
인 경우 B 비트 2 진 값을 형성하도록 B 개 비트의 세트를 그루핑 (grouping) 하고, (2) 각각의 B 비트 이진 값을 2
B 개의 점을 갖는 신호 배열 (constellation) 내의 한 점으로 매핑함으로써 이루어질 수 있다. 이 신호 배열은 선택된 변조 방식에 대응하며, 변조 방식은 BPSK, QPSK, 2
B-PSK, 2
B-QAM 등일 수 있다. 여기서, "데이터 심볼" 은 데이터에 대한 변조 심볼이고, "파일럿 심 볼" 은 파일럿에 대한 변조 심볼이다. 심볼 매핑 유닛 (1026) 은 도 11 에 도시된 바와 같이, 각각의 코딩된 서브패킷에 대해 데이터 심볼의 블록을 제공한다.
각각의 데이터 패킷에 대해, TX 채널 데이터 프로세서 (1010) 는
의 데이터 심볼 블록을 제공하며, 이는 전체적으로
의 데이터 심볼을 포함하고
라 표시될 수 있다. 각각의 데이터 심볼
(여기서
) 는 B 개의 코드 비트를 다음과 같이 매핑함으로써 획득된다 :
여기서
.
도 12 는 TX 공간 (spatial) 프로세서 (130) 및 송신기 유닛 (132) 의 일 실시형태의 블록도이다. TX 공간 프로세서 (130) 는 TX 데이터 프로세서 (120) 로부터
의 데이터 심볼 스트림을 수신하고 프로세싱되며,
의 송신 심볼 스트림을 송신기 유닛 (132) 에게 제공한다. TX 공간 프로세서 (130) 에 의한 프로세싱은 사용을 위해 선택된 특정 송신 방식에 의존한다.
TX 공간 프로세서 (130) 내에서, 매트릭스 승산 유닛 (1220) 은 각각의 슬롯에 대해
개까지의 데이터 심볼 블록 (데이터 벡터
로 표시) 을 수신한다. 유닛 (1220) 은 (1) 제 2 송신 방식에 대한 단위 매트릭스 (unitary matrix)
및 (2) 제 3 송신 방식에 대한 송신 기저 매트릭스 (transmit basis matrix)
로 데이터 벡터
의 매트릭스 승산을 수행한다. 다른 송신 방식에 대해 유닛 (1220) 은 단순히 데이터 벡터
를 통과시킨다. 멀티플렉서/디멀티플렉서 (MUX/DEMUX; 1222) 는 유닛 (1220) 으로부터 심볼을 수신하고 이들 심볼을 적당한 송신 안테나 및 서브밴드 (OFDM 이 사용되는 경우) 으로 제공한다. 멀티플렉서/디멀티플렉서 (1222) 는 파일럿 심볼도 (예를 들어 시분할 다중화 (TDM) 방식으로) 다중화하고, 각 슬롯의
의 송신 안테나에 대해
의 송신 심볼 시퀀스를 제공한다. 각각의 송신 심볼 시퀀스는 한 슬롯의 한 송신 안테나로부터의 송신을 위해 지정된다.
송신기 유닛 (132) 은
의 OFDM 변조기 (1230a 내지 1230t) 및
의 송신 안테나에 대한
의 TX RF 유닛 (1236a 내지 1236t) 을 포함한다. 싱글 캐리어 MIMO 시스템에 대해, OFDM 변조기 (1230) 는 불필요하고, TX 공간 프로세서 (130) 가 TX RF 유닛 (1236a 내지 1236t) 에게 직접
의 송신 심볼 시퀀스를 제공한다. MIMO-OFDM 시스템에 대해, TX 공간 프로세서 (130) 는 OFDM 변조기 (1230a 내지1230t) 로
의 송신 심볼 시퀀스를 제공한다. 각각의 OFDM 변조기 (1230) 는 고속 푸리에 역변환 (inverted fast Fouorier transform; IFFT) 유닛 (1232) 및 사이클릭 프리픽스 (prefix) 생성기 (1234) 를 포함한다. 각각의 OFDM 변조기 (1230) 는 TX 공간 프로세서 (130) 으로부터의 각각의 송신 심볼 시퀀스를 수신하고,
의 송신 심볼 및
의 서브밴드에 대한 영 신호 값의 세트 각각을 그루핑 한다. (데이터 송신에 이용되지 않는 서브밴드는 영 (0) 으로 채워진다.) IFFT 유닛 (1232) 은
-포인트 고속 푸리에 역변환을 이용하여
의 송신 심볼 및 영의 세트 각각을 시간 도메인으로 변환하고,
의 칩을 포함하는 대응 변환 심볼을 제공한다. 사이클릭 프리픽스 생성기 (1234) 는 각각의 변환 심볼의 일불르 반복하여
의 칩을 포함하는 대응 OFDM 심볼을 획득된다. 반복된 부분은 사이클릭 프리픽스라 불리며,
는 반복되는 칩의 수이다. 사이클릭 프리픽스는, 주파수 선택적인 페이딩 (즉, 평탄하지 않은 주파수 응답) 에 의해 유발되는 다중 경로 지연 분산 (multipath delay spread) 의 존재 하에서 OFDM 심볼이 그의 직교 특성을 유지하도록 보장한다. 사이클릭 프리픽스 생성기 (1234) 는 송신 심볼의 시퀀스에 대해 OFDM 심볼의 시퀀스를 제공한다.
TX RF 유닛 (1236a 내지 1236t) 은
의 OFDM/송신 심볼 시퀀스를 수신하고 조정하여
의 변조된 신호를 생성하며, 변조된 신호는 각각
의 송신 안테나 (1240a 내지 1240t) 로부터 송신된다.
4.
수신기
도 13 은 수신기 (150a) 의 블록도를 도시하며, 이는 도 1 의 수신기 (150) 의 일 실시형태이다. 수신기 (150a) 에서,
의 수신 안테나 (1310a 내지 1310r) 이 송신기 (110) 에 의해 송신된
의 변조된 신호를 수신하며, 수신기 유닛 (154) 내의
의 RX RF 유닛 (1312a 내지 1312r) 각각에
의 수신된 신호를 제공한다. 각각의 RX RF 유닛 (1312) 은 그 수신된 신호를 조정 및 디지 털화하고, 심볼/칩의 스트림을 제공한다. 싱글 캐리어 MIMO 시스템에서, OFDM 복조기 (1314a 내지 1314r) 는 필요 없으며, 각각의 RX RF 유닛 (1312) 는 각각의 디멀티플렉서 (1316) 에게 직접 심볼의 스트림을 제공한다. MIMO-OFDM 시스템에서, 각각의 RX RF 유닛 (1312) 는 OFDM 복조기 (1314) 각각에 칩의 스트림을 제공한다. 각각의 OFDM 복조기 (1314) 는 (1) 수신된 변환 심볼을 획득하기 위해 각각의 수신된 OFDM 심볼에서 사이클릭 프리픽스를 제거하고 (2)
의 서브밴드에 대해
의 수신된 심볼을 획득하기 위해 각각의 수신된 변환 심볼을 고속 푸리에 변환 (FFT) 으로 주파수 도메인으로 변환함으로써, 그 칩의 스트림에 대해 OFDM 복조를 수행한다. 양 시스템 모두에 있어서, 디멀티플렉서 (1316a 내지 1316r) 은 RX RF 유닛 (1312) 또는 OFDM 복조기 (1314) 로부터
의 심볼 스트림을 수신하고, 각각의 슬롯에 대해
의 수신된 심볼의 시퀀스를 RX 공간 프로세서 (160a) 에 제공하며, 수신된 파일럿 심볼을 채널 추정기 (172) 에 제공한다.
RX 공간 프로세서 (160a) 는 검출기 (1320) 및 멀티플렉서/디멀티플렉서 (1322) 를 포함한다. 검출기 (1320) 는
의 수신된 심볼 시퀀스에 대해 공간 또는 공간-시간 프로세싱 (또는 "검출") 을 수행하여 각 슬롯에 대해
의 검출된 심볼 시퀀스를 획득한다. 각각의 검출된 심볼은 송신기에 의해 송신된 데이터 심볼의 추정이다. 검출기 (1320) 는 식 (2) 에서 나타난 MRC 검출기, 식 (3) 에서 나타난 MMSE 검출기, 식 (4) 에서 나타난 선형 영-강제 검출기, MMSE 선형 이퀄라이저, 결정 피드백 이퀄라이저 (dicision feedback equalizer), 또는 기 타 검출기/이퀄라이저를 구현할 수 있다. 검출은, 데이터 심볼이 송신기에서 송신 기저 매트릭스
으로 미리 곱해졌는지 여부에 따라, 채널 응답 매트릭스
또는 유효 채널 응답 매트릭스
의 추정의 기초하여 수행될 수 있다. MIMO-PFDM 시스템에서, 수신기는 데이터 송신에 사용되는 각각의 서브밴드에 대해 별도로 검출을 수행한다.
각각의 슬롯에 대해, 검출기 (1320) 는
의
의 엔트리에 대응하는
의 검출된 심볼 시퀀스를 제공한다. 멀티플렉서/디멀티플렉서 (1322) 는
의 검출된 심볼 시퀀스를 수신하고, 검출된 심볼을
의 데이터 스트림에 대한
의 검출된 심볼 블록에게 제공한다. 각각의 검출된 심볼 블록은 송신기에 의해 송신된 데이터 심볼 블록의 추정이다.
채널 추정기 (172) 는 MIMO 채널에 대한 채널 응답 매트릭스
및 (예를 들어 수신된 파일럿 심볼에 기초하여) 수신기에서의 잡음 플로어 (floor) 를 추정하고, 채널추정을 제어기 (180) 에 제공한다. 제어기 (180) 내에서, 매트릭스 계산 유닛 (176) 은 상술한 바와 같이 검출기 응답
(이는
,
,
또는
일 수 있다) 을 채널 응답 매트릭스에 기초하여 추정하며, 검출기 응답을 검출기 (1320) 에 제공한다. 검출기 (1320) 는 수신된 심볼의 벡터
를 검출기 응답
로 미리 곱하여, 검출된 심볼의 벡터
를 획득한다. (도 13 에 도시된 실시형태에 있어 제어기 (180) 로 구현될 수 있는) 레이트 선택기 (174) 는 채널 추정에 기초하여 레이트 선택을 수행한다. 룩 업 테이블 (LUT;184) 은 MIMO 시스템에 의해 지원되는 레이트의 세트 및 각각의 레이트에 대한 파라미터 값의 세트 (예를 들어, 각 레이트에 대한 데이터 레이트, 패킷 사이즈, 코딩 방식 또는 코드 레이트, 변조 방식 등) 를 저장한다. 레이트 선택기 (174) 는 레이트 선택에 사용되는 정보를 위하여 LUT (184) 에 액세스한다.
도 14 는 RX 데이터 프로세서 (170a) 의 블록도를 도시하며, 이는 도 1 및 13 의 RX 데이터 프로세서 (170) 의 일 실시형태이다. RX 데이터 프로세서 (170a) 는
의 데이터 스트림에 대한
의 RX 채널데이터 프로세서 (1410a 내지 1410n) 를 포함한다. 각각의 RX 채널 데이터 프로세서 (1410) 는 각각의 검출된 심볼 스트림을 수신 및 프로세싱하고, 디코딩된 데이터 스트림을 제공한다.
각각의 RX 채널데이터 프로세서 (1410) 내에서, 심볼 디매핑 (demapping) 유닛 (1430) 은 RX 공간 프로세서 (160a) 로부터 검출된 심볼 블록을 한번에 한 블록씩 수신한다. 각각의 검출된 심볼 블록에 대하여, 심볼 디매핑 유닛 (1430) 은 그 블록에 사용된 변조 방식 (제어기 (180) 로부터의 복조 제어에 의해 표시되는 바와 같은) 에 따라 검출된 심볼을 복조하고, 복조된 데이터 블록을 채널 디인터리버 (1440) 에 제공한다. 채널 디인터리버 (1440) 는 디멀티플렉서 (1442) 및
의 블록 디인터리버 (1444a 내지 1444nb) 를 포함한다. 새로운 데이터 패킷을 수신하기 전에, 블록 디인터리버 (1444a 내지 1444nb) 는 삭제부 (erasure) 로 초기화된다. 삭제부는 손실된 코드 비트 (즉, 아직 수신되지 않은 것) 를 대체하는 값이며, 디코딩 과정에서 적절한 가중 (weight) 이 주어진다. 멀티플렉서 (1442) 는 심볼 디매핑 유닛 (1430) 으로부터 복조된 데이터 블록을 수신하고 각각의 복조된 데이터 블록을 적당한 블록 디인터리버 (1444) 에 제공한다. 각각의 블록 디인터리버 (1444) 는 그 블록 내의 복조된 데이터를 그 블록에 대한 송신기에서 수행되는 인터리빙에 상보적인 방식으로 디인터리빙한다.
독립 병렬 채널에 대해, 병렬 채널 상의 데이터 패킷에 대해 송신기로부터 새로운 데이터 심볼 블록이 수신될 때마다, 그 패킷에 대해 수힌된 모든 블록에 대해 새로 디코딩이 수행될 수 있다. 재구성 (re-assembly) 유닛 (1448) 은 후속 디코딩을 위해 디인터리빙된 데이터의 패킷을 구성한다. 디인터리빙된 데이터 패킷은 (1) 디코딩될 현재 패킷에 대해 수신된 모든 데이터 심볼 블록에 대한 디인터리빙된 데이터 블록 및 (2) 현채 패킷에 대해 수신되지 않은 데이터 심볼 블록을 위한 삭제부를 포함한다. 재구성 유닛 (1448) 은 제어기 (180) 으로부터의 재구성 제어에 의해 표시되는 대로, 수신기에 의해 수행된 파티셔닝 (partitioning) 에 상보적인 방식으로 재구성을 수행한다. FEC 디코더 (1450) 는 제어기 (180) 으로부터의 디코딩 제어에 의해 표시되는 대로, 송신기에서 수행된 FEC 인코딩에 상보적인 방식으로 디인터리빙된 데이터 패킷을 디코딩한다. 예를 들어, 터보 또는 컨벌루션 코딩이 송신기에서 수행되는 경우, 각각 터보 디코더 또는 비터비 (Viterbi) 디코더가 FEC 디코더 (1450) 에 대해 사용될 수 있다. FEC 디코더 (1450) 는 현재 패킷에 대해 디코딩된 패킷을 제공한다. CRC 확인기 (1452) 는 패킷이 정확하게 또는 오류 있게 디코딩됐는지 여부를 확인하고 디코딩된 패킷의 상태를 제공한다.
도 15 는 수신기 (150b) 의 블록도를 도시하며, 이는 SCI 기법을 구현하고 도 1 의 수신기 (150) 의 다른 실시형태이다. 수신기 (150b) 는 전체적으로
의 연속적인 (즉, 케스캐이드 된) 수신기 프로세싱 단 (stage) 를 구현하는 RX 공간 프로세서 (160b) 와 RX 데이터 프로세서 (170b) 를 포함한다. 1 내지
단 각각은 검출기 (1510), 간섭 상쇄기 (interferance canceller; 1520), RX 채널데이터 프로세서 (1530), 및 TX 채널데이터 프로세서 (1540) 를 포함한다. 마지막 단
는 검출기 (1510n) 및 RX 채널 데이터 프로세서 (1530n) 만을 포함한다.
1 단에서, 검출기 (1510a) 는 각각의 슬롯에 대한
의 수신된 심볼 시퀀스에 대해 검출을 수행하고, 1 단에 의해 복구되고 있는 데이터 스트림 내의 데이터 패킷 (패킷
) 에 대한 검출된 심볼 블록을 제공한다. RX 채널데이터 퍼리기 (1530a) 는 패킷
에 대해 수신된 모든 검출 심볼 블록을 복조, 디인터리빙 및 디코딩한다. 패킷
가 정확하게 디코딩된 경우, TX 채널데이터 프로세서 (1540a) 는 패킷
를 인코딩, 인터리빙 및 변조하여 재변조된 심볼 시퀀스를 획득하고, 이는 패킷
에 대한 데이터 심볼의 추정이다. TX 채널데이터 프로세서 (1540a) 는 송신기에 의해 패킷
에 수행된 것과 동일한 프로세싱을 수행한다. 간섭 상쇄기 (1520a) 는 송신기 (110) 에 의해 패킷
에 대해 수행된 것과 동일한 방식으로 재변조된 심볼 시퀀스를 수신하고 공간 프로세싱하여
의 송신 심볼 시퀀스를 획득하며, 이는 패킷
에 대한 심볼 성분만을 포함한다. 간섭 상쇄기 (1520a) 는 또한 채널 응답 매트릭스로 송신 심볼 시퀀스를 프로세싱하여 패킷
에 의한 간섭 성분을 획득한다. 그러면, 간섭 성분은
의 수신된 심볼 시퀀스로부터 감산되어
의 변형된 심볼 시퀀스를 획득하며, 이는 2 단으로 제공된다.
2 내지
단의 각각은
의 수신된 심볼 시퀀스 대신에 이전 단으로부터의
의 변형된 심볼 시퀀스에 대해 1 단에서와 동일한 프로세싱을 수행한다.
단은
단으로부터의
의 변형된 심볼 시퀀스에 대해 검출 및 디코딩을 수행하며, 간섭 추정 및 상쇄는 수행하지 않는다.
검출기 (1510a 내지 1510n) 은 각각 MRC 검출기, MMSE 검출기, 선형 영 강제 검출기, MMSE 선형 이퀄라이저, 결정 피드백 이퀄라이저, 또는 기타 검출기/이퀄라이저를 구현할 수 있다. 각각의 RX 채널 데이터 프로세서 (1530) 는 도 14 에 도시된 바와 같이 구현될 수 있으며, 각각의 TX 채널 데이터 프로세서 (1540) 는 도 10 에 도시된 바와 같이 구현될 수 있다. 상술한 바와 같이, 수신기는 이전 단에 대한 데이터 패킷이 복구된 다음에만 후단에 대한 데이터 패킷의 복구를 시도할 수 있다. 그 후, 버퍼 (도 15 에는 미도시) 는 후단에 의한 프로세싱을 위해 준비될 때까지 각 단으로부터의 심볼을 저장하게 된다.
싱글 캐리어 MIMO 및 MIMO-OFDM 시스템 모두에 대하여, 수신기 및/또는 송신 기는 (SIC 가 이용되는지 여부에 따라)
의 병렬 채널에 대한 수신된 SINR 또는 후 프로세싱된 SINR 을 추정하고, 각각의 병렬 채널에 대해 데이터 송신을 위해 적당한 레이트를 선택할 수 있다. 레이트 선택은 다양한 방식으로 수행될 수 있다. 한 레이트 선택 방식에서, 각 병렬 채널에 대한 레이트는 AWGN 채널을 갖는 동등한 시스템에서 그 병렬 채널에 대해 계산된 평균 스펙트럼 효율을 지원하기 위하여 필요로 하는 SINR 에 기초하여 선택될 수 있다. 이러한 레이트 선택 방식은 같이 양수된 2002년 6월 20일 출원의 미국 특허 출원 제 10/176,567 호 "다중 채널 통신 시스템을 위한 레이트 제어 (Rate Control for Multi-Channel Communication Systems)" 에 상세히 설명된다. 다른 레이트 선택 방식에서, 각 병렬 채널에 대한 레이트는 그 병렬 채널에 대한 평균 사후 프로세싱 SINR (post-processed SINR) 및 SINR 오프셋에 기초하여 그 병렬 채널에 대해 계산된 동작 SINR (operating SINR) 에 기초하여 선택된다. 동작 SINR 이하의, (AWGN 채널에서) 요구되는 SINR 에 의한 가장 높은 레이트가 그 병렬 채널에 대해 선택된다. 이 레이트 선택 방식은 같이 양수된 2003년 3월 20일 출원의 미국 특허 출원 제 10/394,529 호 "다중 채널 통신 시스템에서의 데이터 송신을 위한 송신 모드 선택 (Transmission Mode Selection for Data Transmission in a Multi-Channel Communication System)" 에 자세히 설명된다.
여기 설명된 IR 송신 기법은 주파수 분할 이중화 (frequency division duplex; FDD) 시스템 및 시간 분할 이중화 (time division duplex; TDD) 시스템에서 구현될 수 있다. FDD 시스템에서, 순방향 MIMO 채널및 피드백 채널은 상이 한 주파수 대역을 이용하며 상이한 채널 조건을 관찰할 가능성이 높다. 이 경우, 수신기는, 도 1 내지 3 에 도시된 바와 같이,
의 병렬 채널을 추정하고, 병렬 채널에 대한 레이트를 선택하며, 선택된 레이트를 다시 전송 (send back) 할 수 있다. TDD 시스템에서, 순방향 MIMO 채널및 피드백 채널은 동일한 주파수 대역을 공유하고 유사한 채널 조건을 관찰할 가능성이 높다. 이 경우, 송신기는
의 병렬 채널을 수신기에 의해 전송된 파일럿에 기초하여 추정하고, 병렬 채널에 대한 레이트를 선택한다. 그러므로, 채널 추정 및 레이트 선택은 수신기, 송신기, 또는 이들 양자 모두에 의해 수행될 수 있다.
여기 설명된 IR 송신 기법은 다양한 수단으로 구현될 수 있다. 예를 들어, 이들 기법은 하드웨어, 소프트웨어, 또는 그 조합으로 구현될 수 있다. 하드웨어 구현에 있어서, IR 송신을 위해 송신기에서 사용되는 프로세싱 유닛은 하나 이상의 주문형 집적 회로 (ASIC), 디지털 신호 프로세서 (DSP), 디지털 신호 프로세싱 소자 (digital signal processing device; DSPD), 프로그래머블 논리 소자 (programmable logic device; PLD), 필드 프로그래머블 게이트 어레이 (FPGA), 프로세서, 제어기, 마이크로 제어기, 마이크로프로세서, 기타 여기 설명된 기능을 수행하도록 설계된 전자 유닛, 또는 그 조합 내에서 구현될 수 있다. IR 송신을 수신하기 위한 수신기에서 사용되는 프로세싱 유닛도 하나 이상의 ASIC, DSP, DSPD, PLD, FPGA, 프로세서, 제어기 등 내에서 구현될 수 있다.
소프트웨어 구현에 있어서, IR 송신 기법은 여기 설명된 기능을 수행하는 모 듈 (예를 들어, 프로시저, 함수 등) 로 구현될 수 있다. 소프트웨어 코드는 메모리 유닛 (예를 들어, 도 1 의 메모리 유닛 (142 및 182)) 내에 저장되고 프로세서 (예를 들어, 제어기 (140 및 180)) 에 의해 실행될 수 있다. 메모리 유닛은 프로세서 내에서 또는 프로세서 외부에서 구현될 수 있으며, 외부에서 구현되는 경우 공지된 다양한 수단을 통하여 프로세서에 통신적으로 (commucatively) 결합될 수 있다.
제목은 참조를 위해, 그리고 소정 장 (section) 의 배치를 돕기 위해 여기 포함된다. 이들 제목은 그 아래 설명된 개념의 범위를 제한하려 의도한 것이 아니며, 이들 개념은 전체 명세서에 걸쳐 다른 장에서 적용가능할 수 있다.
이상의 개시된 실시형태에 대한 설명은 여하한 당업자가 본 발명을 제조 또는 이용할 수 있도록 하기 위해 제공된 것이다. 당업자에게는 이들 실시형태에 대한 다양한 변형이 자명할 것이며, 여기서 정의된 일반 원칙은 본 발명의 사상 및 범위를 벗어남이 없이 다른 실시형태에 적용될 수 있다. 그러므로 본 발명을 여기 나타난 실시형태에 제한하려는 의도는 아니며, 본 발명에 대해서는 개시된 원리 및 신규한 특성에 합치하는 최광의 범위가 허여되어야 한다.