샘플링...

LabView/E.T.C 2011. 3. 30. 10:21

Sampling 이론은 1920년대에 나온 Nyquist 라는 사람의 논문에서 말한 신호대역에 2배보다 큰 주파수로 샘플링하면 원 신호를 찾을 수 있다는 것으로 기본을 하고 있습니다.
일반적인 Sampling 이론에서는 일정하지 않는 주기의 클락으로 샘플링하는 경우도 다루나, 특수한 그러나 가장 일반적인 일정한 주기를 가진 클락에 의한 샘플링에 한해 설명드리겠습니다.

샘플링과정은 산수적으로는 시간함수를 임펄스열함수(Impulse Train Function)로 곱한 것과 나타냅니다.
이 식을 Fourier 변환을 하면 원 함수의 Fourier 변환된 함수와 임펄스열함수의 Fourier 변환된 함수 즉 주기의 역수인 주파수의 임펄스열함수와의 Convolution이 됩니다.
만일 원 신호가 LPF된 신호라면, 임펄스열함수의 주파수를 중심으로 반복되는 함수열로 나타납니다. 이 LPF된 신호의 대역이 임펄스열함수의 주파수의 절반보다 작으면 스펙트럼상 겹치는 부분이 생기지 않아서 원 신호의 정보를 복원할 수 있고, 겹치면 간섭에 의해 원 신호를 찾을 수 없게 됩니다. 스펙트럼이 겹치는 현상은 Aliasing 이라고 합니다.
이것으로 Nyquist 정리가 증명이 되는 것입니다.
Nyquist Rate 이상으로 샘플링된 신호에서 원 신호를 되찾는 방법은 이상적인 LPF를 하면 되는 것입니다.

신호를 ADC하거나 DAC를 하면 이 Nyquist Sampling Theorem을 벋어날 수가 없습니다. ADC하기 전에 Aliasing을 피하기 위해 Anti-aliasing Filter를 통해야 하고, DAC이후에는 신호를 복원하는 필터를 통과해야 합니다.

문제는 이 Anti-aliasing Filter와 신호를 복원하기 위한 Filter에 있습니다.

직접 변환하는 ADC와 DAC에서 필요한 Anti-aliasing Filter나 신호 복원용 필터를 이상적인 Low Pass Filter로 하는 것은 아날로그 회로로 비슷하게라도 구현 것이 불가능에 가깝기에 Nyquist Rate 보다 조금 높은 샘플링 주파수를 사용하거나, 몇배 볓배의 Over sample DAC나 ADC를 사용하게 되는 것입니다.
CD에서 44.1kHz를 사용하는 것은 조금의 여유를 주자는 것이나, 20kHz와 22.05kHz사이의 너무 가까워 20kHz까지는 평탄하다가 22.1kHz에서 90dB의 차단을 해야 하는 필터 구성은 아날로그에서는 쉽지 않습니다. 그래서 ADC는 고가의 스튜디오용 장비가 되어야 하고, DAC에는 복잡한 필터가 붙어야 했습니다.
DAT에서 샘플링 주파수를 48kHz를 사용하는 이유는 20kHz 로 부터 24kHz의 거리를 넓혀서 휴대용기기에서 Anti-aliasing Filter를 구현하기 위한 것입니다.
Over Sample DAC의 경우는 신호 데이터의 샘플링 주파수를 몇배로 Interpolation한 후에 디지털 필터로 신호 복원용 LPF를 하고 DAC에 의해 아날로그 신호를 바꾸어 주면, 원하는 신호인 베이스 밴드 신호로부터 다음에 나타나는 신호간의 스펙트럼간의 간격이 멀어져서, 뒷단의 복원용 아날로그 필터가 간단해도 됩니다. 즉 Active Filter나 복잡한 RLC필터 대신 간단한 RC필터만으로도 됩니다. 즉 8배 오버 샘플의 경우 20kHz와 44.1k*8-20=332kHz사이에서 90dB를 차단하는 필터를 구성하기에 쉬워지는 것입니다.
Over Sample ADC의 경우에는 중요한 주파수 대역과 샘플링 클락 주파수의 절반 과의 차이가 크기때문에 간단히 Anti-Aliasing Filter를 구성할 수 있으며, ADC된 디지털 데이터에서 디지털 필터로 원하는 주파수 대역 만 선택하는 필터를 할 수 있게 합니다.

