본문 바로가기

윤세욱 칼럼(Who's Phillip Yoon?), 조용훈 칼럼, [PC-Fi 가이드]

황준의 블로그, 장현태의 블로그, 창고란의 오디오, 갤러리란의 오디오
실용 오디오, 와싸다, 소리 오디오, 누리안 비상, 케이블/진영공구, 진공관 구입, 이치환 교수의 아날로그보이스

수리: CDP/CDT 나돈주(부천) 010-2723-7411, 하이파이전자수리 김명운 010-3781-2712(남양주 진접읍 장현로147번길 1), 진공관 앰프 등 이상훈(전북 진안) 010-9009-0760, , 황홍락(강서) 010-5695-5560, 참소리(부천) 011-9922-8123

강좌
2009.05.03 12:09

VRDS25 개조 [4편]

조회 수 2829 좋아요 252 댓글 13
3편에서는 제거해야 할 부품들에 관한 이야기를 드렸었는데
막상 "공공의 적"(?)이 된 AD1893 (Sample Rate Converter)을
왜 제거해야 하는지는 특별히 설명드린 적이 없더군요.
그래서 요번에는 개조기를 진행하는 대신
sample rate converter에 관한 이야기를 드려보고자 합니다.

Sample Rate Converter는 말 그대로
입력 Sample rate와 출력 sample rate가 달라서 변환이 필요할 때 사용하는 장치입니다.
통상 출력 sample rate는 고정되어 있지만
입력 sample rate가 수시로 변하는 환경에서 사용됩니다.

이 기능을 구현하려면 2가지 기본 구성 요소가 필요한데
입출력 sample rate의 비율을 수치상으로 판별하는 장치인 rate detector와
판별된 비율에 따라서 Sample을 새로 계산해내는 interpolation filter가 그것입니다.

VRDS25나 25X의 경우 AD1893이란 IC에서
44.1kHz CD sample rate로 입력된 디지털 오디오 데이타를
48kHz sample rate 디지털 오디오 신호로 변환합니다.
이 경우를 예로 들어 rate detector의 동작을 설명드리겠습니다.
44.1 / 48 = 0.91875입니다.
rate detector에서 0.91875라는 값을 계산해내면
이 값을 계속 누적시키면서 소수점 이상의 값이 발생한 지점에 관한 정보와
소수점 이하의 값을 출력합니다.
괄호 안의 1이 소수점 이상의 값이 발생한 지점에 관한 정보입니다.

0, 0.91875 (0), 0.8375 (1), 0.75625 (1), 0.675 (1), ....
            
위에서 나열한 소수점 이하 값이
출력 sample이 계산되어야 할
입력 sample 관점에서의 상대적 위치입니다.
0이면 정 위치이고, 1에 가까울수록 그다음 sample에 가깝다는 의미입니다.
0.5이면 한가운데란 것이지요.
그리고 괄호 안에 1이 있는 경우는 그다음 sample로 넘어가서 계산해야 한다는 의미입니다.
아래의 그림을 보시면 이해가 좀 쉬우실 것입니다.






그다음으로 할 일은 이렇게 계산된 위치에서의 sample 값을
interpolation filter로 정확히 계산해내는 것입니다.

그런데 이 모든 것을 계산으로 해결해야 하기 때문에
어느 정도의 근삿값으로 계산할 수밖에 없습니다.
위치의 경우만 보더라도 모든 위치에서의 filter 계산식을
IC chip에 다 내장하고 있을 순 없어서
어느 정도 제한을 하게 됩니다.

AD1893은 sample과 sample 사이의 위치 정보가 16bit로 처리되고,
이후에 나온 Analog Device 사의 sample rate converter들은 20bit로 처리됩니다.
그러면 정말 2의 16승 혹은 20승이나 되는 많은 interpolation filter 식을
다 내장하고 있느냐 하면 그렇진 않고,
그보다 훨씬 작은 수의 계식식만 가지고 근사식으로 다시 계산해서 만들어냅니다.
결국, 계산할 위치의 식이 조금씩 틀어진다는 의미이며
이러한 오차에 의한 왜곡은 주파수가 높은 신호일수록 그 폐해가 더 커집니다.
(주파수가 놓은 신호일수록 sample과 sample 간의 데이타 값의 변화가 더 커지기 때문입니다.)
이러한 오차로 인한 왜곡은 clock jitter와 유사한 양상을 보이므로
sample rate converter를 적용함으로써
clock jitter 문제를 원천적으로 해결했다는 광고 문구는 사실이 아닌 것이지요.
물론 이러한 위치상의 오차나 필터식의 오차에서 나올 수 있는
왜곡의 정도가 실용상 크게 문제 될 수준은 아닙니다만...

그리고, 여러가지 제약 사항 때문에 interpolation filter 식의 정확도도
어느 정도 수준에서 타협이 이루어집니다.
이론적으로는 무한대의 sample을 사용하여야 합니다만
현실적으로는 오디오용 고급 필터들이 대략 60~90개 정도의 sample을 사용합니다.
이러한 타협에 의거해서 Analog Device의 고급 sample rate converter들(AD1895, AD1896)은
64개의 sample을 사용하는 필터식을 내장하고 있습니다만,
AD1893에는 이보다 좀 성능이 떨어지는 필터식이 들어 있는 것으로 추정됩니다.
(정확한 숫자는 자료에 없어 확인할 수가 없습니다.)

AD1893의 사양서에 씌어있는 성능은
Dynamic Range (표현 가능한 신호의 세기 범위) 96dB입니다.
정확히 16bit 분해능의 CD 수준이지요.
참고로 최고급인 AD1896는 142dB로 거의 24bit 분해능에 근접합니다.
그래서 간단하게는 AD1893을 AD1896으로 Upgrage 하는 기판이 판매될 수 있는 것입니다.

아래 그림은 AD1893의 사양서에 있는 측정 결과들입니다.





왼쪽의 그림은 입력 신호의 크기에 따른 왜곡의 정도를 나타내는 것입니다.
대체로 16bit 수준(96dB)을 넘지 못합니다.
오른쪽 그림은 10kHz와 11kHz 신호가 섞여 있는 44.1kHz sample rate의 입력 신호에 대한
48kHz sample rate 출력 신호의 주파수 스펙트럼을 나타낸 것입니다.
일단 10kHz, 11kHz 성분의 큰 신호를 보실 수 있고,
맨 아래에 깔린 노이즈 성분도 보입니다.
문제는 이 두 가지 성분 외로 삐죽삐죽 솟아 있는 몇 개의 신호가 보인다는 것입니다.
-120dB ~ -100dB 정도의 신호들인데, 이 신호들이 입력 신호의 주파수와는
아무런 상관도 없는 주파수의 신호들이란 점이 가장 큰 문제입니다.
입력과는 아무런 상관관계가 없는 주파수들이기 때문에
결국 불협화음이 된다는 것이죠.

아래 그림은 최고급인 AD1896의 특성입니다.
상당한 개선이 있지만, 그래도 불협화음들이 군데군데 보입니다.
CD 신호 처리용으로는 충분한 특성이긴 합니다만,
그래도 찝찝한 구석은 있습니다.





글의 요지는 이런 것입니다.
VRDS25에서 AD1893이란 부품의 사용은
클럭의 지터 잡으려다가 초가삼간 다 태우는 격이라는 것입니다.

프로용에서는 Mixing 작업 등에 Sample Rate Converter가 꼭 필요한 때가 있는데
이런 때에는 위에 소개한 IC 제품보다 훨씬 좋은 성능의 장비들이 동원됩니다.

------------------------------------------------------

서버 이전 때문에 글을 올리는 것이 많이 늦었습니다.
아직도 참을성이 많이 필요하군요 ^^
휴일 동안 여러분이 땀 흘리고 계실 모습이 눈에 선합니다.
노고에 감사드리고,
빨리 정상적인 모습을 되찾을 수 있길  간절히 기원합니다.
Comment '13'
  • ?
    이승섭 2009.05.04 03:25
    [ signalhp@gmail.com ]

    휴일 모두 잘 보내셨는지요?

    서버이전으로 게시판이 안되는 바람에 일종의 금단현상? 을 겪었습니다.
    다시한번 조용훈 사부님의 자세한 설명과 꼼꼼한 성격에 감탄합니다. ^^;
  • ?
    박순백 2009.05.04 09:34
    [ spark@dreamwiz.com ]

    이거 정말 귀한 글입니다. DAC 관련 글 중, 어디서도 이런 좋은 정보를 담은 글을 본 적이 없습니다.
    최고.^^
  • ?
    조용훈 2009.05.04 12:09
    [ cho4cho@hanafos.com ]

    중간에 설명을 돕기 위한 그림은 추가했습니다.

    말로만 쓴 글이라 너무 어렵게 쓴 것이 아니가 내심 좀 걱정했는데...
    잘 이해가 되신 것인지요??? ^^
  • ?
    윤세욱 2009.05.04 13:51
    [ netadm@dreamwiz.com ]

    그림이 추가되니 이해가 더욱 쉽습니다.
    물론 쉽다고 해서 제가 다 이해 했다는 이야기는 아닙니다만..... -_-

    그렇더라도,
    조용훈 선생님 덕분에
    잡지 등속에선 절대 볼 수 없는 최고급 정보를 얻고 있습니다.
    계속 분투를 부탁...... ^^

    근데,
    전 언제 숙제 해요?
    다른 사람은 다 했는데......

    미치겠네....... -_-
  • ?
    이민주 2009.05.04 14:28
    [ zoomini@gmail.com ]


    이해는 둘째치고.


    박사님.

    다 읽긴 하신 거에요?
  • ?
    박순백 2009.05.05 11:06
    [ spark@dreamwiz.com ]

    이민주 샘은 내가 오디오에서 가장 관심 많은 분야가
    이 DAC 관련한 부분이라는 사실을 몰라.-_-
  • ?
    박순백 2009.05.05 11:07
    [ spark@dreamwiz.com ]

    세욱아, 너도 숙제 안 했지만 아직 숙제 안 한 형웅이가 있고(P-30과 아포지 DAC 관련),
    숙제를 더 받은 윤희철 선생님도 계셔.^^
  • ?
    김경채 2009.05.06 09:01
    [ gckim@dreamwiz.com ]

    조용훈 사부님 좋은 정보 감사합니다.
    그런데 지식과 머리가 미천한지라 잘 이해가 안 가는 부분이 있습니다.
    1. 위 입력과 출력의 그래프는 곡선으로 이루어져 있는데 제 짧은 생각으로는
    막대그래프 같은 형식으로 되어 있어야 할 것 같은데 곡선으로 되어 있어서 헷갈립니다.
    2.그래도 여전히 44.1Khz의 데이타를 48Khz로 resampling하면 지터를 줄일 수 있는 있다는 것이
    (결과는 줄일 수 없다손 치더라도 뭔가 시도할만한 근거는 있겠죠..) 아직도 잘 이해가 안됩니다. 흑..

    이따가 뵙게되면 따끔한 교육 부탁드립니다.^^;
  • ?
    조용훈 2009.05.06 17:26
    [ cho4cho@hanafos.com ]

    김경채 선생님,

    1. "16k-point FFT"라는 문구가 보이실 것입니다.
    1만6천 개의 sample로 주파수 스펙트럼을 계산해냈다는 이야기입니다.
    뭐 몇 가지 복잡한 계산 과정이 들어가고, 여기서도 Window라는 개념도 들어가고 어쩌고 해서...
    계산된 결과인데, 주파수 Resolution은 입력 sample의 개수와 같습니다.
    1만6천 개의 점이니 거의 곡선이라 보셔도 됩니다.

    자세히 보시면 AD1893의 주파수 스펙트럼에서는
    10kHz와 11kHz 성분이 아래쪽으로 내려갈수록 좀 뚱뚱해지는 것이 보이실 것입니다.
    정확히 10kHz가 아니고 그 근처의 주파수 성분들이라는 것인데요,
    보통 jitter에 의한 영향으로 나타나는 모양과 같은 모양입니다.

    2. 이 개념에 대해서는 설명드린 적이 없었던가요? ^^
    시간날 때 위의 본문 글에 보충 설명 달도록 하지요.
  • ?
    박순백 2009.05.06 18:13
    [ spark@dreamwiz.com ]

    전 위의 글을 읽으면서 대충 이해한다고 생각했는데, 김경채 선생님이 질문하신 걸 보면서 이해 못 했음을 알았음.^^;
    참 나... 이민주 선생 말이 맞나봐, 내가 대충 읽고 읽었다고 하는...ㅋ
  • ?
    김경채 2009.05.06 23:03
    [ gckim@dreamwiz.com ]

    조금 전에 조용훈 사부님 만나서 추가 설명을 들었습니다.
    들으면 들을수록 복잡하고 어렵더군요.
    아마 조만간 지터와 클럭에 대해서 또 한번의 강좌가 있지 않을까 생각됩니다. ㅋ =3=3=3
  • ?
    이승섭 2009.05.11 06:00
    [ signalhp@gmail.com ]

    FFT 가 혹 Fast Fourier Transform 이라는 겁나게 복잡한, 정신줄을 놓게 하는 후리에 변환 계산의 약자는 아니겠지요?

  • ?
    조용훈 2009.05.11 11:14
    [ cho4cho@hanafos.com ]

    이승섭 선생님,
    맞는데요 ^^

    뭐, 계산이야 컴퓨터가 하니까... 쿨럭~

List of Articles
번호 분류 제목 이름 날짜 조회 수 좋아요
26 강좌 소리의 구조 - 주파수와 배음(가야금 소리 관련 우미숙 선생님 질문에 대한 답변) 윤세욱 2012.04.13 1922 29
25 강좌 미국 Columbia 음반사의 LP 이야기 <2편> 1 조용훈 2011.04.25 1913 94
24 강좌 미국 Columbia 음반사의 LP 이야기 <1편> 1 조용훈 2011.03.02 2805 116
23 강좌 Clock과 Jitter에 관하여 <2편> 11 조용훈 2009.09.23 4260 230
22 강좌 Clock과 Jitter에 관하여 <1편> 10 조용훈 2009.06.24 5127 294
21 강좌 VRDS25 개조 [5편] 6 조용훈 2009.05.05 3119 259
» 강좌 VRDS25 개조 [4편] 13 조용훈 2009.05.03 2829 252
19 강좌 VRDS25 개조 [3편] 20 조용훈 2009.03.30 3444 151
18 강좌 VRDS25 개조 [2편] 7 조용훈 2009.03.25 2814 272
17 강좌 Teac VRDS 25 CDP 픽업 교체 방법 13 조용훈 2009.03.16 7471 308
16 강좌 Teac VRDS 25 픽업 문제 해결 12 file 조용훈 2009.03.15 6096 347
15 강좌 디지털 오디오 전송 규격 비교 4 조용훈 2008.10.15 6667 503
14 강좌 [청취 후기] Mult-bit과 Delta-sigma형 DAC의 소리 경향 12 조용훈 2008.09.08 3932 410
13 강좌 VRDS25x 개조 [1편] 14 조용훈 2008.08.29 4321 385
12 강좌 진공관과 반도체 그리고 부귀환 3 이정 2008.08.12 3814 477
11 강좌 Upsampling, Upconversion에 관하여 24 조용훈 2008.07.29 6506 400
10 강좌 1 bit DAC <4편> 4 조용훈 2008.07.18 6332 528
9 강좌 1 bit DAC <3편> 8 조용훈 2008.07.01 4757 460
8 강좌 1 bit DAC <2편> 20 조용훈 2008.06.19 4274 300
7 강좌 1 bit DAC <1편> 3 조용훈 2008.06.14 8850 915
목록
Board Pagination Prev 1 2 Next
/ 2