Return-Path: Received: (qmail 17384 invoked from network); 23 Jan 2002 06:44:45 -0000 Received: from unknown (HELO murphys-inbound.services.quay.plus.net) (212.159.14.225) by exhibition.plus.net with SMTP; 23 Jan 2002 06:44:45 -0000 Received: (qmail 15559 invoked from network); 23 Jan 2002 06:44:18 -0000 Received: from unknown (HELO post.thorcom.com) (212.172.148.70) by murphys.services.quay.plus.net with SMTP; 23 Jan 2002 06:44:18 -0000 Received: from majordom by post.thorcom.com with local (Exim 3.33 #2) id 16TH39-0008Ty-00 for rsgb_lf_group-outgoing@blacksheep.org; Wed, 23 Jan 2002 06:38:23 +0000 Received: from mail008.syd.optusnet.com.au ([203.2.75.232]) by post.thorcom.com with esmtp (Exim 3.33 #2) id 16TH37-0008Tt-00 for rsgb_lf_group@blacksheep.org; Wed, 23 Jan 2002 06:38:22 +0000 Received: from CO3043446A (c22590.sunsh1.vic.optusnet.com.au [203.164.134.8]) by mail008.syd.optusnet.com.au (8.11.1/8.11.1) with SMTP id g0N6bU808507 for ; Wed, 23 Jan 2002 17:37:30 +1100 Message-ID: <005701c1a3d8$e96924d0$0886a4cb@CO3043446A> From: "Graeme Zimmer" To: rsgb_lf_group@blacksheep.org References: <5820836.1011716921516.JavaMail.computernetworks@gomailjtp05> Subject: Re: LF: Digital Sine Generators Date: Wed, 23 Jan 2002 17:40:56 +1100 MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1; format=flowed Content-Transfer-Encoding: 8bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2600.0000 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106 Precedence: bulk Reply-To: rsgb_lf_group@blacksheep.org X-Listname: rsgb_lf_group Sender: Dear Klaus, Like John G4CNN, I have been thinking about your CRT DDS scheme.. Firstly, a rather long winded recap on DDS/NCO operation: Assuming a simple DDS with an 8 bit latch and an 8192 Hz clock. With the smallest possible increment (one), the counter goes through 256 steps before wrapping around the unit circle. At each step the Latch reading is used to look up a value in the ROM. The ROM table contains one full cycle of a Sine Wave. With an Increment of one, the output goes through a full Sinewave every 256 clock pulses and thus (in our example) generates 32 Hz. The maximum possible output frequency is where only two steps occur each unit circle, thus the Max frequency is half the clock frequency (4096Hz). This occurs at an increment of 128. Intermediate steps thus give an output range from 32Hz to 4096Hz, with 128 steps every 32Hz. (The frequency step size is given by dividing the Clock frequency by the max latch count). In the special case where the increment value is a power of two (1,2,4,8,16, etc), the DDS steps land exactly on the minima and maxima of the wave (eg includes counts of 0, 64, 128, 193, 256). At all other frequencies the samples miss the min/max/zero and thus the output contains some jitter (unless considerable "Q" is available to act as a Flywheel). The above is (I think) the Address Quantitisation which Klaus mentions. I am guessing that Klaus has discovered a system where the effective Latch size is changing for each different frequency, thus ensuring that the generated wave always has samples at the peaks and troughs. Is this correct so far Klaus ??? But then perhaps I am on the wrong track completely. ............................. Zim