도 3은 본 발명의 원리에 따라 동작하는 결합기(CMB)의 근본 블럭도를 도시한 것이다. 도 3 및 다음의 도면은 CDMA 통신 시스템에 관한 것이며, 여기서 디지털 데이터 샘플은 도 1에서 도시된 바와 같이 확산기/전력 가중 유닛(2)으로부터 각각 가중 칩 출력이라는 것을 주의해야 한다. 그러나, 본 발명은 임의의 다른 응용(예를 들여, RAKE 수신기)에 적용할 수 있으며, 여기서 다수의 입력으로부터의 디지털 데이터 샘플은 매우 유연한 방식으로 다수의 출력 상으로 결합되어야 한다.
도 3에 도시된 바와 같이, 가중 칩(각 세트는 아래에 설명된 바와 같이, 소정의 비트 폭을 가짐)과 같은 디지털 데이터 샘플은 상기 결합기(CMB)에 병렬로 도착한다. 도 3에서, "가중 칩의 세트"는 예를 들어, t0 및 t1 사이에 도착하는 샘플을 나타낸다. 그러므로, 한 세트의 가중 칩은 정확하게 n 개의 가중 칩 즉, 채널당 하나의 칩으로 구성되어 있다. 도 1과 관련하여 설명된 바와 같이, 가중 칩의 데이터 세트는 소정의 공통 샘플 속도(칩 속도)(CLK)로 도착한다. CDMA 시스템에서 각각의 가중 칩은 소정 수의 비트로 구성되어 있다는 것을 이해해야 한다. 가중 칩의 세트는 특정 방식으로 부처리 유닛(SU1, SU2..., SUk)에 칩 속도로 인가된다. 전체적으로, k 개의 부처리 유닛(SU1, SU2..., SUk)이 존재하며 선택기(M3)는 모든 부처리 유닛에 대해 제공된다. 선택기(M3)의 오른편에 블럭("out")으로 표시된 바와 같이, 결합기(CMB)로부터의 출력("out")은 m 개의 섹터-캐리어에 대해 m 개의 가산된(결합된) 가중 칩이다. 선택기(M3)로부터의 출력은 또한 칩 속도와 동일한 속도를 갖는다.
도 3에서, 왼편의 블럭("in")에서 각각의 작은 사각형의 박스가 각 채널의 하나의 가중 칩에 대응하지만, 선택기(M3)의 오른편의 블럭("out")에서 작은 사각형 박스는 가산된 데이터 샘플, 즉 소정 수의 디지털 데이터 샘플에 대응하는데, 즉, 소정 수의 채널이 각 출력 클럭 주기(1/CLK)로 각 섹터-캐리어에 대해 가산되었다. 비록, 왼편 사각형 박스 및 오른편 사각형 박스에서 사용된 해칭(hatching)이 동일할지라도, 오른편의 박스는 가산된 가중 칩에 대응하지만, 왼편의 박스는 채널당 단일 가중 칩에 대응한다는 것을 이해하여야 한다.
부처리 유닛(SU1)의 오른편에 화살표로 표시된 바와 같이, 각 부처리 유닛은 m 개의 섹터-캐리어에 대하여 디지털 데이터 샘플의 조합을 계산한다. 즉, 도 2-1, 도 2-2 및 도 2-3에 도시된 종래 기술의 결합기와 대조적으로, 도 3의 본 발명의 결합기는 하드웨어(또는 심지어 하드웨어의 부품)가 특히 특정 섹터-캐리어로 전용되지 않는다. 그러나, 모든 섹터-캐리어에 대해 출력 값(가산된 디지털 데이터 샘플)을 계산하는 하드웨어 부처리 유닛이 존재한다. 하나의 이와 같은 부처리 유닛이 칩 속도로 모든 결과를 발생시킬 수 없기 때문에, 다운샘플링된 입력 시퀀스에 작용하는 k 개의 부처리 유닛이 사용되어 하나의 부처리 유닛 내에서 모든 섹터-캐리어에 대한 결과를 순차적으로 계산하기 위하여 보다 많은 시간이 절약되도록 한다. 한 세트의 가중 칩 즉, 소정의 사용자 채널로부터 수집된 한 세트의 디지털 데이터 샘플에 대하여 하나의 부처리 유닛 내에서 모든 m 개의 결과를 계산한 이후에, 선택기(M3)는 이 부처리 유닛에 대응하는 모든 결과를 스위칭하여 한 세트의 m 개의 값을 출력한다. 정확하게 하나의 칩 주기 뒤에 선택기(M3)는 다음 부처리 유닛 가령, 부처리 유닛(SU2)으로부터의 모든 결과를 판독한다. 선택기(M3)의 오른편의 블럭("out")에 도시된 바와 같이, 그 결과는 칩 주기(tk-tk+1)에서 부처리 유닛(SU1)이 자신의 결과 즉, 모든 m 개의 섹터-캐리어에 대한 가산된 가중 칩을 출력한다는 것이다. 이것은 다음 칩 주기에서 부처리 유닛(SU2)으로부터의 출력보다 앞서며, 이것은 부처리 유닛(SUk)이 t2k-1로 시작하는 클럭 주기에서 자신의 결과를 출력할때까지 지속된다. 정확하게 부처리 유닛(SUk)으로부터 데이터를 판독하는 종단에서, 다음 세트의 가중 칩에 대한 선택 및 가산 공정을 완료하는 것이 부처리 유닛(SU1)이므로 t2k로 시작하는 칩 주기에서 다시 부처리 유닛(SU1)이 판독된다.
그러므로, 상술된 바와 같이, 처리가 보다 높은 (즉, 오버샘플링) 속도로 동작해야 하는 k 개의 부처리 유닛으로 분할된다. 그러므로, 부처리 유닛은 특정 채널로 전용되지 않는다. 부처리 유닛(SU1, SU2...SUk)은 모든 m 개의 섹터-캐리어에 대하여 각각의 가중 칩을 결합하기 위해 각각 제공되며 선택기(M3)는 부처리 유닛의 순환적인 판독을 수행한다. 각 부처리 유닛이 전용되어 채널들을 칩 속도보다 k배 낮은 속도로 결합하도록 하며 이 감소된 속도로 모든 섹터-캐리어에 대하여 출력을 발생시키도록 한다고 할 수 있는데, 즉, 칩 주기(tk-tk+1,t2k-t2k+1등)에 대하여 SU1이며, tk-tk+1,t2k-t2k+1등으로 시작하는 칩 주기에 대하여 SU2이다.
선택기(M3)가 각 칩 주기에서 각 부처리 유닛(SU1, SU2...SUk)에 각각 접속하거나 각 부처리 유닛을 판독하기 위하여, 부처리 유닛은 보다 고속으로 동작하여 최악의 경우에 부처리 유닛이 k/CLK 주기당(즉, 1/CLK 주기당이 아님) 모두 n 개의 채널로부터의 가중 칩을 가산하는 m 개의 가산된 가중 칩 결과를 발생시킬 수 있도록 한다.
그러므로, n이 채널 수로 지정되고, k가 부처리 유닛 수로 지정된 경우, OS=n/k의 오버샘플링 속도(OS)가 각 부처리 유닛에서 가산 공정을 위해 사용되어야 한다. 이것이 각 부처리 유닛 위에 도시된 데이터 세트의 직사각형 블럭(b11, b12, b2, b3)으로 표시된다. 즉, 각 세트의 가중 칩은 k 의 칩 주기로 유지되어야 하는데, 즉, CLK가 입력에서 칩 속도로 지정된 경우, 부처리 유닛에서 새로운 데이터를 입력하고 유지하기 위한 클럭 속도는 CLK/k이다. 선택기(M3)가 k 개 부처리 유닛으로부터의 데이터를 순환적으로 판독하기 때문에, 부처리 유닛은 k의 칩 주기 내에서 n 개의 입력 칩 및 m 개의 섹터-캐리어에 대한 데이터 값을 결합하는 것(가산하는 것)을 종료해야 한다.
즉, 각 부처리 유닛이 (m 개의 결과를 계산하기 위하여) 많아야 n 개의 가중 칩을 CLK/k의 속도로 가산해야 하기 때문에, 그것의 가산기는 n*CLK/k, 즉, OS*CLK로 동작해야 한다. 즉, 결과의 수가 아니라 모든 결과를 위해 함께 필요로 되는 전체 가산의 수가 결정된다.
가령, 시간 주기(t0-tk) 내에서, 블럭(b11) 내의 빈 사각형 박스의 모든 가중 칩에 대한 가산 및 유지가 수행된다. 단지 k의 칩 주기 뒤에, 다음 세트의 칩(수직적으로 해칭된 b12)이 부처리 유닛(SU1)에서 수행될 필요가 있는데, 그 이유는 k-1 개의 다른 부처리 유닛이 t1...tk-1로 시작하는 칩 주기(좌...우 해칭된 사각형 박스)에서 칩의 가산을 맡았기 때문이다. 이 처리는 데이터가 부처리 유닛(SUk)에 의해 결합되는 칩 주기(tk-1)까지 부처리 유닛(SU2) 등으로 인수된다. 그러므로, 각 블럭(b11, b12, b2, b3)은 입력 데이터가 클럭(CLK)의 k 개의 펄스 동안 유지되는지를 각각 나타낸다. 주기(t0, t1, t2...tk-1, tk)에서 데이터 세트가 순차적으로 도착하기 때문에, 부처리 유닛(SUi)에서의 처리의 시작은 사전 부처리 유닛(SUi-1)과 관련하여 정확하게 한 칩 주기만큼 지연된다.
블럭(bpipe)으로 표시된 바와 같이, 처리 유닛 내에서, 각 섹터-캐리어에 대한 결과는 순차적으로 발생된다. 즉, 우선, 제 1 섹터-캐리어(1)에 대한 가산된 가중 칩이 계산되며, 여기서 가산은 필요로 되는 채널에 대해 순차적으로 수행된다. 그 다음, 제 2 섹터-캐리어에 대한 가산된 가중 칩이 발생된다. 제 2 섹터-캐리어에 대한 처리가 제 1 섹터-캐리어에 대한 처리가 종료된 경우에만 시작되기 때문에, 섹터-캐리어당 처리는 블럭(bpipe)으로 도시된 바와 같이 지연된다. 그러나, 모든 m 개의 결과가 다음 세트의 칩이 도착할때 준비되어 제 1 부처리 유닛(SU1)이 tk에서 가중 칩의 초기에 대한 처리를 다시 시작할 수 있도록 한다. 그러므로, 그 해결책은 선택기(M3)에 의한 순환적인 판독과 함께 일종의 지연된 파이프라인 처리에 기초를 둔다. 이 절차가 처리 능력을 매우 효율적으로 사용하므로 하드웨어 비용을 감소시킨다.
각 부처리 유닛 내에서 섹터-캐리어에 대한 처리의 순서가 매우 유연하다는 것을 주의해야 한다. 단지 하나의 제한이 존재하는데, 그것은 각각의 가중 칩이 단지 하나의 섹터-캐리어 출력으로만 가산될 수 있다는 것이다.
더구나, 부처리 유닛(k)의 수는 자유롭게 선택될 수 있다. 물론, OS*CLK의 각 사이클에서, 한 채널은 오버샘플링 속도(OS)에 따라 처리될 수 있다. 가령, 오버샘플링 속도가 OS=8이고 채널 수가 n=24인 경우, k=n/OS=3 개의 부처리 유닛이 사용되어 내부적으로 OS*CLK=8*CLK의 처리 속도로 동작할 것이다.
그러므로, 입력 수단(IM)이 가중 칩의 세트(디지털 데이터 샘플의 세트)를 모든 부처리 유닛(SU1, SU2, SUk)에 칩 속도로 입력한다고 할 수 있다. k의 팩터로 다운샘플링한 이후에, 각 부처리 유닛은 m 개의 가산된 가중 칩의 세트를 OS*CLK의 처리 클럭을 사용하여 다운샘플링된 속도로 계산한다. 선택기(M3)는 부처리 유닛으로부터 가산된 가중 칩의 세트를 공통 칩 속도(CLK)로 순환적으로 판독한다. 출력 수단(OM)은 각 데이터 세트를 출력한다.
본 발명에 따른 도 3의 결합기(CMB)의 상기 기술로부터 이해할 수 있는 바와 같이, 임의의 수의 채널의 입력 가중 칩의 임의의 조합, 즉, 그렇게 할 필요성이 존재하는 경우 모든 n 개의 채널로부터 발생되는 가산된 가중 칩이 (칩 속도로) 각 섹터-캐리어에 제공될 수 있는 유연성이 존재한다. 반면, 보다 고속의 OS*CLK로 동작하는 단지 k 개의 부처리 유닛이 필요로 된다. 그러므로, 필요한 하드웨어 양이 매우 감소되지만, 어떤 다른 채널과 어떤 채널을 임의의 섹터-캐리어 상으로 결합하기 위한 유연성이 충분히 제공된다.
더구나, 다음의 장점이 본 발명에 따른 결합기에 의해 달성된다:
1. 다양한 수의 채널을 각 섹터-캐리어로 할당하기 위한 유연성이 달성된다. 이것은 예상 트래픽 상태(고속도로 ⇔ 산)에 적합하도록 이용가능한 채널의 수를 배열할 수 있는 네트워크 운영자에게 매우 많이 필요로 된다.
2. 서론에서 설명된 바와 같이, 운영자가 다양한 시간(예를 들어, 휴가철, 인접한 기지국의 보수, 무역 박람회,...)에 다양한 트래픽 부하를 취급하기 위해 필요로 되며, 일시적으로 보다 많은 채널을 섹터-캐리어로 가산하기 위한 유연성이 제공된다.
3. 채널의 임의 서브셋의 어떤 조합을 어떤 제공된 섹터-캐리어로 제공하여 그 채널이 예측되거나 예상된 트래픽 경도(gradient)에 기인하여 제공된 시간에 다 른 섹터-캐리어로부터 스위칭될 수 있도록 하는 유연성이 제공된다.
4. 구성요소 재사용이 매우 많아서 하드웨어 비용이 매우 적게 된다. 적어도 85%의 하드웨어가 도 2-3의 해결책과 비교하여 절약될 수 있다.
5. 고객을 위한 일반적인 하드웨어를 생성할 수 있다. 즉, 하드웨어는 고객 자신을 위해 자신에 요구에 맞추어질 수 있다. 이것은 생산시에 보다 적은 변형과 보다 적은 주문생산(customization)이 필요로 되기 때문에 제조자를 위한 비용을 감소시킨다.
이하에서, 도 3에 도시된 결합기(CMB)의 보다 특정한 블럭도가 도 4에서 도시되며 논의되지만, 도 4에 도시된 부처리 유닛(SUk)의 특정한 회로 구성은 도 5에 도시된다.
본 발명의 제 1 실시예
도 4에 도시된 결합기(CMB)는 소정 수(n)의 채널 예를 들어, 사용자 채널 (
)로부터 소정 수(m)의 출력 예를 들어, 디지털 무선 통신 시스템의 섹터-캐리어(sc-1, sc-2, ...,sc-m) 상으로 디지털 데이터 샘플을 결합한다. 그 채널들은 또한 미리가산된 채널일 수 있다. 가령, 실제 수행시에, 결합기로의 n=24 개의 입력 채널이 32 개의 미리가산된 채널 즉,
;
등에 의해 각각 구성될 수 있으며, 여기서 "ch"는 특정 사용자 채널을 나타낸다.
디지털 데이터 샘플은 소정의 비트 폭 입력 비트를 가지며 n 개의 데이터 샘플로 각각 구성되어 있는 데이터 세트로서 소정의 공통 데이터 샘플 속도(CLK)로 상기 결합기에 병렬로 도착한다. 즉, 시간("tk")의 각 고정 포인트에서, n 개의 채널에 속하는 n 개의 데이터 샘플이 도착한다. 다수의 k 개의 부처리 유닛에 제공되며, 부처리 유닛(SUk)이 도 4에 도시되어 있다. 입력 수단(IM)은 상기 k 개의 부처리 유닛 각각에 상기 공통 데이터 속도(CLK)로 데이터 세트를 입력한다.
도 4에 도시된 바와 같이, 상기 부처리 유닛(SUk) 각각은 CLK/k의 클럭 속도로 데이터 세트를 저장하기 위한 입력 레지스터(R2k)를 포함한다. 멀티플렉서(M1k)가 제공되어 상기 m 개의 섹터-캐리어 각각에 대하여 상기 입력 레지스터에서 저장된 각 데이터 세트로부터 소정 수의 데이터 샘플을 OS*CLK의 클럭 속도로 순차적으로 선택하도록 하며, 여기서 OS는 오버샘플링 팩터이며 k=n/OS이다. 제어 유닛(CL) (도 5에 도시됨)으로부터 멀티플렉서(M1k)는 결합될 채널을 표시하는 선택 신호 (sltk)를 수신한다.
가산기(ADDk)가 제공되어 상기 m 개의 섹터-캐리어 각각에 대하여, 상기 선택된 데이터 샘플을 각각의 가산된 데이터 샘플(가산된 가중 칩) 내로 상기 클럭 속도(OS*CLK)로 가산하도록 한다. 출력 레지스터(F1k)가 제공되어 상기 m 개의 섹터 -캐리어에 대하여 상기 m 개의 가산된 데이터 샘플을 포함하는 출력 데이터 세트를 저장하도록 한다. 멀티플렉서(M1k), 가산기(ADDk) 및 출력 레지스터(F1k)는 도 4에 도시된 바와 같이, 소위 멀티플렉스/가산 수단(MAM)을 형성하며, 이 수단(MAM)은 이하에서 또한 데이터 샘플 가산 수단으로 일컬어진다.
도 3을 참조하여 일반적으로 이미 상술된 바와 같이, 선택기(M3)는 상기 부처리 유닛의 각 출력 레지스터로부터 상기 공통 데이터 속도(CLK)로 각 출력 데이 터 세트를 순환적으로 선택한다. 출력 수단(OM)은 선택된 데이터 세트를 상기 섹터-캐리어(SC-1,...SC-m) 상으로 상기 공통 데이터 속도(CLK)로 출력한다.
비록, 도 4에 도시되지 않았을지라도, 도 5와 관련하여 더 설명된 바와 같이, 물론 부처리 유닛(SUk)은 k-번 제공되지만, 입력 수단(IM), 선택기(M3) 및 출력 수단(OM)은 단지 한번 제공된다.
도 4에 도시된 바와 같이, n 개의 데이터 샘플로 구성되어 있는 각 데이터 세트는 입력 레지스터(R2k)에서 CLK/k의 클럭 속도로 유지된다. 멀티플렉서(MUX) 및 특히, 가산기가 OS*CLK(여기서, OS=n/k)의 클럭 속도로 동작하기 때문에, m 개의 섹터-캐리어에 대하여 모든 입력 가중 칩을 순차적으로 가산할 수 있다. 부처리 유닛 내에서의 타이밍은 최악의 경우의 시나리오에 따라 조절된다. 즉, 하나의 섹터-캐리어에 대하여, 가산된 가중 칩이 입력 레지스터(R2k) 내에 저장된 n 개의 채널로부터의 모든 n 개의 입력 가중 칩을 가산하는 것으로 구성될 수 있다. 즉, 최악의 경우의 시나리오는 모든
이 하나의 섹터 캐리어 상으로 가산되는 것이다. 그러므로, 모든 다른 섹터-캐리어는 값(0)을 제공한다(그리고 나서, 특정 입력 채널(
)은 하나 이상이 아니라 단지 하나의 결정된 섹터-캐리어(sc
j)로만 간다.
어떤 가산된 가중 칩이 단지 보다 적은 수의 입력 가중 칩을 가산하는 것으로 구성되어 있는 경우, 물론, 결과는 중간의 출력 레지스터(F1k)에 초기에 저장될 수 있다. 그러나, 선택기(M3)가 단지 속도(CLK/k)로 출력 레지스터(F1k)에 접속하여 출력 레지스터에서 초기 기억 값이 선택기(M3)의 필요한 판독 타이밍 내에 존재하도록 하기 때문에, 이것은 문제점이 있다.
더구나, 도 4에 도시된 바와 같이, 가산기(ADDk)는 데이터 샘플의 가산이 제공된 섹터-캐리어에 대하여 종료될 때마다 제어 유닛(CL)(도 5에 도시됨)으로부터 리셋 신호(rstk)를 수신해야 한다. 즉, (상술된 최악의 경우의 시나리오에서와 같이, 가령, 모든 m 개의 섹터-캐리어가 사용된 경우) k의 칩 주기 마다 가산기는 많아야 m-번 리셋된다. 출력 레지스터(F1k)는 자신이 특정 데이터 세트를 저장하거나 판독하고자 할때 제어 논리(CL)로부터 저장 신호(strk)를 수신한다.
입력 수단(IM)으로부터 입력된 데이터 값이 칩 주기 보다 긴 시간의 주기 동안 이용가능하게 유지되어야 하기 때문에, 입력 레지스터(R2k)가 필요로 된다. 그렇지 않은 경우, 멀티플렉서(MUX)는 섹터-캐리어 중 하나로 가산될 모든 n 개의 채널로부터 모든 가중 칩을 유연하게 선택할 수 없다. 멀티플렉서(MUX)가 칩 데이터의 선택을 수행하는 동안, 가산기(ADDk)는 멀티플렉서(MUX)에 의해 순차적으로 선택된 모든 칩 데이터의 순차적인 가산을 수행한다. 상술된 바와 같이, 결과(가산된 칩 값 또는 가산된 디지털 데이터 샘플 값)가 모든 n 개의 칩중 일부가 가산되어 하나의 섹터-캐리어로 할당되는 경우에 대하여 초기에 이용가능할 수 있기 때문에, 출력 레지스터가 필요로 된다.
이하에서, 도 4에서 도시된 본 발명의 결합기의 블럭도의 보다 특정 회로 구성이 도 5와 관련하여 기술될 것이다.
부처리 유닛의 예
도 4와 관련하여 상술된 바와 같이, 입력 데이터 세트(CDMA 시스템에서 가중 칩의 세트)는 결합기(CMB)에 칩 속도(CLK)로 도착한다. 각 디지털 데이터 샘플(각각의 가중 칩)은 우선 도 5에서 레지스터(R1)로 구성되는 입력 수단(IM) 내에 저장된다. 도 5에 도시된 바와 같이, 그 저장은 칩 속도(CLK)로 이루어진다. 각 디지털 데이터 샘플은 일정 비트 폭 입력 비트를 가지며 입력 수단(R1)은 한 세트의 레지스터를 포함하고, 여기서 레지스터의 수는 n에 대응하는데, 즉, n 개의 입력 채널에 대하여, 비트 폭 입력_비트의 n 개의 워드가 (채널 입력_비트마다) 저장되어야 한다. n 개의 입력 채널이 가중 칩 또는 일반적인 디지털 데이터 샘플로 각각 입력되기 때문에, n 개의 레지스터(R1)가 존재한다.
상술된 바와 같이, 부처리 유닛(SU1, SU2,...SUk)에서 처리는 CLK와 관련하여 오버샘플링 팩터(OS)(가령, CLK = 4 MHz, OS = 8)에 의해 이루어진다. 그러므로, 부처리 유닛은 k = n/OS 회 제공된다. n=24이고 OS=8의 예를 고려하자: OS*CLK의 각 사이클에서, 한 채널이 처리될 수 있다. 한 부처리 유닛 내의 모든 채널을 처리하기 위하여, 속도(OS*CLK)의 24 사이클이 필요로 된다. 가중 칩의 새로운 세트가 속도(CLK)로 도착하기 때문에, 이것들은 다른 프로세싱 유닛에 저장되어야 한다. CLK의 n/OS 사이클에서, 모든 섹터-캐리어에 대한 결과가 하위구조 내에서 계산된다. 그러므로, 전체 k = 24/8 = 3 개수의 부처리 유닛이 하나의 부처리 유닛 내에서 모든 채널을 처리하기 위하여 필요로 된다.
그러므로, 레지스터(R1)의 내용은 칩 속도(CLK)로 변화된다. 상술된 바와 같이, 각 부처리 유닛(SU1, SU2...SUk) 내에서, 각각의 가중 칩은 칩 주기보다 길게 이용 가능해야 한다. 그러므로, 입력 값은 입력 레지스터(R21, R22, R2k)에 속도 (CLK/k)로 제공되며, 여기서 또한 각 입력 레지스터(R2)는 소정의 비트 폭 입력 비트를 갖는다는 것이 이해되어야 한다. 그러나, 한 세트의 데이터 값이 도착할 때마다, 그 값들은 도 5에 도시된 바와 같이, 각 부처리 유닛(SU1, SU2)에 병렬로 인가되며, 단지 차이점은 다음 보다 높은 인덱스를 갖는 부처리 유닛이 자신의 처리를 칩 주기(1/CLK)의 지연으로 시작한다는 것이다. 그러므로, 부처리 유닛 (SUi)의 입력 레지스터(R2i)의 샘플링 위상이 부처리 유닛(SUi-1)의 입력 레지스터 (R2i-1)의 샘플링 위상에 대하여 1/CLK 만큼 지연된다. 플립-플롭으로 바람직하게 실현되는 레지스터(R2)는 CLK/k의 속도를 가지며, 여기서, 다음 인덱스를 갖는 부처리 유닛은 도 3에 표시된 바와 같이 한 클럭 사이클만큼 지연된다. 가령, 상술된 바와 같이 동일한 값이 사용된 경우, 각 레지스터 세트(R21, R22...)는 k=3 개의 부처리 유닛이 존재하기 때문에, CLK/3의 속도를 가져야 한다.
제 1 부처리 유닛의 멀티플렉서(M11)는 채널을 순서대로 스위칭시키며, 여기서, 채널(특히, 채널 각각의 단일 가중 칩)은 각 섹터-캐리어 대하여 순차적으로 가산되어야 한다. 제어 유닛(CL)으로부터의 선택 신호(sltk)는 결합될 채널의 인덱스들을 각 멀티플렉서로 표시한다. 즉, sltk는 얼마나 많은 채널이 가산될 것인지가 아니라, 어느 채널이 스위칭될 것인지를 표시한다.
즉, 멀티플렉서(M11) (및 또한 다른 멀티플렉서)는 제어 논리(CL)로부터 선택 신호(slt1)를 수신하여 입력 레지스터(R21) 내에 저장된 이와 같은 값으로부터 데이터 값을 순차적으로 선택하도록 한다. 물론, 멀티플렉서는 또한 채널의 비트 폭을 증가시킨다. 가산기가 자신의 입력에서 고정된 비트 폭을 가져야 하며 결과가 하나의 섹터-캐리어로 전송되는 최악의 경우에 모든 채널이 서로 가산되기 때문에, 비트 폭은 출력 비트 = /ld(n(2입력 비트-1))\로 증가될 수 있으며, 여기서 /x\ 는 x와 동일하거나 x보다 큰 최소 정수 값을 선택하는 상한(ceiling) 연산을 표시한다. 2의-보수로 표현된 가중 칩의 값이 음수인 경우, 멀티플렉서(M11)는 가장 유효 비트로 논리 1을 설정하고, 그러지 않은 경우, 0을 설정한다.
가령, 입력_비트=3이며
가 값(-2)을 가질때, 3 비트를 사용하는 2의 2의 보수는 010이다. 이것을 반전시키면 101이 되고 1을 가산하면 110 ↔-2가 제공된다. 출력_비트=5이며
가 -2의 값을 가질때, 5 비트를 사용하는 2의 2의 보수는 00010이며, 이것을 반전시키면 11101이 되고 1을 가산하면 11110 ↔-2가 제공된다. 즉, 레지스터(R2
1) 내에 저장되는 3 비트(110)를 5 비트로 확장하기 위하여, 비트 위치(4, 5)가 1로 채워져야 한다. 음수 값은 항상 가장 유효 비트(여기서 비트 3)에서 인식 가능하다. 이 값이 1(=음수)인 경우, 선행하는 비트 위치(4, 5)가 1로 설정된다는 것을 의미한다. 대안적으로 가장 중요한 비트가 0(=양수)인 경우, 선행하는 비트 위치(4, 5)는 0으로 설정된다.
도 5에 도시된 바와 같이, 멀티플렉서(M1
1)는 각 채널(
)로부터 각 입력 가중 칩 값을 병렬로 저장하는 각 레지스터에 접속되며 선택 신호(slt
1)에 따라서 단일 선택 가중 칩을 각각 출력한다.
도 4에 도시된 가산기(ADDk)는 상기 멀티플렉서에 의해 선택된 상기 샘플을 상기 OS*CLK의 클럭 속도로 수용하는 제 1 가산기 레지스터(R31, R32...)와 상기 제 1 가산기 레지스터로부터의 입력과 가산기 멀티플렉서(MUX)(M21, M22...)로부터의 출력을 입력으로 수신하며 상기 가산된 샘플을 상기 OS*CLK의 클럭 속도로 수용하는 제 2 가산기 레지스터(R41, R42...)로 상기 입력의 가산된 샘플을 출력하는 가산 유닛(SUM1, SUM2...)을 포함하며, 상기 가산기 멀티플렉서는 상기 제 2 가산기 레지스터(R41, R42...)로부터의 출력 및 디지털 "0" 신호를 입력으로 수신한다. 더구나, 가산기 멀티플렉서(MUX)는 제어 논리(CL)로부터 리셋 신호(rstk)(rst1, rst
2 ...)를 수신한다. 본질적으로, M11, R31, SUM1, R41, 및 M21의 결합은 본원에 참조되어 있는 상술된 유럽 특허 출원 EP 98 121 518.9에 공표된 결합 장치를 따른다.
도 5에 도시된 바와 같이, 각 멀티플렉서(M1) 이후의 레지스터(R3)는 OS*CLK의 오버샘플링 속도를 갖는다. 각 OS*CLK 사이클에서, 특정 채널의 다른 가중 칩이 저장되며, 여기서 채널 인덱스의 순서는 제어 논리에 의한 선택 신호((sltk) (slt1, slt2 ...)에 의해 고정될 것이다. R3 이후의 회로는 근본적으로 값(0)을 가산기의 다른 입력 라인으로 스위칭할 가능성을 갖는 누산기(accumulator) 구조이다. 각 섹터-캐리어의 결과가 이제 스위칭된 가중 칩을 가산함으로써 각 부처리 유닛 내에서 순차적으로 계산된다. 새로운 결과가 섹터-캐리어에 대해 계산되고 있을때, 0 값이 M2의 도움으로 가산기의 제 2 입력 라인으로 스위칭된다. 이것은 이 섹터-캐리어어 대해 계산되어야 하는 제 1 채널이 0으로 가산된다는 것을 의미한다. 이것은 동일한 오버셈플링 속도(OS*CLK)로 구동되는 R4 내에 저장된다. 이제, 이 결과를 다시 결합하여 n-대-1 멀티플렉서(M1)에 의해 선택된 다음 채널(가중 칩)로 그것을 가산할 수 있다. 결과가 섹터-캐리어를 위해 얻어질때, 제어 논리는 인에이블 신호를 도 4에 도시된 부처리 출력 레지스터(F11)를 구성하는 플립-플롭(F1)중 하나로 제공한다. 그 이후에, 다른 섹터-캐리어를 위한 결과가 누산기 구조로 계산될 수 있다.
모든 결과가 한 부처리 유닛 내에서 모든 섹터-캐리어에 대하여 계산되고 상기 플립-플롭(F1) 내에 저장될때, 그 결과들은 멀티플렉서(M3)에 의해 다시 칩 속도로 동작하는 레지스터(R5)의 세트로 스위칭된다. 플립-플롭(F1)은 도 5에 도시된 가산기 출력 레지스터(F1k)를 구성한다. 레지스터(R5)는 도 4에 도시된 출력 수단 (OM)에 대응한다.
도 3에 도시된 바와 같이, 다음 가중 칩의 세트(데이터 세트)가 제 2 부처리 유닛(SU2)에 의해 동일한 방식으로(부처리 유닛(SU2)은 부처리 유닛(SU1)이 자신의 연산과 계산을 종료할 때까지 대기하지 않음) 병렬로 처리된다. 그러므로, 이 부처리 유닛에 대한 제어 신호는 근본적으로 동일하다. 다음 부처리 유닛에서 처리는 제 2 세트의 가중 칩이 제 1 세트 이후에 하나의 CLK 사이클로 저장되고 동일한 순서로 처리되어야 하기 때문에 한 CLK 사이클만큼 지연된다는 것을 주의하는 것이 중요하다(여기서 순서는 멀티플렉서(M1)가 가중 칩을 스위칭하는 시퀀스를 의미한다는 것이 주의되어야 한다). 섹터-캐리어에 대하여, 결합된 출력 값의 연속적인 스트림이 칩 속도로 제공되며, 여기서 각 출력 값은 도 3에 도시된 바와 같이, 동시에 도착하는 하나 이상의 입력 샘플의 조합으로 구성되어 있다.
플립-플롭의 모든 상기 예에서, "플립-플롭"은 일정 클럭 속도로 클렁킹되는 소자를 지정한다는 것이 이해되어야 한다. 인에이블 신호는 다음 활성 클럭 에지까지 플립-플롭의 입력을 저장시킨다.
즉, 도 5에서, 데이터 세트는 CLK/k의 클럭 속도에 대응하는 시간 기간 동안 입력 레지스터(R2) 내에 저장된다. 멀티플렉서(M1)는 제어 유닛(CL)의 선택 신호 (sltk)에 따라서 칩(디지털 데이터 샘플)의 순차적인 선택을 수행한다. 레지스터 (R3), 가산기(SUM), 레지스터(R4) 및 멀티플렉서(M2)로 구성되어 있는 가산 구조가 동작하여 순차적으로 선택된 가중 칩 값을 단일 결합된(가산된) 가중 칩 값으로 가산하도록 하며, 이 단일 결합된 가중 칩 값은 그 후에 각 섹터-캐리어, 즉, 이 특정 섹터-캐리어를 위해 제공된 각 플립-플롭(F11)으로 제공된다. 가산 공정이 제공된 출력에 대해 시작될 때마다, 리셋 신호(rst1)에 응답하여 가산기(M21)는 "0"을 스위칭하며 그 "0"은 그 후에 각 가산 유닛(SUM1)으로 인가된다.
도 5의 결합기(CMB)의 회로는 레지스터(R1)가 각 입력 레지스터(R21, R22 등)에 데이터 세트를 병렬로 인가하기 때문에 각 부처리 유닛에서 채널을 유연하게 결합하도록 한다. 레지스터(R3, SUM, R4) 및 멀티플렉서(M2)의 가산 구조는 공지된 원리, 즉, 관련 섹터-캐리어에 대하여 모든 칩 값을 순차적으로 가산하도록 하는 원리에 따라서 동작한다.
본 발명에 따른 결합기가 또한 복소-값의 입력으로 인가될 수 있다는 것이 강조되어야 한다. 이와 같은 적용에서, 도 3 내지 5에 따른 결합기는 두번(입력의 실수부에 대하여 한번 그리고 허수부에 대하여 한번) 실행될 수 있으며, 여기서 제어 신호(slt, rst, 및 str)은 두 결합기에 대하여 동일하다. 대안적으로, 두 배 만큼의 입력과 두 배 만큼의 출력을 갖는 결합기가 만들어질 수 있다. 이와 같은 수행이 도 6 및 7과 관련하여 아래에 기술되어 있다.
본 발명의 제 2 실시예
도 4, 5와 관련하여 설명된 바와 같이 CDMA 송신기에서 본 발명에 따른 결합기를 사용하는 것 이외에도, 상기 결합기는 또한 CDMA 수신기에 적용될 수 있으며, 특히 소위 RAKE 수신기(예를 들어, K.D. Kammeyer: "Nachrichtenubertragung", B.G. Teubner, 2nd edition, 1996, pp. 658-672 참조)에 적용될 수 있다.
도 6은 RAKE 수신기의 기능적인 블럭도를 도시한 것이다. 기본적으로, 그 수신기는 수신 유닛(REC) 뿐만 아니라, 소위 L 개의 RAKE 핑거(RF
1, RF
2,...,RF
L), 결합기(RADD)를 포함한다. 각 RAKE 핑거에서, 칩 속도로 샘플링된 수신 복소 기저대 역 신호(RC)가 적절하게 지연된 채널과 승산된다 - 제 1 승산기(m
1, m
2,...m
L)에서 특정 의사 잡음 시퀀스(PN(d
1), PN(d
2),...PN(d
L))는 가산기(SUM
1, SUM
2, SUM
L)에서 PN 시퀀스의 주기에 걸쳐 가산되며 제 2 승산기(m
1', m
2',...m
L')에서 추정된 채널 계수(
)와 승산되며, 여기서 별표는 복소 공액을 나타낸다. 여러 지연 (d
1, d
2,...d
L)이 각 RAKE 핑거에서 PN 시퀀스와의 승산을 위해 사용된다. 결합기 (RADD)는 RAKE 핑거로부터의 모든 출력(x
1, x
2,...x
L)을 수신 유닛(REC)의 입력(Y)으로 결합한다.
도 6은 단일 채널을 수신하기 위해 필요로 되는 기능적인 블럭을 도시한 것이라는 것이 이해되어야 한다. 실제로, 많은 채널이 수신될 필요가 있다. 이 경우에, 각 채널에 대하여 부가적인 결합기 뿐만 아니라, 한 세트의 RAKE 핑거가 필요로 된다. 도 7에서, j-번째 채널용 i-번째 RAKE 핑거는 RFij로 표시되지만 j-번째 부가 노드는 RADDj로 표시되며, 여기서 i=1,...,L 이며 j=1,...,P이다. RAKE 핑거 출력(x1j, x2j,...xLj)중 소정의 출력들을 단일 출력 신호(yj)로 결합(가산)하는 것은 각 결합기(RADDj)의 임무이다. 그러므로, 모든 가산기(RADD1,...,RADDp)를 함께 고려하면, 전체 결합기(RADD)의 임무는 L*P 개의 입력중 소정의 입력들을 전체 P 개의 출력 상으로 결합하는 것이다.
이 임무는 본 발명에서 제안된 결합기에 의해 유용하게 해결될 수 있다. 그 러나, 사용된 변조 방식에 따라서, RADD의 입력 및 출력은 복소 값이 되어 입력 (xij) 및 출력(yj)의 실수 및 허수부가 본 발명의 결합기의 개별적인 입력 및 출력에 대응하도록 한다. 도 7 과 3-5를 비교하면, 결합기의 각 입력 및 출력과 각 입력 및 출력의 수 사이에 다음의 일치(correspondence)가 존재한다:
그러므로, 도 3-5와 관련하여 상술된 본 발명의 결합기는 도 6, 7에 도시된 RAKE 수신기의 결합기(RADD)를 위하여 유용하게 사용될 수 있다.
본 출원에서, 본 발명에 따른 결합기는 필요로 되는 하드웨어의 부가적인 감소를 고려한다는 것이 주의되어야 한다. 결합기가 각 채널에 대해 개별적인 하드웨어로서 실행된 경우(도 2-1, 2-2 참조), 실제 적용에서, 상당히 많은 입력(예를 들면, L=8)을 가져야 하는데, 그 이유는 입력의 수가 최악의 경우에 필요로 되는 RAKE 핑거의 수에 대응해야 하기 때문이다. P=32 개의 채널에 대하여, 전체 LP=256 개의 RAKE 핑거 처리 유닛(RF
ij)이 이 실시예에서 필요로 될 것이다. 반면, 본 발명에 따른 결합기를 갖는 경우에서와 같이, RAKE 핑거 출력(x
ij)이 임의의 수신 유닛(REC
j) 상으로 결합될 수 있을때, Rake 핑거 처리 유닛의 전체 수(
)는 각 채널을 위해 필요한 Rake 핑거의 평균 수(
)로부터 계산될 수 있다.
에 대하여, 여전히 평균 수(
) 이상을 어떤 수신 유닛으로 할당할 가능성을 제공하면서
개의 Rake 핑거 처리 유닛이 상기 예에서 절약될 수 있다.