DSPRelated.com
Forums

interpolator

Started by mishrask March 28, 2012
Hi ,
     I was reading a document describing a sample rate converter  .It can
do a interpolation by a factor 64x(max)...and says that "it can generate up
to 64 interpolated phases between input samples"..I understand that it can
put 63 new values (max-interpolation by 64) but what is this phases b/w
samples??and why it is 64 rather than 63...

Regards
SKM
On Wed, 28 Mar 2012 08:38:30 -0500, "mishrask"
<sujeet.ismu@n_o_s_p_a_m.gmail.com> wrote:

>Hi , > I was reading a document describing a sample rate converter .It can >do a interpolation by a factor 64x(max)...and says that "it can generate up >to 64 interpolated phases between input samples"..I understand that it can >put 63 new values (max-interpolation by 64) but what is this phases b/w >samples??and why it is 64 rather than 63... > >Regards >SKM
The "phases" are just the 63 new sample points in between the existing ones. They are "phases" of the original sampling clock. With 63 new potential phases the interpolator can provide 1:1 to 1:64 interpolation rates. One of the possible "interpolated" sample instances was the original, if they count to 64. Otherwise one of the 64s may have been a typo when they meant 63. Eric Jacobsen Anchor Hill Communications www.anchorhill.com
"mishrask" <sujeet.ismu@n_o_s_p_a_m.gmail.com> writes:

> Hi , > I was reading a document describing a sample rate converter .It can > do a interpolation by a factor 64x(max)...and says that "it can generate up > to 64 interpolated phases between input samples"..I understand that it can > put 63 new values (max-interpolation by 64) but what is this phases b/w > samples??and why it is 64 rather than 63...
Hi michrask, You are correct. It should say 63, if it's interpolating by a maximum of 64. Marketing got ahold of the write-up... -- Randy Yates DSP/Firmware Engineer 919-577-9882 (H) 919-720-2916 (C)
On 3/28/12 10:16 PM, Randy Yates wrote:
> "mishrask"<sujeet.ismu@n_o_s_p_a_m.gmail.com> writes: > >> Hi , >> I was reading a document describing a sample rate converter .It can >> do a interpolation by a factor 64x(max)...and says that "it can generate up >> to 64 interpolated phases between input samples"..I understand that it can >> put 63 new values (max-interpolation by 64) but what is this phases b/w >> samples??and why it is 64 rather than 63... > > Hi michrask, > > You are correct. It should say 63, if it's interpolating by a maximum of > 64. Marketing got ahold of the write-up...
or it could be 64 if the fractional times are (2*n + 1)/128 for 0 <= n < 64 if could also be that the interpolation is not equivalent to a windowed-sinc function where for when the fractional part of the time is 0, the output sample is identical to the input sample. if it was some other interpolation kernel (like what you might get out of a Parks-McClellan designed brickwall LPF), the you have to compute every output sample, not just the ones that are at "in between" times. -- r b-j rbj@audioimagination.com "Imagination is more important than knowledge."
robert bristow-johnson <rbj@audioimagination.com> writes:

> On 3/28/12 10:16 PM, Randy Yates wrote: >> "mishrask"<sujeet.ismu@n_o_s_p_a_m.gmail.com> writes: >> >>> Hi , >>> I was reading a document describing a sample rate converter .It can >>> do a interpolation by a factor 64x(max)...and says that "it can generate up >>> to 64 interpolated phases between input samples"..I understand that it can >>> put 63 new values (max-interpolation by 64) but what is this phases b/w >>> samples??and why it is 64 rather than 63... >> >> Hi michrask, >> >> You are correct. It should say 63, if it's interpolating by a maximum of >> 64. Marketing got ahold of the write-up... > > or it could be 64 if the fractional times are > > (2*n + 1)/128 for 0 <= n < 64 > > if could also be that the interpolation is not equivalent to a > windowed-sinc function where for when the fractional part of the time > is 0, the output sample is identical to the input sample. if it was > some other interpolation kernel (like what you might get out of a > Parks-McClellan designed brickwall LPF), the you have to compute every > output sample, not just the ones that are at "in between" times.
Not really. Think about the meaning of the word interpolate; in both the cases you state, you are no longer interpolating. -- Randy Yates DSP/Firmware Engineer 919-577-9882 (H) 919-720-2916 (C)
Hi All,
      thanks for the reply ..but my focus while asking the question was on
the meaning of Phases ....Thanks Eric for the reply but still I don't feel
the use of phase word here ...can someone please elaborate on this for
example earlier I didn't understand the meaning of Phase in polyphase
filter but now i am clear ....

