회로가 하는 일, 계산이 하는 일
안테나로 받은 신호는 어디까지 회로가 바꾸고, 어디부터 계산이 바꿀까? 신호를 원하는 모습으로 바꾸는 방법은 두 가지이다. 하나는 마이크로파 회로이다. 필터, 증폭기, 감쇠기 안에서는 전압과 전류가 소자와 물리적으로 상호작용하며 신호가 바뀐다. 다른 하나는 디지털 신호 처리(digital signal processing, DSP)이다. A/D 변환기가 신호를 일정한 간격으로 재서 숫자열로 바꾸면, 그 뒤에는 곱셈과 덧셈으로 신호를 바꾼다.
pysdr.org가 예로 드는 AD9081의 수신 경로는 두 방법을 한 줄로 잇는다. 안테나로 들어온 신호는 필터, 증폭기, 가변 감쇠기를 지나 초당 40억 번(4 GSPS) 재는 A/D 변환기로 들어간다. 그 뒤는 모두 계산이다. A/D 변환기가 잰 값 하나하나를 샘플(sample)이라고 한다.
계산에 쓰는 가중치를 바꿀 수 있는 PFIR(programmable FIR) 필터가 먼저 대역별 크기를 조절한다. NCO(numerically controlled oscillator)는 cos·sin 샘플열을 만드는 발진기이고, 이 값을 신호에 곱하면 원하는 대역이 0 Hz 근처로 옮겨 간다. 이어 필터로 나머지 대역을 걸러 낸 뒤, 샘플을 네 개에 하나만 남겨 샘플링 주파수(1초에 재는 샘플 수)를 줄인다.
대역을 옮기고 걸러 낸 뒤 샘플 수를 줄이는 이 묶음을 DDC(digital down-converter)라고 하며, AD9081은 이 일을 coarse DDC와 fine DDC라는 두 단에서 차례로 한다. cos와 sin을 따로 곱했으므로 출력은 I와 Q 두 줄이다.
회로를 지날 때는 대역의 자리가 그대로이고 크기와 구성만 바뀐다. 안테나(가)는 원하는 대역 둘레의 세 대역 말고도 2600 MHz의 센 신호를 함께 받는다. 4 GSPS로 재면 2000 MHz 위의 성분은 낮은 주파수 성분과 같은 샘플이 되므로(7장), 대역 통과 필터(나)가 A/D 변환기 앞에서 그 성분을 걸러 낸다. 증폭기(다)는 모든 대역을 5배로 키워 원하는 대역이 A/D 변환기가 받을 수 있는 최대 입력을 넘고, 가변 감쇠기(라)가 0.8배로 줄여 그 아래로 맞춘다.
계산 단계를 지날 때마다 신호가 주파수축에서 차지하는 자리가 바뀐다. A/D 변환기가 잰 샘플열(①)에서 원하는 대역은 750 MHz에 있다. 이 대역은 0 Hz 쪽으로 옮겨 가고(②, ⑤), 이웃한 대역은 걸러지고(③, ⑥), 샘플링 주파수와 함께 주파수 범위가 줄어든다(④, ⑦).
실수 값 신호의 스펙트럼 크기는 양의 주파수와 음의 주파수에 거울상으로 나타난다. I와 Q를 한 복소수 로 묶은 DDC 출력은 실수 신호가 아니므로 이 대칭이 없다. 샘플열의 스펙트럼은 샘플링 주파수 간격으로 반복되므로 그림에는 인 한 구간만 보인다(자세한 내용은 6·7장).
그림에서 ▶를 누를 때마다 신호가 블록 하나를 지나고, 그 블록 뒤의 스펙트럼이 앞 패널의 스펙트럼에서 바뀌어 그려진다. 안테나에서 시작해 회로 네 단계(가–라)를 지난 뒤 계산 일곱 단계(①–⑦)로 이어진다.
가–라는 A/D 변환기 앞의 회로, ①–⑦은 뒤의 계산이고, 붉은 점선은 A/D 변환기의 최대 입력, ↓4는 샘플을 네 개에 하나만 남긴다는 뜻이다. 대역의 자리와 크기, 이득, NCO 주파수는 단계를 보이려고 정한 예시 값이고, 필터는 이상적인 필터로 그렸다. 구성 참고: pysdr.org의 AD9081 수신 예.
해 보기
- 증폭기(다)를 지난 뒤 원하는 대역의 크기가 A/D 변환기의 최대 입력과 비교해 어떤지 확인하라.
관찰
0.25이던 크기가 5배인 1.25가 되어 붉은 점선(최대 입력 1.1)을 넘는다. 다음 단계의 가변 감쇠기가 0.8배로 줄여 1.0으로 맞춘다.
- ② NCO를 곱한 뒤 스펙트럼의 성분이 어디로 옮겨 가는지, 좌우 대칭이 왜 깨지는지 확인하라.
관찰
모든 성분이 700 MHz씩 왼쪽으로 옮겨 가 원하는 대역이 50 MHz에 온다. 음의 주파수 쪽 짝은 −1450 MHz로 가므로 스펙트럼이 더는 좌우 대칭이 아니다.
- ④ 첫 ↓4를 지난 뒤 샘플링 주파수와 주파수 범위가 어떻게 바뀌는지, 두 대역이 그대로 남는지 확인하라.
관찰
샘플링 주파수가 4 GSPS에서 1 GSPS로 줄고, 주파수 범위도 ±2000 MHz에서 ±500 MHz로 준다. 필터를 지나 남은 두 대역(50 MHz, 280 MHz)은 이 범위 안에 있어 그대로 남는다.
- 마지막 ⑦을 지난 뒤 어느 대역이 어디에 남는지 확인하라.
관찰
250 MSPS, 범위 ±125 MHz 안에 원하는 대역 하나만 0 Hz를 가운데로 남는다. 750 MHz에 있던 대역을 700 MHz와 50 MHz, 두 번에 나눠 옮겼다.
그림의 각 단계가 이 과목의 한 주제이다. 필터가 입력을 어떻게 바꾸는지는 컨볼루션(3장)과 주파수 응답(6장)으로 계산한다. 정현파를 곱하면 주파수가 옮겨 가는 이유는 복소수와 푸리에 변환(4·6장)이 설명한다. A/D 변환기가 얼마나 자주 재야 하는지, 샘플을 줄여도 되는 조건은 무엇인지는 7장에서 다룬다.
A/D 변환기가 하는 일
A/D 변환기는 연속으로 변하는 신호에서 무엇을 남기고, 무엇을 놓칠까? A/D 변환기는 연속으로 변하는 물리량을 일정한 간격으로 재서 숫자로 남긴다. 이렇게 일정한 간격으로 샘플을 얻는 일이 샘플링(sampling)이다.
비행 고도를 10 min마다 잰 기록이 65 min까지 왔다고 하자. 샘플은 60 min의 10 km까지 찍혔다. 샘플을 곧은 선으로 이은 추측은 곡선이 휘는 15 min 부근에서 이미 실제 값과 0.68 km 어긋난다. 65 min의 실제 고도는 7.6 km이고, 다음 샘플은 70 min의 9.84 km이다. 추측은 10 km에서 9.84 km로 곧게 건너가므로, 그 아래로 내려간 실제 곡선과의 틈이 새로 생긴다. 그래서 가장 큰 틈이 65 min의 2.32 km로 커진다.
합성 데이터로, 진한 곡선이 실제 값, 초록 점이 찍은 샘플, 초록 점선이 샘플을 곧은 선으로 이은 추측이고, 붉게 칠한 곳이 추측과 실제 값의 틈이다. 세로 치수선은 지금까지 가장 큰 틈을 재고, 고리를 두른 마지막 샘플 옆에는 그 값을 적었다. 구성 참고: Jack Schaedler, Seeing Circles, Sines, and Signals의 신호 절.
해 보기
- 측정 간격이 5 min이면 65 min의 골이 기록에 잡히는지, 가장 큰 틈이 얼마인지 확인하라.
관찰
65 min에 새 샘플 n = 13이 찍히고, 그 값이 실제 고도 7.6 km와 같다. 추측도 골 안으로 따라 내려간다. 끝까지 찍은 기록에서 가장 큰 틈은 0.77 km로, 10 min 간격일 때의 2.32 km보다 작다.
- 간격은 10 min이고 짧은 변화가 없는 고도 곡선에서, 샘플을 짧은 변화가 있을 때의 샘플과 비교하라.
관찰
65 min의 실제 고도가 10 km가 되어 추측 9.92 km와 거의 겹친다. 그런데 샘플은 60 min의 10 km, 70 min의 9.84 km로 짧은 변화가 있을 때와 똑같다. 서로 다른 두 곡선이 같은 기록을 남긴다.
- 차량 속도를 5 s마다 잰 기록에 차가 잠깐 속도를 줄인 것이 남는지 확인하라.
관찰
5 s마다 잰 기록이다. 32.5 s의 실제 속도는 11.04 m/s이지만, 앞뒤 샘플은 30 s의 20.5 m/s와 35 s의 20.47 m/s이고 추측은 그 사이를 곧게 지난다. 가장 큰 틈 9.44 m/s가 그 자리에 칠해진다. 차가 잠깐 속도를 줄인 것이 기록에 남지 않는다.
10 min 간격의 기록만 보면 60 min에서 70 min까지 고도가 10 km 근처에 머문 것처럼 보이지만, 실제로는 그 사이에 7.6 km까지 내려갔다. 샘플 사이에서 일어난 짧은 변화는 기록에 남지 않는다.
주파수 성분에서도 같은 일이 일어난다. 샘플링 주파수로 구별할 수 있는 범위를 넘는 높은 주파수 성분은 샘플링 뒤에 낮은 주파수 성분과 같은 샘플을 남긴다. 두 성분은 샘플로 구별되지 않으므로, 이렇게 섞인 성분은 뒤의 디지털 필터로 떼어 낼 수 없다(aliasing; 7장). 그래서 A/D 변환기 앞의 회로 필터가 대역을 먼저 제한한다.
비행 고도를 10 min마다 재어 60 min에 10 km, 70 min에 9.84 km를 얻었다. 65 min의 고도를 옳게 말한 것을 고르라.
풀이
답 (가) 두 샘플만으로는 정할 수 없다.
- (나) 60 min과 70 min 사이에 더 내려갔다 올라와도 같은 두 샘플이 나온다.
- (다) 그것은 샘플을 곧은 선으로 이은 추측이고, 그렇게 이을 근거는 없다. 위 그림에서 65 min의 실제 고도는 7.6 km로, 추측과 2.32 km 어긋났다.
샘플은 잰 순간의 값만 남긴다. 위 그림에서 짧은 변화를 없앤 곡선과 크게 둔 곡선은 10 min 간격에서 같은 샘플을 남기지만, 65 min의 값은 10 km와 7.6 km로 다르다. 샘플 사이의 값을 알려면 더 촘촘히 재거나, 신호가 샘플 간격 안에서 얼마나 빨리 변할 수 있는지를 따로 알아야 한다. 이 조건은 7장의 샘플링에서 다룬다.
하루 기온 기록이다. 13 h 무렵 기온이 잠깐 최대 8 °C 올랐는데, 2 h마다 잰 기록에는 이 변화가 없다. '측정 간격'을 바꿔 기록이 이 변화를 잡게 하라.
풀이
답 1 h 또는 30 min. 13 h에 샘플이 하나 놓이면 된다.
짧은 변화는 13 h 앞뒤로 약 0.77 h씩, 모두 1.5 h 남짓 이어진다. 2 h 간격이면 샘플이 12 h와 14 h에 놓여 변화의 앞과 뒤만 잰다. 1 h 간격이면 13 h 샘플이 37.52 °C를 잡고, 칠해진 틈도 7.78 °C에서 2.45 °C로 준다. 간격이 변화가 이어지는 시간보다 짧으면 적어도 샘플 하나가 그 안에 놓인다.
강의 노트