2014년 6월 24일 화요일

데시벨과 로그 함수(decibel and logarithmic function)


[경고] 아래 글을 읽지 않고 "데시벨과 로그 함수"를 보면 바보로 느껴질 수 있습니다.


공학 분야, 특히 통신 분야에서 광범위하게 사용되는 단위는 데시벨(decibel) 혹은 디비(dB)이다. 좀 거칠게 말하면 통신 분야에서는 어떤 값의 분수 비율은 거의 사용하지 않고, 비율을 써야 하는 곳에는 대부분 데시벨을 사용하고 있다.

[그림 1] 상용 로그 함수(출처: wikipedia.org)

원론적 의미에서 데시벨은 기준 전력($P_{\rm ref}$)에 대한 현재 관심 전력($P$)의 비율을 의미한다. 이를 위해 10을 밑수로 하는 로그 함수(logarithmic function)로 데시벨을 표현하면 다음과 같다.

                  (1)

즉, 데시벨 정의는 전력(power) 비율의 상용 로그(common logarithm)값에 10을 곱한 것이다. 10을 곱한 이유는 전력 비율의 상용 로그값이 너무 작기 때문에 키워주기 위해서이다. 또한, 식 (1)에 있는 로그 함수는 매우 작은 값은 (-)로 어느 정도 크게 표시하고 아주 큰 값은 작게 만들어주므로, 데시벨 정의를 이용하면 전력 비율을 우리가 다루기 쉬운 숫자로 쉽게 변환할 수 있다. 보통 데시벨로 표현한 전력 비율은 -100 ~ +100 [dB] 범위에 있다. 데시벨이 표현하는 숫자는 비율보다 얼마나 기억하기 좋은가! 흔히 쓰이는 데시벨값과 비율의 관계는 다음과 같다.
  • 2배 = 약 3 [dB]
  • 4배 = 약 6 [dB]
  • 8배 = 약 9 [dB]
  • 10배 = 10 [dB]
  • 100배 = 20 [dB]
  • 1,000배 = 30 [dB]
  • 1/10배 = -10 [dB]
  • 1/100배 = -20 [dB]
  • 1/1,000배 = -30 [dB]
위로 결과로부터 데시벨을 대충 보면 비율에서 0의 개수가 몇 개나 있는가와 똑같다. 예를 들어 10 [dB]는 0이 한 개(= 10), 20 [dB]는 0이 두 개(= 100), 이런 식이다. -10 [dB]는 0이 정상 방향과 거꾸로 한개(= 0.1), -20 [dB]는 0이 거꾸로 2개(=0.01)처럼 생각할 수 있다.

[그림 2] 벨이 시연한 뉴욕에서 시카고로의 최초 전화 통화(출처: wikipedia.org)

데시벨이란 단위는 이름이 왜 이렇게 요상할까? 데시(deci)는 우리가 흔히 사용하는 1/10을 의미하는 접두사이다. 예를 들면 센티(centi)는 1/100을 뜻한다.  데시벨을 구성하는 '벨'은 전화기(telephone)의 발명자인 벨(Alexander Graham Bell)을 의미한다.
식 (1)의 정의를 가만 보면 조금 이상하다. 분명 정의에서는 10을 곱해주었는데 왜 1/10을 의미하는 데시가 쓰였을까?  이걸 이해하기 위해 데시벨의 원래 정의인 벨(bel)을 다음처럼 생각하자.

                  (2)

식 (1)과 (2)를 고려하면 1 [B] = 10 [dB]가 된다. 이런 데시벨과 벨의 관계를 길이 관점으로 보면 1 [cm] = 10 [mm]와 같다. 즉, 1 [mm]를 10개 모으면 1 [cm]가 되므로 1 [mm]는 1 [cm]보다 1/10 작다. 마찬가지로 1 [dB]를 10배 한 것이 1 [B]이 되므로 1 [dB]는 1 [B]의 1/10이다. 따라서, 데시벨 정의에 데시를 쓰는 것이 맞다. 아니면 더 쉽게 $10 \log_{10}(\cdot)$ [dB] = $10 \cdot 1/10 \log_{10}(\cdot)$ [B] = $\log_{10}(\cdot)$ [B]로 생각하면 된다. (정말 더 쉽게는 10을 곱했으므로, 단위에 1/10을 의미하는 데시를 썼다고 생각하자.)

[그림 3] 벨연구소의 로고(출처: wikipedia.org)

