Deutsch English Français Italiano |
<vvphlr$22kn$2@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: Bill Sloman <bill.sloman@ieee.org> Newsgroups: sci.electronics.design,comp.dsp Subject: Re: DDS question: why sine lookup? Date: Sun, 11 May 2025 16:55:55 +1000 Organization: A noiseless patient Spider Lines: 39 Message-ID: <vvphlr$22kn$2@dont-email.me> References: <1t4o1k1uo8qa244fcv7jr7dnljlvp72vmq@4ax.com> <ntls1kddgtc3n9ghrjlnqp4q8jsh8f9pmr@4ax.com> <vvo3pg$3l8r7$1@dont-email.me> <ad7v1kttjfhjulnameem9ta8gjst5cpa45@4ax.com> <ba55fl-ru91.ln1@coop.radagast.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Sun, 11 May 2025 08:55:56 +0200 (CEST) Injection-Info: dont-email.me; posting-host="52959bd639cb7711fced2f7d5f8f858b"; logging-data="68247"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18/jvmhKH7YLM4wkJ9TbkFXuARlo/uTsLs=" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:+9qemUara/mw2208/7xj6XvxeMU= In-Reply-To: <ba55fl-ru91.ln1@coop.radagast.org> X-Antivirus: Norton (VPS 250511-0, 11/5/2025), Outbound message X-Antivirus-Status: Clean Content-Language: en-US On 11/05/2025 9:50 am, Dave Platt wrote: > In article <ad7v1kttjfhjulnameem9ta8gjst5cpa45@4ax.com>, > john larkin <jl@glen--canyon.com> wrote: > >> Looks like the best way is logic in the FPGA doing classic sine DDS, >> maybe 6 or 8 output pins driving an R-2R network, a 3 or 5-pole >> Chebyshev LC filter, and an LVDS receiver as the comparator. > > Be wary of that approach. > > I tried something like it (sans comparator), while using a simple FPGA > to generate a (modulated) 10.7 MHz IF signal for an FM-stereo test > generator. The results were ungood. > > The output waveform had some pretty horrible glitches, at the times of > the transitions between values. There's enough variation in delay in > the signal paths inside the FPGA to create a significant (in > picoseconds and nanoseconds) delay between the transition times of the > R2R bits. If you're trying to go from (for example) 0x7F to 0x81, > your MSB is going to be transitioning high when most of your LSBs are > transitioning low. There's very likely to be a brief moment of time > when the effective value is 0xFF (if the MSB transitions first) or > 0x00 (if it transitions last), or some random and unpredictable and > ever-changing mix of bits. The resulting spikes are narrow, but can > have a pretty fierce amplitude to them. One approach that might help, but isn't going to be all that cheap, would be to latch the digital information coming out of the FPGA into something like an ECLinPS latch which has very fast internal logic and rather less variation in propagation delay between the clock edge going into the ECLinPS latch and the output edges of the data outputs. The other advantage is that ECL is current steering logic, so the latch rails are a lot clean than the rails inside the FPGA and the nominally unchanged edges aren't going to move as much. -- Bill sloman. Sydney