본문

DJ Hero Turntable for PS3 신호적 분석

지난게시물(DJ Hero Turntable for PS3 하드웨어적 분석)에서 크로스 페이더와 이펙트 다이얼에 잡음이 섞여 일정한 값이 도출되지 않는다는 것을 적어놨었다. 그래서 이번 게시물에서는 그 잡음의 특성을 파악하는 과정에 대해 적는다. 아직 어떤 해결방법을 사용할것인가에 대해서 확실한 결정을 내리진 않았지만 이렇게 정리하는것이 그에 도움을 줄거라고 생각한다. 또한 이것은 모든 기기에서 발생하는것이 아닌 특정 기기에서만 발생할 수 있고, 다른 기기에서는 다른 형태로 잡음이 생길 수 있다.

또한 이번 실험 도중에 알게 된 사실이지만, 컨트롤러를 일정시간 사용하지 않으면 컨트롤러에서 스스로 전원을 차단한다. 정확한 수치로, 컨트롤러에서 아무런 입력이 없이 수신기와 (정확히)10000번 통신을 한 이후 전원을 차단한다. 여기서 입력이란, 버튼을 누르는것과 같은 (좀 더) 사용자의 적극적인 활동을 의미하지, 턴테이블과 같은 실수 혹은 컨트롤러의 위치변경에 따라 달라질 수 있는 입력에 대해서는 고려하지 않는다. 만번 통신하는데 소요된 시간은 300초, 즉 0.03초마다 한번씩 신호를 받는다는 것으로 해석할 수 있다. 아래에 이 신호값에 대한 자료를 첨부한다. 각각은 다음과 같이 구분이 되며 EN(effects nob), CF(crossfader)라고 생각하고 diffEN은 이펙트 다이얼의 이상값과 얻어진 값의 차이라고 하면 대충 어떤 의미인지 이해가 될 것이다. 결과물을 보니 뭐하러 이렇게 만들어놨나 생각도 되고 그런다...
diffEN, diffCF, (float)totalAbsDiffEN/count, (float)totalAbsDiffCF/count, totalDiffEN, totalDiffCF, count, maxDiffEN, maxDiffCF



아래의 모든 그림에서는 Effects Nob(Effects Dial)와 Crossfader의 그래프를 나타내는데 배치 순서가 서로 다르기 때문에 유의해야 한다. 그리고 확대기준은 두 그림이 서로 다르기 떄문에 값이 아닌 그래프의 형태에 주목하는것이 좋다.

1. 값을 변화시키지 않고 놓아두었을때.
[그림 1] 값을 변화시키지 않고 놓아두었을때

위의 값이 크로스 페이더, 아래 사진이 이펙트 다이얼의 값을 나타낸다. 크로스 페이더는 일정 값에서 특정 -노이즈가 추가되고, 이펙트 다이얼은 ±노이즈가 추가됨을 확인할 수 있다. 이펙트 다이얼의 최대 오차는 7, 크로스페이더의 최대오차는 8인데, 오차범위로 생각하자면 크로스페이더의 최대 오차범위는 0~-8, 이펙트 다이얼의 오차범위는 -7~7으로 나온다. 값의 범위가 -127~127이라는것을 생각하면 신호대잡음비를 계산하나??...


2. 값을 임의로 변화시켰을 때.
[그림 2] 값을 임의로 변화시켰을 때

사실 가장 걱정이 되었던게(물론 오차가 우려할정도로 많이 나는것은 아니지만) 값이 변할때도 잡음이 섞이면 이를 어떻게 해주어야 하나.. 하는 문제였다 하지만 그림에서 보다시피 값이 변할때 매끄러운 곡선형태로 진행되는것을 확인했다.(이러지 않았다면 더욱 더 많이 공부했어야 했다)

너무나 많은 이론이 이를 해결하기 위해 존재하기 떄문에 어디서부터 글을 써나가야 할지 모를 상황이다. 잠결에 들었던 이론들도 있고 해서 처음부터 다시 공부하는데 역시나 싫어하는 수학이 들어가있기 때문에 꽤나 고생이다. 쉽게 돌아가자면 나눠서 버리면 되는데(출력값의 범위가 입력에 비해 여유롭다) 이를 처리해야겠다는 알수없는 생각이 든다. 조금만 더 공부해보자.

댓글

Holic Spirit :: Tistory Edition

design by tokiidesu. powerd by kakao.