근래의 대부분의 오디오 용의 ADC나 DAC는 빠른 샘플링보다는 해상도의 비트수가 필요하기에 Sigma Delta 방식을 사용합니다. 이 방식이 나오면서 오디오용 DAC/ADC가 쉬워진 것입니다.
같은 Sigma Delta형에서는 Sigma Delta 변조 주파수가 일정하기에 필요한 대역에 대해 필요 이상의 오버 샘플링 주파수로 올려도 필요대역에서의 품질은 올라가지 않습니다. ADC 경우 동일한 Sigma Delta 변조된 신호에서의 디지털 필터와 Decimation에서만 차이가 나기 때문입니다. 오히려 오버 샘플링된 데이터로 ADC하거나 DAC를 하는 것이 추출되는 또는 들어오는 데이터와 Sigma Delta 변조기의 주파수간의 차이가 줄어들어 오히려 특성이 나빠지는 것이 일반적인 현상입니다.

Sigma Delta형 ADC에서의 Anti-aliasing Filter입장에서 보면, 출력 Data Rate가 높으면 구성이 간단해지나 Decimation시 Digital Filter로 잡아 주기에 큰 차이는 없을 것입니다.
Sigma Delta형 DAC에서의 신호복원 필터의 관점에서보면, 출력 신호의 샘플링 주파수가 높아도(배수가 커도) DAC의 Sigma Delta 변조기의 주파수는 동일하기에 좋아질 것이 없습니다.

Sample된 데이터를 양자화시켜서 2진 수로 표시합니다. 이때의 최대자리(MSB)의 자리수를 비트 수라고 합니다.
비트 수는 신호를 얼마나 정확히 표시하느냐를 나타내며, 신호에서는 양자화시 원신호와의 차이를 양자화잡음이라고 합니다. 신호와 양자화 잡음의 비(SNR)는 2진 N자리수의 디지털 수의 경우 최대 신호에서 6.02N+1.76(dB)가 됩니다. 대략 1bit에 6dB로 하여 16bit의 경우 16*6=96dB라고 하나, 정확히는 98dB가량 됩니다.
LP의 경우 신호의 최대치와 잡음의 비가 60dB정도이니, CD가 38dB(전력으로 6300배, 전압으로는 79배)의 잡음과 신호의 차이 즉 다이나믹레인지를 가집니다.

나이퀴스트 샘플링 이론(통신)

디지틀 신호란 신호의 크기가 연속적인 값을 가지지 않고 '0'과 '1'만 가지는 신호를 말한다. 이러한 디지틀 신호는 '0'과 '1'만 구별하면 되므로 신호전송에 있어서 잡음에 강한 특성을 보인다. 아날로그 신호는 샘플링과 양자화 과정을 거치면 디지틀 신호로 변환할 수 있는데 음성신호를 디지틀 신호로 변환한 대표적인 예가 PCM(Pulse Code Modulation) 이다. PCM은 음성신호를 1초에 8000번 샘플링하여 각 샘플링한 값을 8bit의 디지틀 신호로 변환, 64kbps 디지틀 신호로 만든 것이다.


아날로그 신호를 디지틀화 하기 위해서는 일정한 간격으로 샘플링을 해야 한다. 이러한 샘플링 간격은 아날로그 신호의 대역폭에 따라 결정된다. 아날로그 신호의 대역폭과 샘플링 속도와의 관계를 나이퀴스트(Nyquist) 샘플링 주파수라 하여 아날로그 신호 주파수 대역폭의 두 배가 되는 주파수로, 이 주파수보다 더 높은 속도로 샘플링을 해야 원래의 아날로그 신호를 복구할 수 있다. 음성신호의 경우 신호대역이 300 ~ 3400 Hz 이므로, 이를 4000Hz까지로 보고 4000Hz의 두 배인 8000Hz로 샘플링 하면 원래 아날로그 신호정보를 잃어버리지 않고 샘플링할 수 있는 것이다.


