Transfer graphs and times
Posted: Mon Jul 07, 2003 11:33 pm
I'd like to present a simple formula for deducing transfer times from transfer rate graphs, such as those produced by Nero CD Speed; see the first three pictures in CDFreaks' review of Plextor Premium:
http://www.cdfreaks.com/article/112/4
A transfer rate graph plots the transfer speed V(s) (in units of 1x) as a function of the current position s (in units of 1 min = 60*75 sectors). The main idea is to approximate V(s) by a simple affine function of the form r*s + V_0, where the slope r >= 0 and the initial speed V_0 > 0 are chosen so that the graphs of the two functions are "close" (more on this later).
In our simplified model, s(t) is the position at time t elapsed since the start of the test; t is measured in "wall-clock" minutes. Since the derivative s'(t) of s(t) should satisfy s'(t) = V(s(t)), our approximation yields the simpler linear differential equation
s'(t) = r * s(t) + V_0 for t >= 0, with s(0) = 0.
Hence by standard arguments,
s(t) = V_0 * exp(r*t) * Int_0^t exp(-r*x) dx,
where exp(.) denotes exponentiation and Int_0^t stands for the integral over the interval [0,t]. Two cases arise.
For CLV (constant linear velocity), r = 0 and
s(t) = V_0 * t,
whereas for CAV (constant angular velocity), r > 0 and
s(t) = V_0 * [exp(r*t) - 1] / r.
Let T denote the total transfer time (in min). Then T = s(T)/V_0 for CLV, whereas for CAV (ln is the natural logarithm)
T = ln[ r * s(T) / V_0 + 1 ] / r.
In the typical case, we may choose the slope
r = (V_T - V_0) / s(T),
where V_T and V_0 approximate V(s(T)) and V(0); then
T = s(T) * ln(V_T / V_0) / (V_T - V_0).
For the three CDFreaks' pictures, choosing (V_0,V_T,s(T)) as (22,50,74), (23,50,72), (23,52,72) yields the times 2:10, 2:04, 2:01, whereas the actual times are 2:04, 2:01, 1:58 respectively. The agreement is quite suprising, in view of our simplifications.
In another example, suppose 10-24X CAV means the transfer speed starts at 10x and grows linearly to reach 24x at position M. Then for r = 14/M,
T = (M/14) * ln(1.4 * s(T) / M + 1),
so that, knowing T and s(T), we may estimate M.
Our model may be extended. For instance, for P-CAV, suppose V(s) grows from V_0 to V_T on [0,s_A] and equals V_T on [s_A,s(T)], where s_A is the switch position. Then
T = s_A * ln(V_T / V_0) / (V_T - V_0) + [s(T) - s_A] / V_T.
I'd like to ask able users (cfitz, dodecahedron, Inertia, MediumRare ...) to check my calculations, or to provide pointers if all this is well known!
http://www.cdfreaks.com/article/112/4
A transfer rate graph plots the transfer speed V(s) (in units of 1x) as a function of the current position s (in units of 1 min = 60*75 sectors). The main idea is to approximate V(s) by a simple affine function of the form r*s + V_0, where the slope r >= 0 and the initial speed V_0 > 0 are chosen so that the graphs of the two functions are "close" (more on this later).
In our simplified model, s(t) is the position at time t elapsed since the start of the test; t is measured in "wall-clock" minutes. Since the derivative s'(t) of s(t) should satisfy s'(t) = V(s(t)), our approximation yields the simpler linear differential equation
s'(t) = r * s(t) + V_0 for t >= 0, with s(0) = 0.
Hence by standard arguments,
s(t) = V_0 * exp(r*t) * Int_0^t exp(-r*x) dx,
where exp(.) denotes exponentiation and Int_0^t stands for the integral over the interval [0,t]. Two cases arise.
For CLV (constant linear velocity), r = 0 and
s(t) = V_0 * t,
whereas for CAV (constant angular velocity), r > 0 and
s(t) = V_0 * [exp(r*t) - 1] / r.
Let T denote the total transfer time (in min). Then T = s(T)/V_0 for CLV, whereas for CAV (ln is the natural logarithm)
T = ln[ r * s(T) / V_0 + 1 ] / r.
In the typical case, we may choose the slope
r = (V_T - V_0) / s(T),
where V_T and V_0 approximate V(s(T)) and V(0); then
T = s(T) * ln(V_T / V_0) / (V_T - V_0).
For the three CDFreaks' pictures, choosing (V_0,V_T,s(T)) as (22,50,74), (23,50,72), (23,52,72) yields the times 2:10, 2:04, 2:01, whereas the actual times are 2:04, 2:01, 1:58 respectively. The agreement is quite suprising, in view of our simplifications.
In another example, suppose 10-24X CAV means the transfer speed starts at 10x and grows linearly to reach 24x at position M. Then for r = 14/M,
T = (M/14) * ln(1.4 * s(T) / M + 1),
so that, knowing T and s(T), we may estimate M.
Our model may be extended. For instance, for P-CAV, suppose V(s) grows from V_0 to V_T on [0,s_A] and equals V_T on [s_A,s(T)], where s_A is the switch position. Then
T = s_A * ln(V_T / V_0) / (V_T - V_0) + [s(T) - s_A] / V_T.
I'd like to ask able users (cfitz, dodecahedron, Inertia, MediumRare ...) to check my calculations, or to provide pointers if all this is well known!