L
Lasse Langwadt Christensen
Guest
tirsdag den 16. august 2022 kl. 16.03.01 UTC+2 skrev jla...@highlandsniptechnology.com:
take you favorite programming language (or a spreadsheet) make a textfile
with two columns time and value, a voltage source can load that as a pwl file
On Tue, 16 Aug 2022 15:44:27 +0300, Dimiter_Popoff <d...@tgi-sci.com
wrote:
On 8/16/2022 3:23, John Larkin wrote:
On Mon, 15 Aug 2022 16:45:18 -0700 (PDT), whit3rd <whi...@gmail.com
wrote:
On Monday, August 15, 2022 at 2:03:21 PM UTC-7, Dimiter Popoff wrote:
On 8/15/2022 22:56, Lasse Langwadt Christensen wrote:
mandag den 15. august 2022 kl. 21.42.18 UTC+2 skrev Dimiter Popoff:
I still don\'t understand what you are trying to do. Periodic sine
wave 1 to 15 MHz at 100 Msps is trivial, it takes a 100 entry sine
wave lookup table for the slowest case.
only if you want neat frequencies that add up to 100M
I don\'t understand what a neat frequency is, either. Any periodic
waveform at 1 MHz (the worst case) at 100 Msps update rate takes
a 100 entry table.
But suppose you adjust to 0.99 MHz; do you now use a 101 entry table?
And how about 0.995 MHz?
The small-integer ratios for a given frequency don\'t support a fixed table
size, and the \'update rate\' might not be fine-adjustable enough. In contrast
to a variable-LC tuning scheme, digital synthesis tables require... an exercise
in ratios of integers to approximate a real number.
With a DDS phase accumulator, the output frequency is
Fxo * N / M
where Fxo is the 100 MHz xtal oscillator
N is the frequency set word
M is the accumulator max count, say 2^48.
Frequency set resolution would be below 1 uHz in this case. Just load
N.
The sine lookup table is addressed by some number of MSBs of the phase
accumulator, 10 to 16 typically. It doesn\'t change in a given system.
Perhaps you could shorten the lookup table to some manageable size if
you do lookup-and-interpolate. Will still be huge... And division
at 100 Msps may well be prohibitive.
Our FPGA will have at least a megabit of ram if we use the efinix,
lots more if we use the Zynq. A sine table can be folded 2:1 or 4:1,
so we can easily do 64K points of 16 bit data.
One of my guys proposed an architecture that uses more bits of the
phase accumulator. A group of MS bits becomes the gate for a cluster
of LS bits. Envision a spinner dial that mostly parks at 0 degrees and
once in a while makes a single fast rotation. That essentially puts a
divisor *before* a cosine lookup table and DAC.
Gotta simulate that somehow.
take you favorite programming language (or a spreadsheet) make a textfile
with two columns time and value, a voltage source can load that as a pwl file