These pictures might help with interpolation:
This first one shows how a simple interpolation [the red dotted lines show the correct values] fails abysmally because a simple interpolation of the average of two adjacent samples [red full lines] is often incorrect as is seen in the very first attempt. The algorithm is too simple to see that the waveform does something far more complex than a simple average [the green dots on the black dotted lines] can follow.

This second example shows what happens when the new samples [blue/green dots] generated using a perfect interpolator but are not simply related and positioned in time relative to the old. We require that the new samples lie exactly on the original waveform. But because each new sample is in a different position relative to the old it needs the coefficients to change every time and so each separate new sample of a set needs individual calculation. A simple repeating algorithm does not work at all well. This is true regardless of whether the conversion is in real time or not.

This final illustration shows the general solution in the form of a digital filter producing a new [blue] sample value between the old [red] samples S3 ans S4. It gives better results by using more reference samples. In the picture the green dots are the interpolation and the blue full line the ideal result - here they are shown to be close as should be the case with a good conversion where the green dots lie exactly on the original waveform. The stranger the ratio between the sample rates the more complex the filter and ideally the coefficients have to change in a cycle lasting many sample periods [480 in the case of 48 kHz conversion to 44.1]. The filter shape is closey related to the impulse response of the channel itself.
This is substantially true of the case for 48kHz conversion to 44.1. Provided the filter is linear it will not produce any unwanted results. However, in this case the filter also has to be aware of the possibilities of aliassing when the new lower sample rate tries to reconstruct high frequencies possibly present in the old 48 kHz samples [eg 23 kHz] that are above the Nyquist frequency of the new 44.1. If it took no notice of this alias potential it could render that 23kHz as 21kHz instead. No filter wil be perfect and the best ones will be complex and expensive to build. As Dave has said a non real time conversion will be able to afford this extra complexity but can take its time whereas a real time one has to be fast.
This first one shows how a simple interpolation [the red dotted lines show the correct values] fails abysmally because a simple interpolation of the average of two adjacent samples [red full lines] is often incorrect as is seen in the very first attempt. The algorithm is too simple to see that the waveform does something far more complex than a simple average [the green dots on the black dotted lines] can follow.

This second example shows what happens when the new samples [blue/green dots] generated using a perfect interpolator but are not simply related and positioned in time relative to the old. We require that the new samples lie exactly on the original waveform. But because each new sample is in a different position relative to the old it needs the coefficients to change every time and so each separate new sample of a set needs individual calculation. A simple repeating algorithm does not work at all well. This is true regardless of whether the conversion is in real time or not.

This final illustration shows the general solution in the form of a digital filter producing a new [blue] sample value between the old [red] samples S3 ans S4. It gives better results by using more reference samples. In the picture the green dots are the interpolation and the blue full line the ideal result - here they are shown to be close as should be the case with a good conversion where the green dots lie exactly on the original waveform. The stranger the ratio between the sample rates the more complex the filter and ideally the coefficients have to change in a cycle lasting many sample periods [480 in the case of 48 kHz conversion to 44.1]. The filter shape is closey related to the impulse response of the channel itself.
This is substantially true of the case for 48kHz conversion to 44.1. Provided the filter is linear it will not produce any unwanted results. However, in this case the filter also has to be aware of the possibilities of aliassing when the new lower sample rate tries to reconstruct high frequencies possibly present in the old 48 kHz samples [eg 23 kHz] that are above the Nyquist frequency of the new 44.1. If it took no notice of this alias potential it could render that 23kHz as 21kHz instead. No filter wil be perfect and the best ones will be complex and expensive to build. As Dave has said a non real time conversion will be able to afford this extra complexity but can take its time whereas a real time one has to be fast.

Comment