프로파일링 및 재생 아이디어 (1)
on
디지털 세상에서는 어떤 디지털 샘플을 받아 처리하는 과정에서 이러 저러한 delay가 발생하게 된다. 아날로그 세계에서도 전자가 wire를 통해서 전파해 나가야 하기 때문에 delay라는 것이 엄연히 존재하겠지만, 그것의 파장이 워낙 크고 (주파수 낮을 수록), 그에 비해 wire의 길이가 너무 짧기 때문에 delay가 없이 전파한다고 볼 수 있다. 전기전자공학을 처음 배울 때에 등장하는 “lumped circuit”라는 개념이 그것이다. 눈으로 보기에 어느 정도 거리를 두고 있는 단자와 단자간이라고 하더라도 빛의 속도와 맞먹는 속도로 전파되기 때문에 회로 상의 모든 노드들의 전압은 순식간에 서로 영향을 주고 받는다고 보는 것이다. 어떤 node에서 발생한 변화가 다른 node에 영향을 미치기까지 절대로 delay가 있을 수 없는 얘기다.그런 의미에서 보면 진공관 앰프안을 흘러다니는 신호들도 gain stage가 아무리 많아진다고 하더라도 디지털 신호가 겪는 그러한 delay의 영향을 받지 않는다고 보면, 단지 얼마나 많은 harmonic이 생겼냐만 관찰하면 되는게 아니냐라는 결론에 도달하게 된다. 어느 것이 맞는지는 이론으로 너무 파고 들어가는 것보단 귀를 통해 파악하는 것이 빠를테니 이 문제는 나중에 생각하기로 하고, 기본적인 가정은 gain stage의 개수라든가 gain stage마다 들어있는 EQ에 의한 어떤 phase delay/group delay같은 것은 나중에 생각하기로 하자.Chirp signal의 진폭을 증가시키면서 입력을 가하게 되면 출력으로 얻어지는 신호는 주파수에 따라 서로 다른 찌그러짐을 갖는 신호를 얻게 된다. 입력신호가 chirp signal이므로 chirplet transform을 생각할 수 있지만 하나의 chirp에 대해서 saturation특성이 균일하지 못하므로 제외하자. 어쨌든 이 과정에서 주파수별로 입력 대 출력의 함수관계를 얻어낼 수 있다. 여기에 앰프 내부의 EQ 응답, 스피커의 응답 특성까지 모조리 실리게 된다. 가장 단순하게는 이것을 DCT(discrete cosine transform)하여 다양한 주파수 성분으로 잘게 나눈 뒤에, 주파수 별로 측정된 찌그러짐 패턴을 적용하여 다시 내보내게 되면 원하는 결과를 얻을 수 있을 것으로 판단된다.즉, DCT를 이용하면 다음과 같은 결과를 얻는다 (구체적인 것은 달라질 수 있음).\(X_n = \frac{2}{\sqrt{N}}\sum_k x_k \cos ( 2\pi kn /N),\)그런데, 매 주파수 별로 saturation 특성이 다르다는 것을 역변환 시에 적용하면, 최종결과는 다음 처럼 될 것이다. \(\hat{x}_k= \frac{2}{\sqrt{N}} \sum_n X_n f_n (\cos (2\pi kn /N)),\)여기서 $f_n (x)$는 $n$번째 주파수의 non-linear saturation function이 된다. 그런데, 이 과정 자체가 상당히 많은 양의 파라미터를 필요로 하게 된다. 매 주파수에 대해 입력 대 출력의 함수관계를 얻어야 하므로 interpolation을 이용해서 보충한다 하더라도 상당히 양이 많아지게 된다. 따라서, nonlinear function을 몇 가지 균일된 모형으로 고정하고, 여기에 들어가는 파라미터만을 fitting하게끔 하면 파라미터의 양을 상당히 줄일 수 있다. 물론, 여기서 차이가 발생하게 되는 것은 절대로 극복할 수 없게 되는 문제가 있기는 하다. 문제는 saturation function을 어떻게 일반화하느냐 하는 문제가 발생한다.