🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.dsp
Article #2418

Re: Non-Linear Interpolation-Help!

#2418
From: Randall Judd
Date: Tue, 09 Jan 1990 19:21
21 lines
1631 bytes
In article <1697@rodan.acs.syr.edu>, isr@rodan.acs.syr.edu (Michael S. Schechter - ISR group account) writes:
> 
> Hi, I need to generate 'nice' sine-wave signals with a 56001 chip.
> The built-in ROM table makes this rather simple, except I need
> to interpolate (depending on frequency) as many as 40 points between
> the sine wave table values. No, I don't have enough memory to store
> a full quarter-cycle of my waveform. If interpolating 40 points is
> undoable, I HAVE to be able to get at least 10 points.
> ---Thanks,
>  Mike Schechter                        InterNet:isr@rodan.acs.syr.edu 

Have you thought about using 
       sin(theta + Dtheta)=sin(theta)*cos(Dtheta) + cos(theta)*sin(Dtheta)
       cos(theta + Dtheta)=cos(theta)*cos(Dtheta) - sin(theta)*sin(Dtheta)
which are of the form
       a(n+1)=a(n)b0+b(n)a0  and b(n+1)=b(n)b0-a(n)a0

You would want to update your sin and cos at table values (to prevent error
propagation), and if Dtheta is a constant you would only need to calculate 
cos(Dtheta) and sin(Dtheta) once, or load it in as a constant.  Since Dtheta 
is small you should be able to use a short taylor series.
Technical Details
Message-ID: <5274@blake.acs.washington.edu>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!clyde.concordia.ca!uunet!tut.cis.ohio-state.edu!ucsd!ogicse!blake!judd
References: <1697@rodan.acs.syr.edu>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!clyde.concordia.ca!uunet!tut.cis.ohio-state.edu!ucsd!ogicse!blake!judd
From: judd@blake.acs.washington.edu (Randall Judd)
Newsgroups: comp.dsp
Subject: Re: Non-Linear Interpolation-Help!
Summary: Using trig identities for interpolation of sine wave
Message-ID: <5274@blake.acs.washington.edu>
Date: 9 Jan 90 19:21:05 GMT
References: <1697@rodan.acs.syr.edu>
Organization: Univ of Washington, Seattle
Lines: 21