본문 바로가기

신호처리기초

Nyquist Theorem 나이퀴스트 이론 정리 및 Sampling Rate

우리가 샘플하려는 소리의 가장 높은 주파수보다 2배 이상의 sampling rate를 사용하면 정확하게 소리를 만들어낼 수 있다.

1) Band-limited 되어있어야 한다.

2) 샘플링 주파수가 신호의 최대 주파수의 2배 이상이 되어야 한다.(Fs≥2Fmax)

 

라고 익히 알고 있다. 이 문장들의 의미를 하나하나 살펴보자.

 

 

이때 조심해야 할 것은 몇 번을 쪼개냐의 문제가 아니라 2배 이상이면 정확하게 소리를 다시 만들어 낼 수 있다는 것

 

sampling rate를 높게 잡아 소리를 더 정확하게 담는다... 라는 표현은 틀린 말이다. 이는 nyquisst theorem에서 말하고자 하는 것이 아니다.

 

2배 이상으로 sampling rate를 잡으면 정확한 복원이 가능하다 라는 이야기를 하고싶은 것이다.

 

 

 

Band-limited?

 

사람이 들을 수 있는 소리가 [20, 20k]Hz이다. 그렇기 때문에 20kHz 이상의 신호가 샘플링될 시

원래같으면 듣지 못하는 소리가 들려버리게 된다. 이게 바로 Aliasing이다. 이러면 당연히 안되지 않겠는가!!

 

그렇기에 우리가 정한 sampling rate 를 넘는 소리는 차단하는 low pass filter을 먼저 거쳐서 가청 주파수영역만 남게 만든다.

 

20k x 2 = 40k 만큼의 샘플링을 딱 하고 나머지는 차단하면 이상적이겠다!

 

그러나 생각하는 것처럼 계단함수 스러운 Analog Anti-Aliasing Filter에서는 그러한 이상적인 필터를 만들어내기 어렵다.

서서히 밟아뭉개는 시그모이드의 느낌이라서 그런지 뭘 해도 문제점이 존재한다.

 

어디에 위치시키면 어떠한 문제점이 생기는지 아래를 참고하여 이야기하자.

 

샘플링 이야기 (2) - 44.1kHz, 충분한가?

지난 샘플링 이야기 첫번째 편에서는 나이퀴스트 이론과 기본적인 샘플링에 대해서 다루어 보았습니다. 이번 편에서는 조금 더 깊게 파고들어가 보려고 합니다. 첫번째 샘플링 이야기를 읽고

www.alanjshan.com

결론적으로는 Analog Anti-Aliasing Filter을 사용함으로써 고주파영역이 손실되거나 Phase Distortion이 야기될 수 있다.

 

 

이때 Digital Anti-Aliasing Filter은 Analog Anti-Aliasing Filter과 달리 우리의 원대로 계단함수 스럽게 제한할 수 있다.

다만, Digital filter은 input이 Digital이어야 해서 Analog Filter를 필요로 한다.

어떤 trick을 쓰느냐?

Analog Filter은 필터가 적용되는 그시점 전후로 주파수 손실과 Phase distortion이 발생하는 것이니,
아예 우리가 원하는 sampling rate의 4배나 8배로 over sampling한 digital signal로 만들면
왜곡되는 부분이 한ㅡ참 멀리 있어서 우리가 원하는 부분은 잘 보존된다 ^_^ 알바야?
그다음 여기에 Digital Anti-Aliasing Filter을 적용하면 드디어 우리가 원하는 신호를 깨끗하게 받을 수 있다!

 

 

익히 알고 있는 44.1kHz은 충분히 가청 주파수 이내의 소리를 왜곡 없이 담을 수 있다.

그러나 Digital Anti-Aliasing Filter가 가지고 올 왜곡이 존재할 가능성은 열려 있다.

이런 이유로 이론적으로 높은 sampling rate 48k, 88.2k, 96k, ... 을 사용한다면 디지털 필터까지도 가청주파수 위로 멀리 보내기에 더욱더 왜곡이 없는 깨끗한 소리를 담을 수 있다.

 

근데 또 그렇다고 무조건 높은 Sampling Rate가 좋은 것은 아니다. 초고역대에서는 Analog Anti Aliasing Filter가 불안정해질 수 있기 때문이다.

 

그리고 44.1, 48, 88.2 ... 로부터의 소리 차이에 대해서도 "차이가 있다"고 입증된 적이 없다.

 

 

그러므로 Sampling Rate 사용에 있어서는 유저의 몫이다. 어떠한 Sampling Rate를 사용해도 결국 문제는 존재하기 때문이다.