앰프 프로파일링..

들어가며Kemper profiling amplifier (이하 KPA)는 기존의 장비를 profiling하고 그 특성을 다시 되살린다는 장점으로 출시 이후부터 매우 사랑 받고 있다. 비싼 가격 때문에 많은 이들이 이 혜택을 누리지 못할 따름이지 다들 가지고 싶어하는 guitar gear중 하나이다. 신호처리를 조금이라도 배운 사람이라면 왜 이런 기능을 PC와 같은 장비에서 아직 구현 못하고 있는가 (아니면 일부러 안파는 것인가) 할 수 있을 것 같다. 또는 Kemper의 Rig file을 읽어서 그것을 PC에서 구동할 방법은 없는 것인가 하는 것이다. 내가 보기엔 충분히 가능하다고 보는데, 그도 그럴 것이 KPA는 대부분의 PC가 장착하고 있는 프로세서에 비해서 성능이 열악한 DSP 하나가 거의 모든 일을 한다. PC가 그것을 능가하는 일을 할 수도 있는 것임에 분명하다. Rig file의 경우는 Kemper가 정의한 알고리즘과 그 알고리즘을 위한 파라미터들의 포멧이 기업비밀일 것이므로 (안 그러면 PC에 그대로 구현해 놓을 수 있으므로) 그대로 읽어다가 PC에서 재합성하는 과정을 구현할 수 없도록 법적인 장치가 되어있으리라 본다. 따라서, Kemper가 충분히 많은 돈을 벌고 이런 자질구레한 일에 대해서 관심이 없어지기 전까진 대놓고 데이터를 가져다 쓰진 못하겠지만, 개인적인 용도로 데이터를 변환해서 소기의 목적을 위해 사용하는 것에는 문제가 없으리라 본다. ## KPA는 무슨 일을 하는 것인가?신호처리를 약간이라도 배운 사람이라면, KPA가 하는 일은 쉽게 말해 non-linear system identification/resynthesizer인 것이다. 앰프, 특히 기타 앰프는 찌그러짐이 있는, 즉 비선형 시스템 - 출력이 입력에 정비례하지 않는 시스템인 것이다. 따라서, 기존의 non-linear system identification을 위한 방법을 동원하면 아무리 값비싼 장비라도 profiling (identification)은 가능하다. 물론 100% 똑같이 모든 특성을 담을 수는 없다. 계산량의 한계라는 것이 있고 메모리의 한계가 있기 때문이다. 더구나 측정시에 잡음이 끼어드는 것까지 고려하면 더더욱 그러하다.Profiling을 통해서 비선형 모델의 파라미터를 전부 찾아내고 (장시간 프로파일링을 하는 것을 보면 잡음의 효과를 줄이기 위해 평균을 내는 것으로 판단된다), 그 파라미터를 바탕으로 비선형 효과를 만들어내는 기능도 매우 중요한 기능이다. 이것을 재합성이라고 할 수 있을 것 같은데, 이 과정에서 가장 근간이 되는 것은 어떠한 방법으로 비선형 시스템을 모델링했느냐 하는 것이다. 거기에 이 제품의 핵심 기술이 있는 것이라고 할 수 있다. 일반적으로 알려진 비선형 모델들은 매우 다양하다. 제작자가 그것을 근거로 하여 비선형 시스템을 인식하는 작업을 했는지 아닌지는 알 수 없으나, KPA가 가지고 있는 DSP (NXP DSP56720)로 볼 때 엄청나게 파워풀한 연산이나 복잡도가 높은 모델을 새용했다고 보긴 어렵다. 2008년에 Christoph Kemper가 등록한 특허를 보면 내용은 사실 간단하다. 여러 가지 그림과 설명이 덧붙여져 있을 뿐이니 쉽게 말해서 비선형시스템을 인식하는 장치 (프로파일러)가 자기 만의 비선형 모델을 가지고 있고, 어떤 장치를 프로파일링하기 위해서 만든 자극신호 (파일롯 신호)를 입력했을 때, 파일롯 신호를 내부 비선형 모델을 통과 시켰을 때의 결과와 프로파일링 하려는 장치를 통과한 결과를 비교하여 이 오차가 최소가 될 때까지 내부의 비선형 모델의 파라미터를 최적화하는 시스템인 것이다. 특허의 내용을 읽어보면 음악적인 용어를 사용하고 신호처리/전기전자 공학 어들은 거의 등장하지 않는데, 그것은 아마도 특허를 작성한 이가 해당 부문을 전공한 이가 아니기 때문이 아닐까 판단된다. 어쨌든, 잘 읽어보면 chirped signal을 자극신호로 입력해서 reference system (내부의 비선형 모델)을 위한 profiling을 하는 장치라는 얘길 하고 있다. 청구항을 살펴봐도 이 기술의 핵심이 되는 nonlinear reference model을 어떻게 만들었는지는 나오지 않는다.단지 요약해서 정리하자면 (부언하는 것이 되겠지만) non-linear reference model이 있고 이 model과 target system을 등가화하여 사실상 target system의 모든 nonlinear 특성을 copy하고자 한다는 것이다. 어쨌든 동일한 기능을 하는 장치를 누군가 만든다고 하면 이 특허에 그대로 걸리게 되어있다. 이 특허를 피해서 가려면 프로파일링 하는 방법을 바꾸는 게 답이 아닐까 한다. ## 어떻게 하면 KPA와 동일한 기능을 PC로 옮겨올 수 있을까?이것은 내부의 비선형 모델을 어떻게 가져가느냐에 따라 구현이 가능한 문제일 것으로 판단된다. 내부의 비선형 모델이란 것은 다시말해 일종의 가설에 해당한다. 이 가설에 따라서 다듬어진 신호와 타겟 시스템의 신호를 비교해서 그 차가 줄어들도록 원래의 가설을 계속 변화시켜 가는 것이다. 이 과정을 대부분의 적응형 시스템이 그렇듯 Least square problem을 풀어내는 것인데, nonlinear system에 적용한 것이라고 보면 된다. 그런데 특허가 작성된 내용이라든가 사용하고 있는 H/W의 복잡도를 고려해 보면 nonlinear least square problem을 풀어내긴 어려울 것 같고, 많은 계산량을 요구하는 중요한 부분을 단순화시켜서 (사실상의 앰프 회로의 동작에 근거하여) 구현했을 것으로 판단이 된다. 예상 되는 모델은 아마도 cascaded saturator + filter model일 것으로 판단된다. 대략적인 수식으로 나타내어 보면 다음과 같다.\(y(t) = f_N (g_N (... f_2 (g_2(f_1 (g_1(x(t)))))...)),\)여기서 $g_n(x)$는 $n$번째 비선형 saturator를 의미하고, $f_n(x)$는 $n$번째 filter를 의미한다.따라서, Chirped signal을 매우 작은 음량에서부터 점점 증가시켜가면서 saturator의 특성과 filter의 특성을 파악해가는 것이다. chirped signal이라는 것은 일종의 FM 신호로 볼 수 있는데, 주파수가 시간에 따라 증가하는 신호를 말한다. 다시 말해서 주어진 시간에 탐지하려는 시스템의 주파수 영역을 sweeping 하는 신호란 뜻이다. Youtube를 통해서 본 몇 가지 profiling (training) 경우들을 보면 상행하는 chirped signal부터 하행하는 것들, 작은 음량부터 큰 음량 (아마도 기타의 입력 전압 범위일 것으로 판단된다), 또 white/colored noise가 모두 활용되는 것을 볼 수 있다. 대충 유추해 보건데, 초기의 tranining은 일반적인 chirped signal을 이용하여 여러 번 반복하여 averaging을 하고, 어느 정도 training이 완료되면 추가적인 최적화 및 confirmation을 위하여 white/colored noise를 적용하는 것으로 판단된다. 이 모든 과정은 실시간으로 PC를 이용하여 할 수 있다. 가장 중요한 것은 어떠한 비선형 모델을 reference로 삼았느냐가 중요한 문제이다.위의 수식으로 나타낸 모델은 단순한 비선형 모델을 다단으로 연결해 놓은 경우인데, 이런 경우라고 한다면 각각의 stage에 대하여 training을 위해서 특정 stage의 대한 응답만 나올 수 있도록 나머지 stage를 분리하는 기술이 필요하다.