On Mar 3, 7:56�pm, "bcarmaint" <bing_carma...@yahoo.com> wrote:> >On Mar 3, 6:56=A0am, "bcarmaint" <bing_carma...@yahoo.com> wrote: > >> >On Mar 2, 7:11=3DA0pm, "bcarmaint" <bing_carma...@yahoo.com> wrote: > >> >[snip] > > >> >> Thanks for the response. I understand the relationship between > Farrow > >> >> structure and polyphase filter. > > >> >> My questions was the relationship between different interpolation > >> method, > >> >> such as cubin bspline interpolation and polyphase filter. > > >> >> Thanks, Ben > > >> >I'm with Jerry, I think you are confusing an efficient implementation > >> >method > >> >(polyphase filter) with a mathematical tool for approximation (cubic > >> >bspline > >> >interpolation). =A0For example, you can implement a cubic bspline > >> >interpolator > >> >as a polyphase filter. =A0So I don't understand what your question > is, > >> >sorry. > > >> >Reading your original question again, I think that where you are > >> >confused > >> >is between: > >> >* the formula for computing the coefficients of a filter to apply to > a > >> >signal, > >> > =A0for example for interpolation. > >> >* the efficient implementation of a filter, in fact any filter. > > >> >The first one includes the cubic spline formula, etc etc etc. =A0The > >> >second > >> >one includes polyphase structures, lattice filters, etc. > > >> >As for your second question, yes, if your original filter has > >> >bandwidth > >> ><=3D3D 1/32 as a fraction of the digital bandwidth, then you can use > it > >> >for > >> >variable rate interpolation, as long as that bandwidth is not so > >> >narrow > >> >that your signal is distorted. > > >> >Hope this helps, > >> >Julius > > >> Julius, Jerry > > >> Thanks for the clarifications about the second question. About my > first > >> question, I still have some confusion... I can't seem to relate a > cubic > >> spline coefficients with a 32 phase polyphase filter. Do you by any > chanc= > >e > >> have some example in this regard? > > >> Ben > > >Ben, > > >A generic explanation of the resampling process is as follows: > >1. Upsample to a higher rate (i.e., insert zeros between existing > >samples) > >2. Use an interpolator to figure out what the values of the samples > >should be at the new points (where you inserted zeros) > >3. Possibly downsample to achieve the desired rate > > >Now you can implement step (2) of the process in one of several ways. > >One way is to use a linear combination of samples around the point you > >want - eg. x(t) =3D 0.5(x(t0)+x(t1)). Basically, the linear combination > >of samples with different weights is what constitutes a filter - so > >what you have is an "interpolating filter". > > >Now, you could also choose not to be restricted to a linear technique > >for interpolation, i.e., you could use square, cubic, and higher order > >terms of the samples to do the interpolation. For example, > > >x(t) =3D a0.x(t0)^2 + b0.x(t0) + a1.x(t1)^2 + b1.x(t1) + c. > > >What you have here is a polynomial interpolation technique. In a > >sense, the linear interpolating technique is a specific case of the > >polynomial technique, with the order of the polynomial restricted to > >one. > > >So when do you choose one over the other? The linear filtering > >technique is a low computational complexity technique and you can use > >a number of filter design techniques to design your interpolating > >filter. On the other hand, in situations where the spacing between > >your samples is not constant, or, if the spacing between your > >interpolating instant and the sampling instant changes, then the > >filter needs to change. The filtering technique falls short because > >your filter was designed assuming a particular fixed spacing of > >samples on the time axis and does not hold if that changes. > > >The greatest advantage of polynomial interpolation is that it can be > >implemented in a way that factors in the time interval between sampled > >and interpolated points - for example, > > >x(t) =3D x(t0) + (x(t1)-x(t0)).(t-t0)/(t1-t0) > > >This has the advantage that the interpolation holds even if the > >relative spacing between the interpolating instant, t, and sampling > >instants t0 and t1, changes. In the case of a communications receiver > >for example, the receiver clock can be at a slightly different > >frequency from the transmitter clock - so assuming that the two clocks > >are in sync at the first sample, the second sample is off by dT, the > >third by 2dT, etc. If you can estimate this difference, you could use > >a polynomial interpolator to interpolate existing received samples to > >the transmitter rate. > > >And as others have said, a polyphase filter is simply a structure that > >allows for efficient implementation of the filter. > > >- Ravi > > Ravi, > > Thanks a lot. I think I confused "interpolation filter" and the polyphae > implementation of the anti-aliasing filter used after the interpolation. > > Here is my understanding of a overall interpolation procedure: > > 1) First I will need interpolate the signal (may need to use both > upsampling and downsampling to achieve the required factor); in this > process, I may choose different interpolation techniques you described > above. > > 2) Implement anti-aliasing/anti-imaging lowpass filter to reduce > artifects. In this step, I can choose the cutoff bandwidth to be the > smallest possible bandwidth I need to support (determined by the highest > interpolation factor, for example, if the factor is 32, then the cutoff > bandwidth should be 1/32); A typical filter like this may have several > hundre taps, and a good choise to implement this filter is polyphase > filter. With this structure, I can support the filtering of interpolation > of 2,3,4...32 discrete steps. > > Does this looks correct to you? > > Thanks for the help from all of you, > > Regards, BenYou need to be a little careful here. You need to put your anti- aliasing filter BEFORE downsampling. Looked at in the frequency domain, the downsampling process causes the frequency response to stretch and causes aliasing. So basically, you can combine the interpolating filter and the anti-aliasing filter, provided you choose your filter bandwidth properly.