# What is the difference between Linear Interpolation factor and Sampling rate conversion factor?

I have come across sampling rate conversion factor, which is given by:

                             S_factor = F_new/F_old


If F_new > F_old, then s_factor > 1

and

If F_new < F_old, then s_factor < 1

But, what is this "linear interpolation factor"?. Is it the same as sampling rate conversion factor?

Does the linear interpolation factors value should be in the range 0 to 1?, If so, why is that?

• Can you provide a reference or definition of "linear interpolation factor" Where did come across this? – Hilmar Mar 3 '15 at 12:30
• Source/Reference - Julius O.Smith* & Phil Gosett** "A Flexible Sampling Rate Conversion Method" IEEE, 1984. – PsychedGuy Mar 3 '15 at 12:34
• Even this paper uses almost the same implementation - ccrma.stanford.edu/~jos/resample/resample.pdf – PsychedGuy Mar 3 '15 at 12:36
• Also, note that the linear interpolation factor is eta, $\eta$, not n (but due to character limits I had to use n in my comment). Fig. 7 can be a bit confusing otherwise... – Oscar Mar 3 '15 at 12:55
• OK. With sample rate conversion factor $S$, you want to compute samples at time $\frac{i}{S}$ for $i=0, 1, 2, \dots$. What I called time resolution is simply $1/S$, the time between the "new" samples, based on the time between the old samples, $1$. The linear interpolation factor is simply then the fractional part of $\frac{i}{S}$ for each $i$ with the integer part telling which sample index to use (together the next) for the linear interpolation. Can be written in a more formal way though, but not now. – Oscar Mar 3 '15 at 13:25

## 1 Answer

I'll move my comments to an answer:

With sample rate conversion factor $S$, you want to compute samples at "time" $\frac{i}{S}$ for $i=0,1,2,\dots$. "Time" relating to the index of the previous series. The linear interpolation factor is simply then the fractional part of $\frac{i}{S}$ for each $i$ with the integer part telling which sample index to use (together the next) for the linear interpolation.

Simple example to clarify: upsample a sequence a factor $\frac{10}{9}$. You would like to determine the samples at "time" $0, 0.9, 1.8, 2.7, 3.6, \dots$. First, start with sample $0$, then, compute the linear interpolation between sample $0$ and $1$ with $\eta = 0.9$. Next sample should be at "time" $1.8$, so $\eta = 0.8$ for samples $1$ and $2$. "Time" $2.7$ gives $\eta = 0.7$ for samples $2$ and $3$ and so on.

Note that you conceptually can compute the "time" $1.8$ sample from sample $0$ and $1$ with $\eta = 1.8$, but using sample $1$ and $2$ with $\eta = 0.8$ is better. So while $\eta$ does not really have to be $0$ and $1$ the results will be better and there is no advantage to not have it in that range.