and one more question --- can someone please elaborate on the clock
requirements in a sample rate converter with a suitable example [sampling
rate and clock rates say for SRC by factor of 1.3564] (I didn't get any
reference about this ,so please give if you know.The books I have referred
to are dsp books and they don't at all talk about the clock rates) ....
Lets' say I have a single clock in my design ,then  do I need to divide the
clock and use different clocks for i/p and o/p(in this case how to go about
for like SRC by 1.765 factor)...or some other way is there .

Regards
Sujeet




>robert bristow-johnson <rbj@audioimagination.com> writes: > >> On 3/28/12 10:16 PM, Randy Yates wrote: >>> "mishrask"<sujeet.ismu@n_o_s_p_a_m.gmail.com> writes: >>> >>>> Hi , >>>> I was reading a document describing a sample rate converter .It
can
>>>> do a interpolation by a factor 64x(max)...and says that "it can
generate up
>>>> to 64 interpolated phases between input samples"..I understand that it
can
>>>> put 63 new values (max-interpolation by 64) but what is this phases
b/w
>>>> samples??and why it is 64 rather than 63... >>> >>> Hi michrask, >>> >>> You are correct. It should say 63, if it's interpolating by a maximum
of
>>> 64. Marketing got ahold of the write-up... >> >> or it could be 64 if the fractional times are >> >> (2*n + 1)/128 for 0 <= n < 64 >> >> if could also be that the interpolation is not equivalent to a >> windowed-sinc function where for when the fractional part of the time >> is 0, the output sample is identical to the input sample. if it was >> some other interpolation kernel (like what you might get out of a >> Parks-McClellan designed brickwall LPF), the you have to compute every >> output sample, not just the ones that are at "in between" times. > >Not really. Think about the meaning of the word interpolate; in >both the cases you state, you are no longer interpolating. >-- >Randy Yates >DSP/Firmware Engineer >919-577-9882 (H) >919-720-2916 (C)
On 3/29/12 3:52 AM, Randy Yates wrote:
> robert bristow-johnson<rbj@audioimagination.com> writes: > >> On 3/28/12 10:16 PM, Randy Yates wrote: >>> "mishrask"<sujeet.ismu@n_o_s_p_a_m.gmail.com> writes: >>> >>>> Hi , >>>> I was reading a document describing a sample rate converter .It can >>>> do a interpolation by a factor 64x(max)...and says that "it can generate up >>>> to 64 interpolated phases between input samples"..I understand that it can >>>> put 63 new values (max-interpolation by 64) but what is this phases b/w >>>> samples??and why it is 64 rather than 63... >>> >>> Hi michrask, >>> >>> You are correct. It should say 63, if it's interpolating by a maximum of >>> 64. Marketing got ahold of the write-up... >> >> or it could be 64 if the fractional times are >> >> (2*n + 1)/128 for 0<= n< 64 >> >> if could also be that the interpolation is not equivalent to a >> windowed-sinc function where for when the fractional part of the time >> is 0, the output sample is identical to the input sample. if it was >> some other interpolation kernel (like what you might get out of a >> Parks-McClellan designed brickwall LPF), the you have to compute every >> output sample, not just the ones that are at "in between" times. > > Not really. Think about the meaning of the word interpolate; in > both the cases you state, you are no longer interpolating.
i think that semantically, sampling at fractional times (2*n + 1)/128 for 0 <= n< 64 *is* considered "interpolation" if the function you are sampling *does* go through the original points at 0 fractional offset (what would happen if n = -1/2). but if n is an integer from 0 to 63, you have to compute all 64 points. that's the "windowed sinc" design. if it's resampling something that does not (like if the kernel came from some optimal filter design), *then* maybe you can make a semantic case that there is no interpolation since the "interpolated" function does not go through the original points. not exactly. -- r b-j rbj@audioimagination.com "Imagination is more important than knowledge."
On 3/29/12 9:40 AM, mishrask wrote:
> Hi All, > thanks for the reply ..but my focus while asking the question was on > the meaning of Phases ....Thanks Eric for the reply but still I don't feel > the use of phase word here ...can someone please elaborate on this for > example earlier I didn't understand the meaning of Phase in polyphase > filter but now i am clear .... > > and one more question --- can someone please elaborate on the clock > requirements in a sample rate converter with a suitable example [sampling > rate and clock rates say for SRC by factor of 1.3564] (I didn't get any > reference about this ,so please give if you know.The books I have referred > to are dsp books and they don't at all talk about the clock rates) .... > Lets' say I have a single clock in my design ,then do I need to divide the > clock and use different clocks for i/p and o/p(in this case how to go about > for like SRC by 1.765 factor)...or some other way is there . >
are you making a chip or something? this is running real time? are you supplying the clock for the output samples? if yes, then you're doing synchronous sample rate conversion and your SRC ratio can be a constant of your chosing. but *if* someone *else* supplies the clock for the samples going out, then you have *asynchronous* SRC and that's a whole 'nother problem. -- r b-j rbj@audioimagination.com "Imagination is more important than knowledge."
robert bristow-johnson <rbj@audioimagination.com> writes:

> On 3/29/12 3:52 AM, Randy Yates wrote: >> robert bristow-johnson<rbj@audioimagination.com> writes: >> >>> On 3/28/12 10:16 PM, Randy Yates wrote: >>>> "mishrask"<sujeet.ismu@n_o_s_p_a_m.gmail.com> writes: >>>> >>>>> Hi , >>>>> I was reading a document describing a sample rate converter .It can >>>>> do a interpolation by a factor 64x(max)...and says that "it can generate up >>>>> to 64 interpolated phases between input samples"..I understand that it can >>>>> put 63 new values (max-interpolation by 64) but what is this phases b/w >>>>> samples??and why it is 64 rather than 63... >>>> >>>> Hi michrask, >>>> >>>> You are correct. It should say 63, if it's interpolating by a maximum of >>>> 64. Marketing got ahold of the write-up... >>> >>> or it could be 64 if the fractional times are >>> >>> (2*n + 1)/128 for 0<= n< 64 >>> >>> if could also be that the interpolation is not equivalent to a >>> windowed-sinc function where for when the fractional part of the time >>> is 0, the output sample is identical to the input sample. if it was >>> some other interpolation kernel (like what you might get out of a >>> Parks-McClellan designed brickwall LPF), the you have to compute every >>> output sample, not just the ones that are at "in between" times. >> >> Not really. Think about the meaning of the word interpolate; in >> both the cases you state, you are no longer interpolating. > > i think that semantically, sampling at fractional times > > (2*n + 1)/128 for 0 <= n< 64 > > *is* considered "interpolation" if the function you are sampling > *does* go through the original points at 0 fractional offset (what > would happen if n = -1/2). but if n is an integer from 0 to 63, you > have to compute all 64 points. that's the "windowed sinc" design. > > if it's resampling something that does not (like if the kernel came > from some optimal filter design), *then* maybe you can make a semantic > case that there is no interpolation since the "interpolated" function > does not go through the original points. not exactly.
I've written a few so I think I understand all the varieties anbd possibilities - this is just arguing semantics and pretty much a waste IMO. Perhaps you're sore about the preamble / synchronization issue we discussed earlier, which I noticed you never responded to? I'm not sure why you'd be sore, but your lack of response there, and tone here, lead me to think you are. -- Randy Yates DSP/Firmware Engineer 919-577-9882 (H) 919-720-2916 (C)
"mishrask" <sujeet.ismu@n_o_s_p_a_m.gmail.com> writes:

> Hi All, > thanks for the reply ..but my focus while asking the question was on > the meaning of Phases ....Thanks Eric for the reply but still I don't feel > the use of phase word here ...can someone please elaborate on this for > example earlier I didn't understand the meaning of Phase in polyphase > filter but now i am clear ....
Fractional sample is often used (as in this case) synonymously with phase in this context. If you consider the original sequence corresponding to the integers ... -2, -1, 0, 1, 2, ..., then when you interpolate (e.g., by two) you produce new values ... -1.5, -0.5, 0.5, 1.5, ... . Those are necessarily "fractional samples" since the original sequence occupies all the integer samples. So we refer to them as "fractional samples" or "phases" or "sample phases." --Randy
> > and one more question --- can someone please elaborate on the clock > requirements in a sample rate converter with a suitable example [sampling > rate and clock rates say for SRC by factor of 1.3564] (I didn't get any > reference about this ,so please give if you know.The books I have referred > to are dsp books and they don't at all talk about the clock rates) .... > Lets' say I have a single clock in my design ,then do I need to divide the > clock and use different clocks for i/p and o/p(in this case how to go about > for like SRC by 1.765 factor)...or some other way is there . > > Regards > Sujeet > > > > >>robert bristow-johnson <rbj@audioimagination.com> writes: >> >>> On 3/28/12 10:16 PM, Randy Yates wrote: >>>> "mishrask"<sujeet.ismu@n_o_s_p_a_m.gmail.com> writes: >>>> >>>>> Hi , >>>>> I was reading a document describing a sample rate converter .It > can >>>>> do a interpolation by a factor 64x(max)...and says that "it can > generate up >>>>> to 64 interpolated phases between input samples"..I understand that it > can >>>>> put 63 new values (max-interpolation by 64) but what is this phases > b/w >>>>> samples??and why it is 64 rather than 63... >>>> >>>> Hi michrask, >>>> >>>> You are correct. It should say 63, if it's interpolating by a maximum > of >>>> 64. Marketing got ahold of the write-up... >>> >>> or it could be 64 if the fractional times are >>> >>> (2*n + 1)/128 for 0 <= n < 64 >>> >>> if could also be that the interpolation is not equivalent to a >>> windowed-sinc function where for when the fractional part of the time >>> is 0, the output sample is identical to the input sample. if it was >>> some other interpolation kernel (like what you might get out of a >>> Parks-McClellan designed brickwall LPF), the you have to compute every >>> output sample, not just the ones that are at "in between" times. >> >>Not really. Think about the meaning of the word interpolate; in >>both the cases you state, you are no longer interpolating. >>-- >>Randy Yates >>DSP/Firmware Engineer >>919-577-9882 (H) >>919-720-2916 (C) >
-- Randy Yates DSP/Firmware Engineer 919-577-9882 (H) 919-720-2916 (C)