On Fri, 12 Nov 1999 13:24:37 -0800 Tracy Smith writes: >--- Nikolai Golovchenko wrote: > >> I may be inventing the wheel... Anyway, there was an >> interesting idea in >> Scenix application notes on how to generate sine >> waveform not using table or >> multiply, just addition. Basically, they generate > >It's fun to reinvent the wheel (except when it's on >your nickel). > >> triangle waveform, then >> integrate it and, vou la, something very similar to >> sine is produced. > Of course, a triangle wave is just a square wave run through an integrator (which is sorta like a 0 Hz low pass filter with a 6 dB/octave or 20 dB/decade roll-off). I think an additional stage of LPF is cheaper than doing a D/A of a triangle wave, then filtering it. I think phase accumulation and DDS is really neat, though I haven't used it yet in anything. By having different tables before the D/A, you can do arbitrary waveform generation. The anti-alias filter needs to be somewhere above the maximum output frequency and below the Nyquist frequency (50% of sample rate). With a perfect filter, you'd get a perfect sine wave out of the thing (assuming you are doing sine wave synthesis). You can vary the frequency and the output level remains the same. Anything that uses filters to remove harmonics (instead of alias components) will have the output level vary as the frequency is varied unless you have the filter track the output frequency (kind of a pain). One thing I'd like to try some time is to have a look up table that simulates a linear mix of several sinusoidal signals (stuff around 1 MHz), then drive the D/A. I wonder how much intermod there'd be... Harold Harold Hallikainen harold@hallikainen.com Hallikainen & Friends, Inc. See the FCC Rules at http://hallikainen.com/FccRules and comments filed in LPFM proceeding at http://hallikainen.com/lpfm ___________________________________________________________________ Get the Internet just the way you want it. Free software, free e-mail, and free Internet access for a month! Try Juno Web: http://dl.www.juno.com/dynoget/tagj.