EP.023 인디케이터의 색은 원본 신호가 아니라 판정 결과다
하이퍼 로그 라이브 화면의 Hyper-Δ 인디케이터는 센서가 읽은 값을 그대로 보여주지 않는다. 미디언 디스파이크·저지연 EMA·회귀 RoR·우선순위 상태판정까지 네 단계를 거쳐야 비로소 색과 라벨이 정해지며, θ_flat과 데드밴드처럼 로스터기·프로브마다 직접 맞춰야 하는 값도 남아 있다.
하이퍼 로그에서 로스팅 로그를 켜면 ET·BT 곡선 옆에 작은 칩 하나가 붙어 있다. 초록, 노랑, 주황, 빨강 중 하나로 색이 바뀌고, 그 옆에 "정상", "적체", "발열·재가속", "정체" 같은 라벨과 지속 초가 함께 찍힌다. 처음 보면 지금 온도가 오르는지 내리는지를 색으로 바꿔 보여주는 것뿐이라고 느끼기 쉽다. 그런데 실제로 화면에 뜨는 값은 센서가 방금 읽은 숫자 그대로가 아니다. 하이퍼 로그가 공개한 하이퍼델타 이론 문서에는 이 칩 하나가 뜨기까지 거치는 네 단계 파이프라인이 명시돼 있다 — 미디언 디스파이크, 저지연 EMA, 회귀 RoR, 우선순위 상태 판정. 순서대로 무슨 일이 벌어지는지 따라가 보면, 왜 굳이 이렇게 여러 단계를 거치게 만들었는지가 보인다.
첫 단계는 미디언 디스파이크, 우리말로 하면 "튀는 값 제거"다. 로스팅 중 온도 센서는 완벽하게 매끄러운 신호를 보내지 않는다. 드럼이 회전하며 순간적으로 접촉이 흔들리거나, 전기적 노이즈가 끼거나, 생두가 프로브를 스치고 지나가는 순간처럼 물리적으로 잠깐 튀는 값이 섞여 들어온다. 문제는 다음 단계인 RoR(분당 온도 변화율)이 원래 미분값이라는 점이다. 미분은 원본 신호의 노이즈를 그대로 증폭시키는 성질이 있어서, 값 하나가 순간적으로 튀면 RoR 그래프는 그보다 훨씬 크게 요동친다. 이 튀는 값을 계산에 들어가기 전에 먼저 걸러내지 않으면, 인디케이터는 실제로는 아무 일도 없는데 상태가 바뀐 것처럼 오작동하게 된다.
두 번째는 저지연 EMA, 지수이동평균으로 신호를 한 번 더 평활한다. 미디언 디스파이크가 순간적으로 튀는 이상값을 골라내는 것이라면, EMA는 남은 신호 전체를 부드럽게 다듬는 역할이다. 다만 평활을 세게 걸수록 신호는 매끈해지는 대신 실제 변화를 반영하는 시점이 늦어진다는 트레이드오프가 있다. 인디케이터가 실시간으로 로스터의 판단을 돕는 게 목적인 이상, 평활은 걸되 지연은 최소화해야 한다는 뜻에서 이름 자체에 "저지연"이 붙어 있다.
세 번째는 회귀 RoR이다. 흔히 RoR은 "지금 온도에서 30초 전 온도를 뺀 값"처럼 단순한 두 점 차분으로 구하는 경우가 많은데, 이 방식은 딱 그 두 점의 노이즈에 그대로 휘둘린다. 회귀 방식은 최근 구간의 온도 값들에 직선을 하나 맞추고, 그 직선의 기울기를 RoR로 쓴다. 점 하나가 아니라 구간 전체의 추세를 반영하기 때문에 더 안정적인 기울기를 얻을 수 있다.
이렇게 다듬어진 ET RoR과 BT RoR 두 값이 나오면, 마지막으로 우선순위 상태 판정 단계가 이 둘을 화력 제어 맵(ET·BT RoR의 네 방향 조합)에 대입해 지금이 어떤 상태인지를 결정한다. 이때 순서가 있다는 점이 중요하다 — 스톨(BT RoR이 0에 가까운 상태)이 최우선으로 판정된다. 배출 직전까지 로스팅 실패로 이어질 수 있는 유일한 증열 예외 상황이기 때문에, 다른 상태와 겹쳐 보이더라도 스톨 판정이 먼저 걸리도록 설계돼 있다.
여기서 끝이 아니다. 하이퍼델타의 핵심 규칙 자체가 "신호는 810초 지속될 때만 믿는다"는 조건을 깔고 있다. 아무리 위 네 단계를 거쳐 다듬은 값이라도, 상태가 바뀐 것처럼 보이는 순간이 짧게 스쳐 지나가면 로스터의 판단을 흔드는 오탐이 될 수 있다는 뜻이다. 화력을 실제로 조정하는 주기에도 같은 신중함이 적용된다 — 감열 후에는 2040초 잠금(lockout) 구간을 두고, 그 뒤에야 다시 판정한다. 스텝은 2%씩 고정하고 세기가 아니라 빈도로 조절한다는 규칙도 같은 맥락이다.
색과 라벨 자체도 임의로 정해진 게 아니라 이 판정 결과에 연속적으로 매핑돼 있다. 초록에서 노랑, 주황, 빨강으로 갈수록 개입이 급해지는 정도를 나타내고, 스톨만 예외적으로 회색과 눈꽃 표시(❄)를 쓴다. 정상 하강 상태에서는 색이 그대로 초록으로 유지되고, 정체가 길어질수록 지속 초가 함께 늘어난다.
그런데 이 파이프라인에는 사람이 직접 손대야 하는 값이 하나 남아 있다. θ_flat(BT가 "평탄하다"고 판정하는 임계값)과 데드밴드(ET·BT RoR이 둘 다 거의 0이라 애매할 때 판정을 보류하는 구간)다. 하이퍼 로그가 이 두 파라미터를 인디케이터 칩을 눌러 로스터가 직접 조정할 수 있게 열어둔 이유는, 이론 문서 스스로가 밝히는 한계와 정확히 맞닿아 있다. 에너지 보존식과 열전달 법칙 같은 물리 구조는 동료심사 문헌으로 검증했지만, 감열 스텝의 크기나 임계값 같은 구체적인 숫자는 "기계·프로브·배치에 의존하는 경험 캘리브레이션"이라 문헌이 대신 정해줄 수 없다고 스스로 인정한다. 그래서 파이프라인은 자동으로 돌아가되, 그 파이프라인이 무엇을 "평탄"이라고 볼지는 결국 각자의 로스터기와 프로브에 맞춰 직접 맞춰야 하는 셈이다.
이 모든 계산이 매초(1Hz) 돌아간다는 점도 이 인디케이터의 성격을 잘 보여준다. 자동으로 화력을 조절하거나 목표 곡선을 향해 지시를 내리는 게 아니라, 매초 신호를 다시 읽고 다시 판정해서 지금 상태만 보여주는 표시 전용 도구라는 뜻이다. 판단은 언제나 로스터의 몫이라는 문구가 화면 설명에 그대로 적혀 있는 이유도 여기에 있다 — 아무리 노이즈를 걸러내고 여러 단계를 거쳐 다듬어도, 이 칩이 하는 일은 결국 지금 상태를 정리해서 보여주는 것까지다. 화력을 낮출지 말지는 이 칩을 본 사람이 정한다.