DSPRelated.com
Forums

Interpolation response overshoot, why?

Started by Laron January 6, 2010

glen herrmannsfeldt wrote:
> > Tim Wescott <tim@seemywebsite.com> wrote: > (snip) > > > Reconstruction filters can ring. Filters that ring, > > when presented with inputs with sharp edges, can ring > > strongly enough to exceed the bounds of the input. > > That is true, but there are also sampled values that, when > reconstructed, result in a sine with amplitude greater > than full scale of the D/A conversion. Easiest to see > is the signal with period of four samples [ 1 1 -1 -1 ]. >
it didn't sound like he was asking about reconstruction. He asked about interpolating without overshoot.
> If the source is analog data through an A/D conversion > then that isn't so likely, though. > > -- glen

Laron wrote:

> > > > I just know there would be a lpf, not quite sure about the reconstruction > process. > I got an idea that the overshoot caused from the lpf, but the detail "how" > is still not clear. >
A low pass filter with only positive values and a DC gain of 1 will guarantee no overshoot. -jim
Laron <jason.piker@inbox.com> wrote:
(snip on overshoot and reconstruction)
 
> I just know there would be a lpf, not quite sure about the > reconstruction process. I got an idea that the overshoot > caused from the lpf, but the detail "how" is still not clear.
Because it is the right answer. Another way to see it, take a square wave of amplitude one and low pass filter it such that only the fundamental comes through. The peak will be higher than 1.0. Mostly the third harmonic is negative at the peak of the fundamental, so when you remove it the result has a higher amplitude. -- glen
jim wrote:

   ...

> it didn't sound like he was asking about reconstruction. He asked about > interpolating without overshoot.
Interpolating is sort of partial reconstruction. If you interpolate the signal 0, 1, 1, 0, -1, -1, ... by two, you get 0, .577, 1, 1.55, 1, 577, 0. -.577, -1, -1.55, -1, -.577, .... ... Jerry -- Engineering is the art of making what you want from things you can get. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;

Jerry Avins wrote:
> > jim wrote: > > ... > > > it didn't sound like he was asking about reconstruction. He asked about > > interpolating without overshoot. > > Interpolating is sort of partial reconstruction. If you interpolate the > signal 0, 1, 1, 0, -1, -1, ... by two, you get 0, .577, 1, 1.55, 1, 577, > 0. -.577, -1, -1.55, -1, -.577, .... >
Surely you can't be claiming that is the only possible way to interpolate that sequence. What about linear interpolation? That would produce no overshoot. And the reason is the filter [1/2 1/2] has unity gain at DC and no negative terms. Any other filter that is also so constrained can be used for interpolation without any overshoot. -jim
> ... > > Jerry > -- > Engineering is the art of making what you want from things you can get. > &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
Jim wrote:
> > Jerry Avins wrote: >> jim wrote: >> >> ... >> >>> it didn't sound like he was asking about reconstruction. He asked about >>> interpolating without overshoot. >> Interpolating is sort of partial reconstruction. If you interpolate the >> signal 0, 1, 1, 0, -1, -1, ... by two, you get 0, .577, 1, 1.55, 1, 577, >> 0. -.577, -1, -1.55, -1, -.577, .... >> > > > Surely you can't be claiming that is the only possible way to > interpolate that sequence. > > What about linear interpolation? That would produce no overshoot. And > the reason is the filter [1/2 1/2] has unity gain at DC and no negative > terms. Any other filter that is also so constrained can be used for > interpolation without any overshoot.
That's not the only way to interpolate it, but it is some of the points that would appear in a reconstruction. In general, a good interpolation has that characteristic. Jerry -- Engineering is the art of making what you want from things you can get. &macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;
On Jan 5, 10:55&#4294967295;pm, "Laron" <jason.pi...@inbox.com> wrote:
> Hi, > &#4294967295; &#4294967295; When simulate the FIR filter response, run interp(Matrix,n) in matlab, > &#4294967295;the maximum of Matrix is 1,but the response is larger than 1? > &#4294967295; &#4294967295; I wonder know why this could be happen and how to degrade this > effect? > > B. R. > Thanks.
You can use a Nth order polynomial to interpolate between points. A 3rd order polynomial will do or even a 3rd order cubic spline but the trick it to ensure the derivative at the peaks is 0. Easy. Peter Nachtwey
"Laron" <jason.piker@inbox.com> schrieb im Newsbeitrag 
news:BOednfutGppmrtnWnZ2dnUVZ_uWdnZ2d@giganews.com...
> Hi, > When simulate the FIR filter response, run interp(Matrix,n) in matlab, > the maximum of Matrix is 1,but the response is larger than 1? > I wonder know why this could be happen and how to degrade this > effect?
You possibly have an ODE (system) of 2nd degree: See Page 1 * http://home.arcor.de/janch/janch/_control/20100109-overshooting/ 0,0001 u'' + 0,01 u' + u = w See Page 2: Degrading using higher damping 0,0001 u'' + 0,018 u' + u = w -- Regards JCH
On Jan 9, 1:55&#4294967295;am, "JCH" <ja...@nospam.arcornews.de> wrote:
> "Laron" <jason.pi...@inbox.com> schrieb im Newsbeitragnews:BOednfutGppmrtnWnZ2dnUVZ_uWdnZ2d@giganews.com... > > > Hi, > > &#4294967295; &#4294967295;When simulate the FIR filter response, run interp(Matrix,n) in matlab, > > the maximum of Matrix is 1,but the response is larger than 1? > > &#4294967295; &#4294967295;I wonder know why this could be happen and how to degrade this > > effect? > > You possibly have an ODE (system) of 2nd degree: > > See Page 1 > *http://home.arcor.de/janch/janch/_control/20100109-overshooting/ > 0,0001 u'' + 0,01 u' + u = w > > See Page 2: Degrading using higher damping > 0,0001 u'' + 0,018 u' + u = w > > -- > Regards JCH &#4294967295;
This has nothing to do with the original question. Laron wants to know how to INTERPOLATE without OVERSHOOTING. Peter Nachtwey
On Jan 6, 4:41&#4294967295;pm, jim <"sjedgingN0Sp"@m@mwt,net> wrote:
> Laron wrote: > > > I just know there would be a lpf, not quite sure about the reconstruction > > process. > > I got an idea that the overshoot caused from the lpf, but the detail "how" > > is still not clear. > > A low pass filter with only positive values and a DC gain of 1 will > guarantee no overshoot. > > -jim
But that is not interpolating. Peter Nachtwey