데시벨 단위는 현실적인 이유 때문에 제안되었다. 초기 전화선로는 특성이 좋지 않아 손실이 많이 발생했다. 선로 손실은 필연적으로 통화 품질을 떨어뜨리므로 전화선로는 특히 전송 손실을 고려해 가설해야 한다. 손실이 적은 전화선로를 선별하려면 당연히 해당 선로의 전송 손실을 측정해야 하고, 측정에는 기준 단위가 필요하다. 데시벨 이전에도 전화선로를 측정하기 위한 단위(MSC: Miles of Standard Cable, 표준 선로의 마일 특성)가 있었지만 필요 이상으로 복잡한 초기 설정 조건을 가지고 있었다. (대충 쓰면 당시 사용하던 표준 전화선로에 저주파 신호(약 800 [Hz])를 넣고 1 마일(약 1.6 [km]) 가량 전송한 후 측정한 전력 손실을 1 MSC로 정의했다.) 데시벨은 식 (1)처럼 단순하게 정의하고 편리하게 사용하면 된다. 즉, 넣어준 전력을 기준으로 전송된 전력을 측정하면 데시벨이 바로 정의되고, 측정값인 데시벨을 보면 저손실 전화선을 손쉽게 구별할 수 있다.
또한 데시벨을 식 (1)처럼 정의하면 1 [dB]는 거의 1 MSC에 해당한다. 즉, 당시 기준으로 전화선을 1 마일(or 1.6 [km]) 정도 가설해서 전력 손실을 측정하면 약 1 [dB]가 나왔다는 것이다. 1 [dB]는 데시벨의 기준 단위이며 이전에 사용하던 MSC에도 부합하므로 데시벨 개념은 무리 없이 받아들여졌다.
이상의 논의에서 계속 등장하고 있는 것이 전화이다. 전화 서비스 개발의 시작과 끝은 벨이 만든 AT&T이다. 이 AT&T의 두뇌에 해당하는 것이 벨연구소(Bell Laboratories)이다. 이 벨연구소에서 1928년 제안한 이름이 데시벨이다. 벨연구소에서 제안한 단위이니 데시벨이 된 것이다. 조금 삐딱하게 보면 자기 회사 설립자 이름을 전송 손실 측정 단위에 넣은 것이다. 쉽게 말하면 "우리 사장님, 만세!"에 해당한다.

데시벨은 상용 로그를 이용해 전력 비율을 정의한다. 자연 로그(natural logarithm)로는 정의할 수 없는가? 물론 세상에는 똑똑한 사람들이 많기 때문에 자연 로그를 이용한 정의도 이미 나와있다. 전기장(electric field)이나 자기장(magnetic field)과 같은 파동 비율, 전압(voltage)이나 전류(electric current) 같은 회로량을 나타내기 위해 사용하는 네퍼(neper)가 다음처럼 자연 로그를 이용한다.

                  (3)

여기서 $\log (\cdot)$는 자연 로그이며 $E$는 전기장의 크기이다. 네퍼는 전력 비율이 아니고 전자기장이나 전압 혹은 전류의 비율인 것에 유의하자. 식 (1)과 (3)을 이용하면 네퍼와 데시벨의 관계를 다음처럼 구할 수 있다.

                  (4)

식 (4)를 이용하면 1 [Np] = $20/\log 10 \approx $ 8.685889638065 [dB]이 된다. 거꾸로 1 [dB] $\approx$ 0.1151292546497 [Np]이다.

