상술한 바와 같이, DC 오프셋은 직접 베이스밴드 수신기 구조에서 심각한 문제점을 발생시킨다. 이러한 DC 오프셋은 고정이거나, 시변일 수 있다. 도2의 파형은 직접 베이스밴드 수신기에서 직면하는 DC 오프셋 문제들을 보여준다. 파형의 부분(22)은 약간의 시변 성분을 포함하는 고정 DC 오프셋 진폭이다. 전형적인 수신기는 단계적으로 이득을 변경시키기 위해서 이득 제어 입력을 갖는 가변 이득 증폭기(미도시)를 포함한다. 도2의 파형 부분(24)은 가변 이득 증폭기의 이득 세팅에서 갑작스런 변경으로부터 기인하는 DC 오프셋 진폭의 돌발적인 변경을 보여준다. 마지막으로, 도2의 파형 부분(26)은 DC 오프셋 진폭의 느린 변경을 보여준다.
DC 오프셋의 진폭은 수신기 내에서 이득 세팅에 관련될 수 있다. DC 오프셋의 돌발적인 변경은 가변 이득 증폭기의 이득 변경으로부터 기인한다. DC 오프셋의 시변 성분들은 온도, 수신 주파수 및/또는 신호 페이딩의 변동에 의해 야기된다. 온도 변경은 일반적으로 DC 오프셋에서의 느린 변경을 초래한다. 주파수에 기인한 DC 오프셋 변경들은 수신기 주파수 변경의 결과이다. 신호 페이딩에 기인한 DC 오프셋 변경은 도플러 효과에 기반하며, 도플러 효과는 2배의 도플러 주파수까지의 주파수 성분을 통해 시변 DC 오프셋을 발생시킨다. DC 오프셋은 직접 베이스밴드 수신기의 만족스러운 동작을 위해 제어되어야 한다.
아래에서 제시되는 바와 같이, 본 발명에 따라 구성된 수신기는 매우 빠른 대략적인(coarse) DC 오프셋 소거 회로를 갖는다. 본 발명에 따라 구성된 수신기는 도3의 기능 블록 다이아그램에 제시된 시스템(100)에 내장된다. 이러한 시스템(100)은 시스템 동작을 제어하는 중앙 처리 유닛(CPU)(102)을 포함한다. 당업자는 CPU(102)가 통신 시스템을 동작시킬 수 있는 임의의 처리 장치를 포함함을 잘 이해할 것이다. 이는 마이크로프로세서, 내장형 제어기, 주문형 집적회로(ASIC), 디지털 신호 처리기(DSP), 상태 머신, 전용 이산 하드웨어 등을 포함한다. 본 발명은 CPU(102)를 구현하기 위해 선택된 특정 하드웨어 컴포넌트로 제한되지 않는다.
본 시스템은 또한 메모리(104)를 포함하며, 메모리(104)는 판독 전용 메모리(ROM) 및 랜덤 액세스 메모리(RAM) 모두를 포함한다. 메모리(104)는 CPU(102)로의 지령 및 데이터를 제공한다. 메모리(104)의 부분은 비휘발성 랜덤 액세스 메모리를 또한 포함할 수 있다.
본 시스템(100)은 일반적으로 셀룰러 전화기와 같은 무선 통신 장치의 일부로서 구현되며, 시스템(100)과 원격 위치 사이의 음성 통신과 같은 데이터를 송신 및 수신하기 위해 송신기(108) 및 수신기(110)를 포함한다. 송신기(108) 및 수신기(110)는 트랜시버(112)로 결합될 수 있다. 안테나(114)는 트랜시버(112)와 전기적으로 커플링된다. 송신기(108), 수신기(110), 및 안테나(114)의 동작은 공지되어 있고, 따라서 본 발명에 관련된 수신기의 동작을 제외하고는 여기서는 상술 되지 않는다.
본 시스템(100)은 또한 카운터(120) 및 카운트 인에이블 회로(122)를 포함한 다. 카운터(120)는 DC 오프셋 값을 표시하는 카운트를 발생시킨다. 카운터(120) 및 카운트 인에이블 회로(122)의 동작은 아래에서 상술될 것이다.
코드 변환기(124)는 카운트 데이터에 기반하여 카운터(120)로부터의 카운트 데이터를 오프셋 보정 값으로 변환하기 위해 사용된다. 디지털 대 아날로그 변환기(DAC)(126)는 아날로그 보정 신호를 발생시키고, 이러한 아날로그 보정 신호는 DC 오프셋을 보정하기 위해서 수신기(110)로 제공된다.
시스템(100)의 다양한 성분들은 버스 시스템(128)에 의해 커플링되고, 이러한 버스 시스템은 전력 버스, 제어 버스, 상태 신호 버스, 및 데이터 버스를 포함한다. 당업자는 이러한 버스 시스템(128)이 예를 들어 CPU(102) 또는 메모리(104)와 관련된 내부 버스들을 포함할 수 있음을 잘 이해할 것이다. 그러나 간략화를 위해, 다양한 버스들은 버스 시스템(128)으로 도 3에서 제시된다.
당업자는 도 3에 제시된 시스템(100)이 특정 성분들의 리스팅이라기 보다는 기능적인 블록 다이아그램임을 잘 이해할 것이다. 예를 들어, 비록 카운터(120), 카운트 인에이블 회로(122), 및 코드 변환기(124)가 시스템(100) 내에서 3개의 개별 블록들로 제시되지만, 이들은 CPU(102)를 구현하기 위해서 사용되는 디지털 신호 처리기(DSP)와 같은 하나의 물리적 성분내에 내장될 수 있다. 이들은 또한 CPU(102)에 의해 동작되는 코드와 같이 메모리(104) 내의 프로그램 코드들로 존재할 수 있다. 동일한 내용들이 도3의 시스템(100)에 리스트된 다른 성분들에도 적용된다.
시스템(100)의 동작은 수신기(110)내의 신호 흐름을 도시하는 도4의 블록 다 이아그램을 통해 보다 용이하게 이해될 수 있다. LNA(14)에 커플링되는 안테나(114)는 전자기 에너지를 탐지한다. LNA(14)의 출력은 공지된 믹서(16)에 커플링된다. LO(18)는 또한 믹서(16)에 커플링되며, 베이스밴드의 출력 신호를 발생시킨다. 베이스밴드 출력 신호는 로패스 필터(20)에 커플링된다.
기존 회로에서, 로패스 필터의 출력은 아날로그 디지털 변환기(ADC)(140)에 커플링된다. 일 실시예에서, ADC(140)는 1-비트 직렬 ADC 이다. 예를 들어, 델타-시그마 직렬 ADC가 사용될 수 있다. ADC의 출력은 ADC 필터(142)에 커플링된다. 전형적인 구현에서, ADC 필터(142)는 델타-시그마 로패스 필터로 구현될 수 있다.
기존의 DC 오프셋 보정 회로에서, DC 오프셋은 DC 필터(142)의 출력에서 측정되어 추가로 처리되어 DC 오프셋 보정 신호를 발생시킨다. 이러한 방법의 단점은 보정 회로의 응답 시간이다. ADC 필터(142)는 상대적으로 긴 응답 시간을 가지기 때문에, DC 오프셋 보정 회로는 상대적으로 긴 응답 시간을 갖는다. 이러한 방법은 예를 들어 수신기(110)의 이득이 변경되는 경우와 같이, DC 오프셋 신호 진폭의 돌발적인 변경들이 경험되는 경우에 특히 문제가 된다. 기존의 구현에서, 대략 적인(coarse) DC 오프셋 조정 회로가 정밀한(fine) DC 오프셋 조정 회로와 결합되어 결합된 DC 오프셋 보정 신호를 제공할 수 있다.
기존의 방식과는 대조적으로, 본 시스템(100)은 ADC(140)로부터 직접적으로 DC 오프셋 측정을 제공한다. 이는 ADC 필터(142)의 동작으로 기인하는 느린 응답 시간을 제거한다. 대략적인 DC 오프셋 조정 회로(146)는 ADC의 출력에 커플링되며, DC 오프셋 신호 진폭의 측정을 유도한다. 대략적인 DC 오프셋 조정 회로(146) 는 DC 오프셋 신호를 효과적으로 소거하기 위해서 합산기(148)에 커플링된다. 따라서, DC 오프셋 조정 회로(146)는 적어도 수신 신호에서 DC 오프셋 효과들을 소거하기 위해서 보상 또는 보정 신호를 발생시킨다.
다른 기존의 회로가 정밀한 DC 오프셋 조정을 제공하기 위해서 사용될 수 있음을 주목하여야 한다. 도4의 블록 다이아그램에서 제시된 바와 같이, 정밀한 DC 오프셋 조정 회로(150)는 정밀한 오프셋 조정을 제공한다. 이러한 정밀한 DC 오프셋 조정 회로의 동작은 공지되어 있고, 따라서 여기서는 상술되지 않는다. 정밀한 DC 오프셋 조정 회로(150)의 출력은 합산기(152)를 통해 ADC(140) 입력에 커플링된다.
대략적인 DC 오프셋 조정의 동작이 도5를 참조하여 아래에서 상술된다. 명확화를 위해서, 정밀한 DC 오프셋 조정 회로(도4)는 도5에서 제시되지 않는데, 왜냐하면 정밀한 DC 오프셋 조정 회로는 여기서 제시되는 대략적인 DC 오프셋 기술과는 독립적으로 동작하기 때문이다. 대략적인 DC 오프셋 조정회로(146)는 카운트 인에이블 회로(162)에 의해 제어되는 N-비트 카운터(160)에 의해 구현될 수 있다. 카운터(160)는 ADC(140) 출력에 커플링되는 입력을 가지며, 카운트 인에이블 회로(162)에 의해 제어되는 시간 기간 동안 카운팅한다. ADC(140)가 델타-시그마 ADC 변환기와 같이 직렬 ADC 인 경우에, 직렬 출력 라인은 카운터(160)의 카운터 입력 라인에 커플링된다. ADC가 논리 1 출력 값을 발생시킬 때마다, 카운터(160)는 증분된다. 카운터 인에이블 주기의 끝에, 카운터(160) 값은 코드 변환기(164)에 커플링되고, 코드 변환기는 디지털 아날로그 변환기(DAC)(166)에 커플링된다. DAC(166)의 출력은 상술한 바와 같이 합산기(148)에 커플링된다.
대략적인 DC 오프셋 조정 회로(146)의 간략화된 구현에서, 카운터 인에이블 회로(162)는 ADC(140)로 부터의 소정수의 샘플들에 대해서 카운터(160)를 인에이블한다. 샘플들의 이진 거듭제곱을 사용하는 것이 편리하다는 것이 결정되었다. 즉, 2의 거듭제곱과 동일한 수의 샘플들에 대해서 카운터(160)를 인에이블하는 것은 코드 변환기(164)의 간단한 구현을 허용한다.
당업자는 카운터(160)에 의해 측정되는 샘플들의 실제 개수의 선택이 시스템에 따라 다르게 적용될 수 있음을 잘 이해할 것이다. 너무 작은 수의 샘플들은 보정 신호의 오버슈트 및 언더슈트를 야기한다는 것이 발견되었다. 또한, 너무 많은 샘플들이 취해지면, 시스템 응답이 수용 불가능한 레벨로 느려진다. 실제로, ADC(140)로부터 64개의 샘플들이 양호한 샘플 범위를 제공하면서, 루프 응답 시간을 수용 불가능한 수준으로 느려지지 않도록 한다는 것이 발견되었다.
예를 들어, 64개의 샘플들이 ADC(140)로부터 취해지는 경우, 카운터(160)는 논리 값 1이 ADC에 의해 발생될 때마다 그 카운트 값을 증분한다. 대략적인 오프셋 조정 회로(146)의 동작에 관한 예가 도움을 줄 것이다. 카운터 값들 및 대응하는 보정 값들의 예들이 아래 테이블 1에 제시된다.
샘플들 |
카운터 값 |
코드 보정 값 |
논리 0 |
논리 1 |
|
|
32 |
32 |
100000 |
000000 |
48 |
16 |
010000 |
110000 |
16 |
48 |
110000 |
010000 |
64 |
0 |
000000 |
100000 |
0 |
64 |
111111 |
011111 |
테이블 1
테이블 1에 제시된 바와 같이, 대략적인 DC 오프셋 조정 회로(146)는 용이하게 구현될 수 있으며, ADC(140)의 출력에 직접 커플링되고, 임의의 필터 응답 시간(예를 들면, ADC 필터(142)의 응답)에 의해 느려지지 않기 때문에, 수신된 신호에서 DC 오프셋을 보정함에 있어 고속 응답을 제공한다.
ADC(140)가 고르게 분포된 값들(즉, 논리 1을 갖는 32개의 값들 및 논리 0을 갖는 32개의 값들)을 발생시키는 경우, 카운터(160) 출력은 이진수 32(즉 100000 이진 값)가 된다. 코드 변환기(164)는 DAC(166)를 통해 2의 보수 버젼(twos complement version) 으로 이러한 논리 값을 변환한다. 카운터가 2개의 샘플들의 거듭제곱(예를 들어, 64개의 샘플들)에 대해 인에이블되는 구현에서, 코드 변환기(164)는 카운터로부터의 최상위 비트(MSB)의 논리 값을 인버팅하는 인버터로서 간단하게 구현될 수 있다. 카운터 값이 100000 인 상기 예에서, MSB 의 인버젼은 000000 보정 값을 생성한다. 따라서, DAC(166)는 어떠한 보정 전압도 발생시키지 않을 것이며, 이는 ADC(140)가 동일한 수의 1 및 0 값들을 발생시켰기 때문에 적절하다.
또 다른 예에서, 16개의 샘플들이 1의 논리 값을 가지고, 48개의 샘플들이 0의 논리 값을 갖는 64개의 샘플들을 생성한 경우를 살펴본다. 이러한 예에서, 카운터는 이진 16(즉, 010000) 카운트를 발생시킨다. 또한, 코드 변환기(164)는 MSB를 인버팅하여 이진 보정 값 110000(즉, 음의 이진 값 16)을 발생시킨다. 이 값은 DAC(166)로 제공되고, DAC 는 합산기(148)를 통해 시스템 내로 커플링되는 보정 값을 발생시킨다.
또 다른 예에서, 48개의 샘플들이 1의 논리 값을 가지고, 16개의 샘플들이 0의 논리 값을 갖는 64개의 샘플들을 생성한 경우, 카운터(160)의 이진 출력은 110000이다. 코드 변환기(164)는 MSB를 인버팅하여 이진 보정 값 010000(즉, 양의 이진 값 16)을 발생시킨다. 이 값은 DAC(166)로 제공되고, DAC 는 합산기(148)를 통해 시스템 내로 커플링되는 필요한 보정 값을 발생시킨다.
ADC(140)로부터의 64개의 샘플들이 모두 논리 1의 값을 가지고, 논리 0의 값을 가지는 샘플들이 존재하지 않는 경우에, 카운터(160)의 출력은 이진 64가 된다. 당업자는 이진 데이터 64를 표현하는데 7개의 데이터 비트들을 취한다는 것을 잘 이해할 것이다. 그러나, 설계 및 구현을 간단하게 하기 위해서 카운터의 비트들의 수를 제한하는 것이 편리하다. 따라서, 이와 같이 일반적이지 않은 경우에, 카운터(160)는 이진 출력 111111(즉, 이진 63)으로 그 카운트가 제한된다. 코드 변환기(164)는 MSB를 인버팅하여 이진 보정 값 011111(즉, 양의 이진 값 31)을 발생시킨다. 이 값은 DAC(166)로 제공되고, DAC 는 합산기(148)를 통해 시스템 내로 커플링되는 필요한 보정 값을 발생시킨다. 64개의 샘플들 어느 것도 논리 1 값을 가지지 않는 경우에, 카운터(164) 출력은 000000(즉 이진 0)이다. 코드 변환기(164)에 의해 MSB 가 인버젼 된 후에, 이진 보정 값은 100000(즉, 음의 이진 값 32)이다. 당업자는 여기서 제시된 예들은 시스템(100) 동작을 예시하기 위한 것이고, 이러한 예들로 본 발명이 제한되지 않음을 잘 이해할 것이다. 다른 카운트 길이들 및 코드 보정 값들이 본 시스템(100)을 만족스럽게 구현하기 위해서 사용될 수 있다.
본 시스템(100)의 동작은 도6의 흐름도에서 제시된다. 시작(200)에서, 시스템(100)은 전력이 제공되고 동작상태가 된다. 단계(202)에서, 시스템(100)은 카운터(160)를 초기화한다. 초기화는 카운터(160)의 리세팅을 포함하고, 또한 카운터로서의 사용을 위해 CPU(102)(도3) 또는 메모리(104)내에 레지스터들을 할당하는 것을 포함한다. 단계(204)에서, 카운터(160)는 인에이블된다.
결정단계(206)에서, 본 시스템(100)은 ADC(160)에 의해 발생되는 샘플들을 트랙킹한다(도4 참조). ADC(160)가 논리 1을 발생하면, 결정 단계(208)는 예(YES)이다. 이러한 경우, 시스템은 단계(208)에서 카운터(160)를 증분한다. ADC(160)가 논리 0 을 발생하면, 결정(208) 결과는 아니오(NO)이고, 카운터(160)는 증분되지 않는다.
결정 단계(212)에서, 시스템은 방금 수신된 샘플이 최종 샘플인지 여부를 결정한다. 상술한 바와 같이, 시스템(100)의 편리한 구현은 2의 거듭 제곱에 상응하는 샘플들 수를 사용할 것이다. 이는 코드 변환기(164)의 간단한 구현을 제공한다. 그러나, 시스템(100)의 만족스러운 동작은 다른 수의 샘플들을 사용하여서도 달성될 수 있다. 또한, 2의 자승 샘플들 수가 선택되면, 시스템(100)은 상술한 예와 같이 64개의 샘플들로 제한되지 않는다.
현재 샘플이 최종 샘플이 아니면, 결정(212) 결과는 아니오(NO)이고, 시스템은 결정 단계(206)로 리턴하여 ADC(160)로부터 다음 샘플을 분석한다. 현재 샘플이 최종 샘플이면, 결정(212) 결과는 예(YES) 이다. 이러한 경우, 시스템(100)은 단계(214)에서 카운터를 디스에이블시키고 카운터 값을 단계(216)에서 변환한다. 단계(218)에서, 코드 변환기(164)의 출력은 DAC(166)로 전달되고 시스템(100)은 카운터를 재초기화하기 위해서 단계(202)로 리턴된다. 이 지점에서 이러한 초기화는 카운터(160)를 재설정하는 것은 포함한다. 따라서, 시스템(100)은 고속의 대략적인 DC 오프셋 보상 시스템을 제공한다.
상술한 실시예들은 상이한 다른 컴포넌트들 내에 포함되거나, 또는 상이한 다른 컴포넌트들과 연결되는 상이한 컴포넌트들을 제시한다. 이러한 제시된 구조들은 단지 예시적일 뿐이며, 이들과 동일한 기능을 달성할 수 있는 다른 대안적인 구조들이 구현될 수 있음을 주목하여야 한다. 개념적으로, 동일한 기능성을 달성할 수 있는 임의의 컴포넌트 장치는 요구되는 기능성이 달성되도록 효과적으로 "관련(associated)" 된다. 따라서, 특정 기능성을 달성하기 위해서 여기서 결합되는 임의의 2개의 컴포넌트들은 구조 또는 중간 컴포넌트들과 무관하게 요구되는 기능성이 달성되도록 서로 관련되는 것으로 인식될 수 있다. 이와 같이, 관련되는 2개의 컴포넌트들은 요구되는 기능성을 달성하기 위해서 서로 "동작적으로 연결" 되거나, "동작적으로 커플링" 되는 것으로 또한 인식될 수 있다.
본 발명의 특정 실시예들이 여기서 제시되었지만, 당업자는 여기서 제시된 내용에 기반하여 본 발명의 사상을 벗어남이 다양한 변형 및 변경을 수행할 수 있고, 따라서 첨부된 청구항들은 이러한 다양한 변형 및 변경들을 포함한다. 또한, 본 발명은 첨부된 청구범위에 의해서만 정의되는 것으로 해석된다. 당업자는 본 명세서(특히 청구범위)에서 사용되는 용어들이 포괄적 용어로 해석되어야 함을 잘 이해할 것이다(예를 들어, "포함하고" 라는 용어는 "포함하지만, 이들로 제한되지 는 않는" 으로 해석되며, "가지는" 이라는 용어는 "적어도 ~을 가지는" 으로 해석된다). 당업자는 또한, 종속 청구항들은 인용하고 있는 독립 청구항(또는 종속 청구항)들의 내용을 한정, 부가, 또는 구체화하는 청구항임을 잘 이해할 것이다. 예를 들어, 이해를 돕기 위해, 종속 청구항은 "~에 있어서" 또는 "~항 또는 ~ 항에 있어서" 라는 용어를 통해 인용하는 청구항을 특정한다. 그러나, 이러한 용어의 사용은 특정 청구항을 인용하고 있더라도, 이는 특정 청구항만을 인용하는 것으로 해석되어서는 안 되고, "적어도" 특정 청구항을 포함한다는 의미로 해석되어야 한다. 또한, 인용하는 청구항의 특정 수가 명백하게 인용되더라도, 당업자는 이것이 적어도 이러한 특정 청구항들을 포함한다는 의미로 해석되어야 함을 잘 이해할 것이다(예를 들어, 2개의 청구항을 인용하고 있는 경우, 이는 적어도 2개의 청구항들, 또는 2개의 청구항들 또는 그 이상의 청구항들을 의미하는 것으로 해석되어야 한다).