나는 그것을 "역 보간법"이라고 부르지 않을 것입니다. 존재하지 않기 때문에 (내 생각은 당신이 외삽 법에 대해 이야기하고 있다고 생각했습니다!). 당신이하고있는 일은 단순히 고르지 않은 속도로 보간하는 것입니다.
보간 : 알려진 값 사이에 외삽 값을 찾는 : 일정한 속도로/보간 알려진 값
이상 값을 찾는 것은 "알려진 값 사이의 값을 찾아"의 일반 퀘스트보다 실제로 훨씬 더 간단합니다. 나는 2 가지 해결책을 제시한다.
1) 해결 한 다음 일반적인 문제를 가장 가까운 하나에 불과 하위 샘플 (추가 디더링 시도)
2) 상당히 높은 비율로 보간하고, 각 지점에 대해 당신이 이웃 N 포인트를 사용할 필요가 그것들에 N-1 다항식을 맞 춥니 다.
- N = 2 선형 것와 상음 (C0 연속성)을 추가 할 수
- N = 3 소스 샘플 사이의 중간 지점에서 단계 변화에 당신을 떠날 수 (N = 2 것보다 아마도 더 배음!)
- N = 4는 C1 연속성을 얻습니다 (다음 샘플로 변경하면 기울기가 일치합니다). 확실히 애플리케이션에 충분합니다.
마지막으로 설명해 드리겠습니다.
각 출력 샘플에 대해 앞뒤 2 개의 입력 샘플을 사용하십시오. S0에서 S3까지를 단위 시간 규모 (나중에 샘플 기간을 곱함)라고 부르며, 시간 0에서 1까지 보간합니다. Y는 출력이고 Y '는 기울기입니다.
Y이 다항식과 차동 (기울기)로부터 계산한다
Y(t) = At^3 + Bt^2 + Ct + D
Y'(t) = 3At^2 + 2Bt + C
다항식
확대 제 (양쪽 엔드 포인트에서의 값과 기울기) 제약
Y(0) = S1
Y'(0) = (S2-S0)/2
Y(1) = S2
Y'(1) = (S3-S1)/2
을
Y(0) = D
Y'(0) = C
Y(1) = A+B+C+D
Y'(1) = 3A+2B+C
샘플 끼우기
D = S1
C = (S2-S0)/2
A + B = S2 - C - D
3A+2B = (S3-S1)/2 - C
마지막 2는 쉽게 풀 수있는 방정식 시스템입니다. 두 번째에서 첫 번째를 두 번 빼십시오. 당신이 A, B, C가 있고 당신이 당신의 알려진 샘플 사이의 샘플 값을 찾기 위해 다항식에 시간 't'에 넣을 수 있습니다 D되면
3A+2B - 2(A+B)= (S3-S1)/2 - C - 2(S2 - C - D)
A = (S3-S1)/2 + C - 2(S2 - D)
그런 다음 B는
B = S2 - A - C - D
입니다.
다음 출력 샘플이 동일한 2 입력 샘플 사이에 있으면 출력 샘플마다 반복하여 A, B, C & D를 다시 사용하십시오. 매번 t를 계산하는 것은 Bresenham의 선 알고리즘과 비슷하지만 매번 다른 양만큼 진행됩니다.
FIR을 사용하여 보간 작업을 수행하고 있습니까? – Michael