식 (1)의 데시벨은 단순히 로그 함수의 성질에만 기댄 정의일까? 앞서 로그 함수는 작은 값은 (-)로 좀 크게 하고, 큰 값은 좀 작게 하는 역할을 한다고 소개했다. 하지만 데시벨의 로그 함수는 이것보다 더 심오한 의미를 가지고 있다. 바로 로그 함수는 사람의 감각 능력(무게, 소리, 빛 등에 대한 인식력)과 관련된 함수인 것이다[1]. 어림짐작으로 무게를 재는 행동을 이용해 사람의 무게 인식 능력을 연구하던 베버(Ernst Heinrich Weber)는 1846년에 베버의 법칙(Weber's law)을 발표한다. "긴가민가한 차이는 그 자체 무게에 비례한다"는 것이 베버의 법칙이다. 긴가민가한 차이는 전공 용어로 JND(Just Noticeable Difference)라고 한다. 예를 들어 내가 10 [kg]을 들고 있었는데 내게 100 [g]을 더 얹은 경우 내가 인식을 하는 경우도 있고 못하는 경우도 있다면 100 [g]이 JND이다. 만약 20 [kg]이면 베버의 법칙에 의해 JND는 200 [g]이 된다. 무게에 대한 베버의 법칙을 확장하여 사람의 인식 능력을 수학식으로 표현하면 다음과 같다.

                  (5)

여기서 $S$는 현재 자극(stimulus)의 크기, $\Delta S$는 자극의 JND이다. 베버의 법칙은 별 것 아닌 것 같기도 하고 대단한 것 같기도 하지만 한가지 심각한 문제가 있다. 무게, 소리, 빛과 같은 자극은 물리적인 양(정밀하게 측정 가능한 양)이지만 JND는 인식에 관련된 심리적인 양(어렴풋하게 측정은 되지만 사람마다 다른 양)이다. 정확히 말하면 JND는 내 마음속에서 일어나는 인식 차원의 잡음(perceptual noise)이다. 사실 사람의 심리 자체가 확률론적인 특성을 가지고 있으므로 물리적으로는 동일한 양이지만 사람은 매번 다르게 느낄 수 있다. 그래서 식 (5)를 인식 능력에 대한 신호대 잡음비(SNR: signal-to-noise ratio)로 볼 수도 있다. 여기서 신호는 $S$가 되고 잡음은 $\Delta S$가 된다. JND를 잡음으로 본다면 통계적으로 JND는 $S$에 대한 인간 인식의 표준 편차(standard deviation) $\sigma$로 정의할 수도 있다[1].
베버의 제자이자 정신 물리학(psychophysics)의 아버지로 불리는 페히너(Gustav Theodor Fechner)는 식 (5)를 발전시켜 다음과 같은 베버-페히너 법칙(Weber-Fechner law)을 제안하였다.

                  (6)

여기서 $k$는 물리량과 사람의 인식을 연관짓는 상수이며 $\Delta P$는 사람 인식(perception)의 변화량이다. 식 (6)에서 눈여겨 볼 것은 측정 가능한 물리량인 자극(stimulus)사람의 내적 심리와 관계된 인식(perception)이 서로 분리되어 있다. (이를 연결해주는 것이 상수 $k$이다. 물론 $k$는 사람을 대상으로 한 실험으로 결정해야 하는 양이다.) 자극과 인식과의 상관 관계를 얻기 위해 식 (6)을 극한(limit)으로 보내서 적분을 해보자.

                  (7)

여기서 $C$는 적분 상수이다. 만약 사람이 인식할 수 없는($P = 0$) 자극을 $S_0$라 하면 적분 상수는 $C = -k \log S_0$이 되어야 한다. 이걸 식 (7)에 대입하면 베버-페히너 법칙은 다음처럼 아름다운 모양이 된다.

                  (8)

우리의 청력도 베버-페히너 법칙을 따르기 때문에 소리에 대한 사람의 인식력도 로그 함수로 정의해야 한다. 식 (8)과 식 (1)을 번갈아 보자. 매우 비슷한 것을 볼 수 있다. 맞다. 벨연구소 사람들도 데시벨을 정의할 때 베버-페히너 법칙을 염두에 둔 것이다. 내가 보낸 신호는 전화선로를 타고 전화기를 거쳐 사람의 귀로 전달된다. 사람이 소리를 분간하는 특성은 로그 함수이기 때문에 전력 기준을 로그 함수에 맞추는 것이 여러 모로 의미있다. 단지 이전에 사용하던 MSC와 데시벨의 단위를 어느 정도 맞추기 위해 비례 상수는 10으로 정했을 뿐이다. 단순하게 보이는 데시벨 정의는 이와 같이 많은 이야기를 가지고 있다.
여기서 또 의문이 생긴다. 데시벨은 전화기에 필요한 우리의 청력과 연관된 정의이다. 하지만, 요즘은 음성 통화보다는 데이터(data) 전송이 더 주류를 이룬다. 더이상 데시벨을 사용할 필요가 있을까? 맞다. 분명한 지적이다. 하지만, 얼마전까지 통신망의 주요 정보는 음성이었다. 음성을 기준으로 대부분의 통신 시스템이 설계된 상황이다. 이 상황에서 데이터만을 위한 새로운 단위를 정의할 필요가 있는가? 음성을 위해 데시벨로 설계된 통신망이 데이터에도 잘 적용되고 있는 상황에서... 새로운 단위는 필요 없을 것 같다. (물론 아날로그(analog)에서는 데시벨을 기반으로 한 SNR을 쓰고 디지털(digital)에서는 BER(Bit Error Rate)을 쓰지만, 어디까지나 실제 전송은 아날로그라는 것을 기억하자.)

역사가 깊고 분명한 의미가 있는 데시벨은 여러 분야에서 다양하게 정의되어 사용되고 있다. 아래에 흔히 쓰이는 데시벨의 변형 단위를 소개한다.

  • dBm, dBW

식 (1)의 데시벨을 정의할 때 전력 기준($P_{\rm ref}$)을 명시하지 않았다. 어떤 경우에는 일반적인 식 (1)의 정의보다는 전력 기준을 표시하여 상대 비율이 아닌 절대 전력량으로 데시벨을 쓰는 것이 편리하다. dBm("디비엠"으로 읽는다.)은 기준 전력을 1 [mW]로 정하여 1 [mW]에 비해 현재 전력이 얼마나 큰지 표시한다. 예를 들어 30 [dBm]은 1 [mW]에 비해 1,000배 큰 전력을 뜻하므로 30 [dBm] = 1 [W]를 나타낸다. dBm은 통신 시스템에 규격 정의에 빈번하게 사용되니 잘 기억해놓자. 대충 보면 대역폭(bandwidth)이 10 [MHz]인 수신기의 잡음 전력 수준은 -100 [dBm] 정도 된다.
dBW("디비와트" 혹은 "디비더블유"로 읽는다.)는 기준 전력 $P_{\rm ref}$를 1 [W]로 정하기 때문에 dBm보다 1,000배 큰 절대 단위이다. 레이다(radar)처럼 시스템 출력이 큰 경우는 dBm보다는 dBW를 쓰는 경향이 강하다. 예를 들어 레이다 출력이 1 [kW]라면 데시벨로 30 [dBW]가 된다.

  • 전압과 전류를 위한 데시벨

전압과 전류는 전력과 단위가 다르기 때문에 전압과 전류를 전력으로 변환하여 식 (1)을 적용해야 한다. 전압은 다음처럼 변환한다.

                  (9)

의외로 전압의 데시벨 표현식이 지저분하다. 여기서 과감한 결정을 하나 하자. 단순하게 만들기 위해 기준 전력의 저항($R_{\rm ref}$)과 현재 전력의 저항($R$)이 같다고 생각하자. 그러면 식 (9)는 다음처럼 간략화할 수 있다.

                  (10)

그런데 $R = R_{\rm ref}$라 가정하는 것은 너무 무리한 것 아닌가? 서로 다른 위치에 있는 저항들이 같을 이유는 없잖아! 하지만 우리가 무얼 하고 있는지 생각해보자. 전압을 위한 데시벨 정의를 만들고 있다. 기계적으로 식 (1)을 식 (9)로 변환하기보다는 간편한 정의를 만드는 것이 더 중요하다. 그래서 강제적으로 $R = R_{\rm ref}$로 만들어 식 (10)을 도출하는 것이 여러 모로 유리하다.
전압처럼 전류에 대한 데시벨 정의도 다음처러 만들 수 있다.

                  (11)

  • dBsm

dBsm은 레이다 단면적(RCS: Radar Cross-Section)을 데시벨로 표현할 때 사용하는 단위이다. dBsm에서 sm(square meter)은 기준 면적을 1 [㎡]로 택했다는 뜻이다. dBsm을 수학적으로 정의하면 다음과 같다.

                  (12)

데시벨 정의시 헷갈리는 것은 로그 함수 앞에 10을 곱할 것인가 20을 곱할 것인가이다. 레이다 단면적은 산란 전자파로 정의하기 때문에 식 (1)처럼 10을 곱하면 된다.

[참고문헌]
[1] J. B. Allen, "A short history of telephone psychophysics," LRR-Reviews, April 1998.

댓글 19개 :

  1. 베버의 법칙에서의 delta S와 베버-페히너 법칙의 delta S는 다른 의미인가요?
    생물 1때 배우고 넘어간 법칙들이 이런 의미(SNR 등)인 줄은 처음 알았네요. 감사합니다

    답글삭제
  2. 같은 의미지만 모호한 부분을 페히너가 더 잘 설명했다고 생각하면 될 것 같네요.

    답글삭제
  3. 궁금한 게 있습니다. 위의 정의에서 로그에 10배를 해 주었는데 왜 deci를 썼냐는 설명에서 전 이해가 안되요 ㅠㅠ dB = 10logP/P0 이고 B=log P/P0라면 우변을 같게 만든다면 1dB = 10B 이 되는거 아닌가요..;; 왜 1B이 10dB 이 되는지 이해가...

    답글삭제
    답글
    1. 본문을 다시 수정했습니다, 최태준님. ^^

      삭제
  4. 그리고.... R=R ref 라 놓고 정리한 전압과 전류를 위한 데시벨 이 부분도 사실 잘 이해가 가지는 않네요 ㅠ

    답글삭제
    답글
    1. 이 부분은 그냥 단순함을 위해서입니다. 너무 깊이 생각할 이유는 없어요.

      삭제
  5. 안녕하세요. 전파거북이님. 새해 복 많이 받으세요.
    한가지 궁금한것이 있습니다.
    y=(x+a(x/a) )^(log(b)/log(a)) 여기서 (a,b)를 변곡점 좌표로 설정해서 그래프를 그려보면 변곡점이 절대 생기지가 않습니다.
    여기서 변곡점의 기능을 할수 있는 함수로 고치고 싶은데요 어떻게 수정을 해야 할지 잘 잘 모르겠습니다 혹시 어떻게 해야 될까요?

    답글삭제
    답글
    1. 추가적으로 말씀 드리면 제 생각에는 s값을 변화시키면 변곡점을 기준으로 2개의 곡선의 기울기가 변할꺼라고 생각을 한것이구요 그래서 s값을 크게.줄수록 곡선의 비틀림이 훨씬 커질꺼라고 예상하고 사용했는데 뭔가 제가 잘못 사용하는것 같기도 한데 수식에 약해서요

      삭제
    2. 전파거북이님 아 다시 생각해보니까 거듭제곱꼴이 변곡점이 생기는것은 맞는것 같습니다.
       Y=[(1-s)x + sa*(x/a)^E] ^(log(b)/log(a)).log(a)).
      여기서 저는 a=0.3 b=0.5 s=1 E=1을 사용하고 있는데요
      www.luminous-landscape.com/forum/index.php?topic=52364.0
      문제는 여기서 말한 그래프처럼 나오지가 안는다는 문제가 있습니다
      제가 만들고자 하는 그래프는 아래와같은 contrast curve인데요.
       http://2.bp.blogspot.com/-oImSzh_rnBM/UKsekNAkLcI/AAAAAAAAACw/fKVBOAJ1_dw/s1600/image007.jpg

      제가 이해하기로는 a와b가 변곡점 포인트가 되야 하고 E는 마지막 포인트 위치이고 S parameter를 조정해서 s curve의 뒤틀림을 조정할수 있어보였는데
      도저히 이헌 그래프가 생성되지를 않는데 어디를 봐야 될지 모르겠습니다.


      삭제
    3. $E = 1$인 경우는 [.] 안의 함수는 $x$입니다. 아무리 $s$를 바꾸어도 함수값은 변화가 없습니다.

      삭제
    4. 아 죄송합니다 E가 아니라 s를 1로 하고 E값을 변화 시켜 주었습니다.

      삭제
    5. $s = 1$이면 $x$의 지수는 $E \log(b) / \log(a)$가 됩니다. 이 값이 2보다 커지는지 잘 관찰해보세요, Ipslab님. ^^ $E$가 커지면 변곡점이 생겨야 합니다.

      삭제
  6. 전파거북이님, E가 커지면 그래프가 오목하게 변하면서 변곡점 이 생기는것은 확인할수 있었습니다. 하지만 www.luminous-landscape.com/forum/index.php?topic=52364.0 여기에 나온것처럼 s curve를 그리지는 못하는게 맞는건가요? 좀 이해가 안가서요.

    저 공식으로 그래프를 그리면 단순한 logarithm 모양의 포물선만 그려지는데 도무지 이유를 모르겠어요.

    답글삭제
    답글
    1. 말씀하신 조건에서는 위 링크의 곡선이 나올 수 없습니다.
      링크 내용을 잘 읽어보시고 $s, E$ 등의 조건을 바꾸어보세요. ^^

      삭제
    2. 혹시 말씀하신 곡선이 나올수 조건중 예시로 한 조건을 알려 주실수 있으실까요?

      삭제
  7. 식(6)을 극한으로 보내어 적분한게 왜 저 식이 나오는지 잘 모르갰어요 ㅠㅠ

    답글삭제
    답글
    1. 좌변과 우변을 각각 적분하시면 되요. ^^

      삭제

욕설이나 스팸글은 삭제될 수 있습니다. [전파거북이]는 선플운동의 아름다운 인터넷을 지지합니다.