Prev: Practical Bit-loading (ADSL/VDSL): fundamental problem
Next: continuous radian frequency vs digital radian frequency
From: Steve Pope on 7 May 2010 19:50 Alfred Bovin <alfred(a)bovin.invalid> wrote: >I guess that a method that would be quite easy to implement would be to do a >Lagrange interpolation and read off the values at the same points on the >interpolated functions. Yep. Steve
From: Steve Pope on 7 May 2010 19:51 Vladimir Vassilevsky <nospam(a)nowhere.com> wrote: >2. Use a polynomial interpolation x(t). Lagrange interpolation through >unequally spaced points would be the simplest; however that requires a >solution of linear system of equations at every step. I don't think you need to solve a system of equations. Steve
From: Alfred Bovin on 7 May 2010 20:03 Thanks for your reply! >> In uniform sinc reconstruction we place the scaled sinc function at every >> sample with zero crossing at the other samples and compute the >> superposition. In the non-uniform case there will be an error since the >> zero crossing will not occur at the other samples. How can this be >> enforced? > > Good problem. You can proceed in two ways: > > 1. Build a fixed time grid with fine step in time, so a sample time could > be assumed at the nearest point of the grid. Do sinc interpolation in this > grid. I'm not sure what you mean by that. How can I do sinc interpolation in a grid finer than my sampling time. The superposition/convolution occurs at the samples. What do I do inbetween samples? > 2. Use a polynomial interpolation x(t). Lagrange interpolation through > unequally spaced points would be the simplest; however that requires a > solution of linear system of equations at every step. I think this would be a nice approach. I don't mind the computational cost associated with it, since it will happen offline. Do you agree with my comment about the associated error that I wrote in the reply Roberts first comment? I need to document my method, so I would be nice to have something about the error. Thanks again.
From: Alfred Bovin on 7 May 2010 20:05 "Steve Pope" <spope33(a)speedymail.org> wrote in message news:hs28p6$c95$1(a)blue.rahul.net... > robert bristow-johnson <rbj(a)audioimagination.com> wrote: > >>for non-uniform sampling, you have a sorta problem. you can try to >>fit polynomials between the points, or non-uniformly "stretch" the >>sinc function so that the zero crossings *do* go through the other >>samples. not necessarily a good way to do it. > > There's a very good way to do this problem. > > The Lagrangian interpolator is often used with equally spaced > abcissas, however it can just as easily be stated for > non-equally-spaced absicssas: > > f(x) =~ (sum over i=0 to n) (f(x[i]) * N[x] / D[i]) > > where > > N[x] = (product from j=0 to n) (x - x[j]) > > D[i] = (product from j=0 to n, j!=i) (x[i] - x[j]) > > You have to pick how many datapoints to use, but four (two before, > and two after the time point of interest) is often a good choice. Are you talking about a local polynomial interpolator here? I understand the concept of "Lagrange intepolation" as the polynomial of least possible degree that interpolates all the points in the data set.
From: Steve Pope on 7 May 2010 20:17 Alfred Bovin <alfred(a)bovin.invalid> wrote: >"Steve Pope" <spope33(a)speedymail.org> wrote in message >> The Lagrangian interpolator is often used with equally spaced >> abcissas, however it can just as easily be stated for >> non-equally-spaced absicssas: >> f(x) =~ (sum over i=0 to n) (f(x[i]) * N[x] / D[i]) >> where >> N[x] = (product from j=0 to n) (x - x[j]) >> D[i] = (product from j=0 to n, j!=i) (x[i] - x[j]) >> You have to pick how many datapoints to use, but four (two before, >> and two after the time point of interest) is often a good choice. >Are you talking about a local polynomial interpolator here? I understand the >concept of "Lagrange intepolation" as the polynomial of least possible >degree that interpolates all the points in the data set. Yes, that is what you get. If you use four sample points, you get an interpolated point on the cubic polynomial that goes through them. A "Lagrangian interpolator" specifically is a calculation that uses a ratio of two polynomials, one of which is the derivative of the other, as in N/D in the above example. It's a way of computing a point on the target polynomial (e.g. on the cubic curve if you're interpolating from four points), without having to compute the coefficients of the polynomial. This shows up all over the place, such as in algebraic decoding when computing error values. Steve
First
|
Prev
|
Next
|
Last
Pages: 1 2 3 4 Prev: Practical Bit-loading (ADSL/VDSL): fundamental problem Next: continuous radian frequency vs digital radian frequency |