샘플링된 신호를 양자화 과정을 거친 후 디지틀 신호로 만들면 원래의 신호보다 훨씬 넓은 대역폭을 가지는 디지틀 신호가 된다. (예를 들어 음성신호 대역폭은 300 ~ 3400Hz이지만 PCM 신호인 디지틀화된 음성신호는 최소 64kHz이상의 대역폭을 가진다.)


이와 같이 디지틀 신호는 주파수 대역만 살펴보면 효율이 떨어지지만 전송이나 보관시 데이터가 잡음에 강하고 디지틀 신호를 처리하는 기술(데이터 압축, 필터링 등)이 발달함에 따라서 점점 더 적은 비트수를 가지고 음성신호를 재생할 수 있다. 음성신호의 경우 PCM은 64kbps 이지만 이를 압축하면 8kbps 이하로도 데이터 양을 줄일수 있다. 이와 같은 기술을 이용하여 이동통신에서 무선구간 전송에 디지틀 방식을 사용하는 것이다. 이러한 데이터 압축기술이 없었다면 PCM 신호인 64kbps 의 속도를 가진 신호를 무선접속방식에 적용하기는 주파수 효율이 너무 낮아서 매우 곤란했을 것이다.


이러한 디지틀 신호 여러 개를 동시에 전송하는 방법으로 이미 TDM (Time Division Multiplex) 방식이 사용되고 있다. 이 TDM방식과 같은 개념을 적용한 것이 TDMA 기술이다, 이는 정해진 주파수 대역(대개 FDMA 방식의 채널 대역보다 훨씬 넓다.)을 주기적으로 일정한 시간간격으로 나누어서 각 사용자가 차례대로 자기에게 할당된 시간동안 자기신호를 전송하는 것이다. 수신하는 쪽에서는 역시 자기시간에 해당하는 동안만 수신정보를 수집하는 방식이다. 이러한 시간 간격을 타임슬롯(time slot)이라 하며 자기 정보를 수신하기 위하여 타임 게이트(Time Gate)를 사용한다. 즉 어떤 전송채널에 보낼 수 있는 총 데이터 속도가 100 kbps라면 음성신호의 경우 대개 20kbps 내외의 전송속도가 필요하므로 이 100kbps 신호속도에 20kbps 신호 5 개를 실어서 보낼 수 있다. 이때 100kbps 신호에 20kbps 신호를 차례로 5 개 보내고 다시 다음에 5 개를 보내는 것이다. 각 사용자 입장에서 보면 이것은 자기가 통화하는데 필요한 20kbps 신호만을 송수신하는 것이지만 무선채널을 사용할 때는 100kbps 채널을 총 5 개의 타임슬롯으로 나누어서 각 사용자는 각각 하나의 타임슬롯을 점유하여 데이터를 전송하는 것이다.


TDMA 방식에서 각 음성채널은 바로 이 타임슬롯이다. 음성채널수를 늘리기 위해서는 이 타임슬롯을 늘려야 하는데 타임슬롯을 늘리면 각 전송채널도 역시 넓어져야 하므로 RF 전송채널 대역폭과 타임슬롯수를 적절하게 결정해야 한다. 현재 디지틀 방식 이동전화의 대표적인 GSM 방식은 전송채널 대역폭이 200kHz로 타임슬롯수는 8 개이다.


이를 디지틀 방식과 비교해 보면 디지틀 방식은 요구되는 신호대 잡음비가 약 6dB-7dB 이고, 이로 인하여 주파수 재사용 계수를 4 또는 3 정도까지 줄일 수 있어, 이미 여기서 가입자 수용용량이 약 2배 가량 증가한다

'LabView > E.T.C' 카테고리의 다른 글

병렬 Loop에서 프로그램 관련  (0) 2011.04.01
Sample rate(샘플레이트)와 Bit rate (비트레이트)  (1) 2011.03.30
GPIB 명령어  (1) 2011.01.24
GPIB  (0) 2011.01.24
EXE. 만들때 Report Generation 툴킷 포함 방법  (0) 2011.01.19
Posted by 도전대박