Please, advice cheap DDS up to 200MHz - Page 1
Forum section: electronics / rf-microwave

author: Nova_PA
author_rank: Newbie
timestamp: February 19, 2024, 06:49:37 am
content: Hello!For amateur construction I need really cheap, avialable on AliExpress frequence sinthesizer.The thing like SI5351 should be ideal, but I need about 180-200MHz maximal frequence.Please, advice.

author: CaptDon
author_rank: Super Contributor
timestamp: February 19, 2024, 02:42:05 pm
content: The TinySA Ultra can do signal generation. Not sure if it will be what you need. Check the specs.

author: radiolistener
author_rank: Super Contributor
timestamp: February 19, 2024, 02:56:36 pm
content: Most of si5351 instances working ok up to 200 MHz.According to datasheet,si5351can produce frequency from 2.5 kHz to 200 MHz.But be careful, there was 150 MHz limit in first edition of si5351 datasheet.So it's possible, that some very old si5351 instances from first production series may not work stable above 150 MHz.If you want frequencies above 200 MHz, there isADF4351, it can produce frequency from 35 MHz to 4400 MHz

author: gf
author_rank: Super Contributor
timestamp: February 19, 2024, 03:08:36 pm
content: SI5351 is not a DDS generator. It is a PLL-based clock generator and generates only square wave signals with ~1ns rise time. It cannot generate sine wave or arbitrary waveforms.

author: radiolistener
author_rank: Super Contributor
timestamp: February 19, 2024, 03:13:02 pm
content: Quote from: gf on February 19, 2024, 03:08:36 pmI suspect that there is no DDS which can generate 200 MHz sineYou can easily get 200 MHz sine by adding simple low pass filter with cut-off at about 250 MHz on si5351 output

author: gf
author_rank: Super Contributor
timestamp: February 19, 2024, 03:55:28 pm
content: Quote from: radiolistener on February 19, 2024, 03:13:02 pmFor example, SDG6022X can create 200 MHz, SDG7102A can even create 1 GHz. They are not exactly cheap, though.I have also seen AD9959 boards (500MSa/s, should also work up to 200 MHz) on eBay, but also with a 3-digit price tag.OP should answer if he really needs a DDS, as specified in the subject. Maybe he does not.

author: radiolistener
author_rank: Super Contributor
timestamp: February 19, 2024, 06:55:32 pm
content: Quote from: gf on February 19, 2024, 03:55:28 pmit uses discrete high speed DAC with FPGAQuote from: gf on February 19, 2024, 03:55:28 pmit seems that it can, but I'm sure si5351+LPF will produce much more clean sine...

author: coromonadalix
author_rank: Super Contributor
timestamp: February 19, 2024, 06:58:27 pm
content: check some dds boards on Ebay, you'll get some ideasreal dds chips not the junk chineesiums with pseudo fpga's cpld's blah blah

author: Bud
author_rank: Super Contributor
timestamp: February 19, 2024, 08:04:01 pm
content: Quote from: radiolistener on February 19, 2024, 03:13:02 pmAnd if you retune it to 50 MHz you will have to add a 60MHz lowpass filter. And if you retune to 10 MHz you will have to add a 15MHz lowpass filter. Therefore, you have to have a bunch of switchable lowpass filters and activate them based on what sinewave frequency you need to output.With a DDS you only need one lowpass filter with the cut-off at 0.4...0.45 clock frequency of the DDS.

author: Bud
author_rank: Super Contributor
timestamp: February 19, 2024, 08:11:17 pm
content: Quote from: radiolistener on February 19, 2024, 03:13:02 pmNone of a DDS generates sine. With addition of a lowpass filter AD9912 or AD9957 can output up to 450MHz sine (with -50dBc spurs worst case depending on output frequency)

author: Bud
author_rank: Super Contributor
timestamp: February 19, 2024, 08:18:23 pm
content: Read my post below before buying a DDS board from Ali or eBayhttps://www.eevblog.com/forum/rf-microwave/all-you-need-to-know-about-the-chinese-ad9959-ebay-board

author: iMo
author_rank: Super Contributor
timestamp: February 19, 2024, 08:25:27 pm
content: Quote from: Bud on February 19, 2024, 08:11:17 pmAfaik, ADI's DDSes are producing "sine". There are 10bits/14bits DACs inside with sine lookup tables (sure, you need the low pass as well)..

author: langwadt
author_rank: Super Contributor
timestamp: February 19, 2024, 09:05:28 pm
content: Quote from: Bud on February 19, 2024, 08:11:17 pmthey both output sine, that why they have a DAC

author: MasterT
author_rank: Frequent Contributor
timestamp: February 19, 2024, 10:22:39 pm
content: Quote from: Bud on February 19, 2024, 08:04:01 pmHaving multiple filters offers one serious advantage, it lowers THD+noise level down to unprecendented level, depends on order of the filters, of course, 5-9-th would get -100 dBc. There is no DDS capable to produce same qualilty sinewave, and OPA buffer is another story. Filters solved both problems at once - DDS limitation & OPA's.Recently I was considering to buy cheap 50-60-100 MHz DDS generator, but after watching some video on ytube devoted quallity of the signal, I dicided not to.Cost is another advantage. This makes me wander, why those guys stubbornly follow FPGA + DAC route, instead of $1 PLL + bunch of LC filters for a penny ?

author: MarkT
author_rank: Frequent Contributor
timestamp: February 19, 2024, 10:55:42 pm
content: Quote from: radiolistener on February 19, 2024, 03:13:02 pmThere certainly are... Analog Devices have a large number of them. AD9915 clocks at 2.5GHz for instance, or the very powerful AD9174, 12.6GHz clock and 16 bit resolution (don't check the price if you are easily shocked!)

author: langwadt
author_rank: Super Contributor
timestamp: February 19, 2024, 10:58:45 pm
content: Quote from: MasterT on February 19, 2024, 10:22:39 pmbecause "$1 PLL + bunch of LC filters for a penny " won't always do the job

author: iMo
author_rank: Super Contributor
timestamp: February 19, 2024, 11:31:54 pm
content: Quote from: langwadt on February 19, 2024, 10:58:45 pm..like to change its output frequency X million times per second..

author: langwadt
author_rank: Super Contributor
timestamp: February 19, 2024, 11:50:53 pm
content: Quote from: iMo on February 19, 2024, 11:31:54 pmor unless you are really quick with the soldering iron, just every few minutes

author: MasterT
author_rank: Frequent Contributor
timestamp: February 20, 2024, 12:28:08 am
content: Quote from: iMo on February 19, 2024, 11:31:54 pmDon't remember I ever used this option on a Rigol. Do you?If frequency FDMA required, usually it's not 0-1 GHz, for up to half band (extrem case, likely 20MHz is the most) LC w/o colonizer's FPGA still works better.

author: iMo
author_rank: Super Contributor
timestamp: February 20, 2024, 01:44:02 am
content: .. and ie. with the AD9912 (I still have gathering dust in my junkbox) you may change its sine output frequency, from say 350.000.000,000.000Hz to 350.000.000,000.004Hz (provided your 1GHz clock is of some quality)

author: MasterT
author_rank: Frequent Contributor
timestamp: February 20, 2024, 02:45:53 am
content: Quote from: iMo on February 20, 2024, 01:44:02 amThere is no integer divider, so fractional PLL, just gives you false illusion, in reality freq. is jumping up and down as freaking horse. Phase - same thingsTalking about those 50-60-100 MHz AWG they sample about 6 msps anyway, not many changes carrier possible, definitely below 1 MHz, switching filters could do the same .

author: radiolistener
author_rank: Super Contributor
timestamp: February 20, 2024, 06:13:00 am
content: Quote from: iMo on February 20, 2024, 01:44:02 amDDS will give you very high jitter for fractional frequencies. The frequency will jump so high from cycle to cycle, that it even don't have sense to mention these 0.04 Hz. Because you can see these 0.04 Hz only on averaging over very long time, where clock source stability make all these digits false and useless...PLL with multisynth and square output and LC LPF allows to get much more clean and stable sine with mich lower noise floor and higher dynamic rangeFY6800 with it's 4 ns jitter (which is extreme high) is example of DDS and FPGA+DAC limitations.

author: iMo
author_rank: Super Contributor
timestamp: February 20, 2024, 08:07:12 am
content: Quote from: radiolistener on February 20, 2024, 06:13:00 amIt is not 0.04Hz but 0.000004Hz, or 4 microHertz. That is the tuning step with 48bit frequency tuning word and 1GHz clock.The phase accumulator of the DDS generates a DAC value (the sine), with output frequencies closer to clock/2 the number of the "sine DAC's output voltage points approximating the sine" goes down, sure. Therefore you have to use a DDS to to generate output freq up to clock/3 only (ie 300MHz in this example) in order to minimize the spurious in the spectra..Quote from: MasterT on February 20, 2024, 02:45:53 amNot sure what you are talking about.. We talk here "DDSes" only.. There are no PLLs involved, no jumping frequencies..

author: radiolistener
author_rank: Super Contributor
timestamp: February 20, 2024, 08:34:43 am
content: Quote from: iMo on February 20, 2024, 08:07:12 amPLL based synthesizers with square output working with clock in GHz range, it allows to minimize jitter. This is why si5351 output is much more clean than any DDS or FPGA+DAC solution.The issue here is that frequency on DDS output will jump up and down on every cycle. In average for a long time you will get expected frequency value, but actually its frequency jumping up and down around expected one. This is why DDS output is very dirty and has many spurs. And you cannot improve it with filter, like you can do with PLL synthesiser with square output (si5351,adf4351, etc)

author: Gerhard_dk4xp
author_rank: Frequent Contributor
timestamp: February 20, 2024, 02:13:14 pm
content: What color is the sky on your home planet?The phase increment of a DDS is correct to any arbitrary precision fromreference clock to reference clock and therefore the output frequency isstable to any arbitrary precision.The only unavoidable errors result from the imperfections of the D/A-converter, and only if you insist in going to the analog domain.

author: langwadt
author_rank: Super Contributor
timestamp: February 20, 2024, 02:27:44 pm
content: Quote from: radiolistener on February 20, 2024, 08:34:43 amno it will not, the output is not a squarewave, it is points on sine wave with the resolution of the DAC

author: radiolistener
author_rank: Super Contributor
timestamp: February 20, 2024, 02:34:02 pm
content: Quote from: Gerhard_dk4xp on February 20, 2024, 02:13:14 pmNo. The frequency error depends on ratio between signal frequency and DAC sample rate.Since DDS has fixed and pretty low sample rate, it leads to pretty high frequency error which can be seen as high phase jitter on the output.Since DAC output is discrete in time, many frequencies just don't fit with DAC time aperture. And you cannot fix it with precise phase increment.

author: MasterT
author_rank: Frequent Contributor
timestamp: February 20, 2024, 02:41:16 pm
content: Quote from: Gerhard_dk4xp on February 20, 2024, 02:13:14 pmThis is a mistake. It 'd be so if sine LUT has unlimited size, but in reality just 2-10 kBytes. If division of the master freq. and required output freg. is not an integer than each read cycle of the LUT table has discontinuity "jumps" and strictly speaking freq. resolution is quite low, especialy at high freq. sine wave. It visible on FFT charts as "aliasing" spikes

author: radiolistener
author_rank: Super Contributor
timestamp: February 20, 2024, 02:43:24 pm
content: Quote from: langwadt on February 20, 2024, 02:27:44 pmNo, this is not about square/sine. This is about DAC time resolution which is discrete and can be changed only at fixed points of time, it prevents to get any frequency. It can produce stable frequency which is integer ratio with DAC sample rate, for all other frequencies you will have phase error, which is visible as phase jitter on DAC output.This phase jitter is due to discrete and limited time aperture of DAC.You can't fix it with more precise fractional phase increment, just because DAC don't allows to change value between clock pulses.You can check it for any DDS on oscillocsope. The phase jitter is pretty visible.The same issue is present on PLL+Multisynth with square output, but since they internally working at GHz frequency, they have much more smaller phase error.DDS phase error is limited with DAC sample rate which is usually just several hundreds of MHz, this is why DDS has much worse phase noise.This is why radio receiver with LO on PLL+Multisynth is more clean, has better dynamic range and less spurs. While the same radio receiver with LO on DDS is more noisy and has more spurs.

author: langwadt
author_rank: Super Contributor
timestamp: February 20, 2024, 04:59:44 pm
content: Quote from: radiolistener on February 20, 2024, 02:43:24 pmit does not need to change values between clock pulses, at each clock pulse the dac outputs the correct sine value for that point in time

author: psyon
author_rank: Contributor
timestamp: February 20, 2024, 09:56:55 pm
content: https://gra-afch.com/catalog/rf-units/dds-ad9910-arduino-shield/https://gra-afch.com/catalog/rf-units/dds-ad9959-arduino-shield-rf-signal-generator-600-mhz-1-5-ghz-core-clock-low-spurs-low-harmonic/Not sure what you considere cheap, but I have those two.

author: radiolistener
author_rank: Super Contributor
timestamp: February 21, 2024, 09:19:36 am
content: Quote from: langwadt on February 20, 2024, 04:59:44 pmYou're wrong. High phase jitter is well known issue of DDS or DAC generators.It don't needs to change output between clock pulses in case when you're generate sine which frequency is integer ratio of DAC clock frequency. For example if your DAC has 2 Hz sample rate and you're trying to generate 0.5 Hz sine it is ok, because 2/0.5 = 4.0 which is integer.But this is not the case when you're trying to generate 0.7 Hz sine when DAC sample rate is 2 Hz, because 2/0.7= 2.857142857 which is not integer.The reason for that is that in order to get precise phase you're needs to change DAC output at precise time intervals. But since DAC output is changed with fixed clock, you're stick with clock limitations.For example let's assume DAC is clocked with 2 Hz, its output can be changed 2 times per second. In other words you can change DAC output with 0.5 second interval. And output bandwidth of this DAC is 1 Hz, so you can generate frequencies up to 1 Hz.Now let's see what happens when you're trying to generate 0.7 Hz sine on that DAC. The period is 1/0.7 = 1.428571429 seconds. You're needs to change DAC output at least 2 times within this interval (two half periods), so you're needs to change DAC output each 1.428571429/2 = 0.714285715 sec. But DAC don't allow that period update. When you update DAC with 2 Hz sample rate you will get 0.714285715 - 0.5 = 0.357142857 sec error. As result you will not be able to get clean 0.7 Hz.Your DAC output will jump between 0.5 and 1 Hz. You will get 0.7 Hz in average over long time period, but in fact the DAC output frequency will jump between 0.5 Hz and 1 Hz.This is phase jitter. And this is well known issue of DDS generators. You can see this phase jitter on oscilloscope and on spectrum analyzer as mentioned above.Higher DAC sample rate leads to smaller phase error, but if you generate signal with frequency close to the DAC Nyquist bandwidth the error will raise. And since topic starter needs 180 MHz signal it requires at least several tens GHz DAC sample rate in order to keep phase error small enough for a frequnecy which is not integer ratio to sample rate. But usual DDS DAC working below 200 MHz, so there is no way to get clean sine with that frequency with no significant jitter and high distortions.When you use PLL synthesiser like si5351 or adf4351, it has programmable frequency multiplier inside in order to get clock in GHz range and then divide it to get expected frequency. It allows to minimize phase error. And such synthesizer has much more clean and stable output than DDS. It produce square wave, but the only thing that you needs to get sine is just to apply simple low pass filter to cut off harmonics.I tested some DDS and si5351 and can confirm that si5351 has much more clean output.

author: gf
author_rank: Super Contributor
timestamp: February 21, 2024, 09:46:34 am
content: Quote from: radiolistener on February 21, 2024, 09:19:36 amFor 0.7 Hz, the DDS would output the samples marked with orange dots in the attached plot. And the reconstruction filter after the DAC will reconstruct the sine wave from these discrete samples.It is a regular Shannon-Nyquist reconstruction of a (bandwidth-limited!) continuous signal from its discrete samples. It does not work if you violate the sampling theorem (the most prominent example for such a violation is the attempt to reproduce an ideal square wave with a DDS, by loading the wavetable with a [ +1, +1, +1, ... -1, -1, -1, ...] pattern).

author: radiolistener
author_rank: Super Contributor
timestamp: February 21, 2024, 09:51:12 am
content: Quote from: gf on February 21, 2024, 09:46:34 amIn order to get good reconstruction, you're needs to use DAC clocked at much higher sample rate and using interpolator. Such DAC with internal interpolator really exists they used in SDG2042X generator for example, but they are very expensive and their sample rate is more than 1 GHz.With simple low pass reconstruction filter and DAC clocked at low sample rate (2 Hz in our example) you cannot get good reconstruction from these points (for 0.7 Hz in our example). It's almost impossible due to physical limitations of analog circuits.Quote from: gf on February 21, 2024, 09:46:34 amYour red dots really consists enough information to reconstruct the sine from math point of view and you can reconstruct it in digital domain, this is possible because we know that DAC bandwidth is limited with exact value of sample rate/2. But the problem here is that you cannot do that reconstruction in real analog circuit due to analog circuit limitations. It will require to increase DAC sample rate and do reconstruction in digital domain by applying up-sampling conversion with apply FIR filter in order to make it possible to get good result with analog reconstruction filter in real circuit.This is why there is invented DAC's with internal interpolator which can do that job for you in order to get better signal reconstruction. But they working with GHz clock. And I didn't hear about DDS chips which can do the same for 200 MHz signals.In order to get good reconstruction result, you're needs to use DAC sample rate about 10 times higher than your signal bandwidth. For sine with frequency up to 200 MHz it requires DAC with about 2 GS/s sample rate. In reality it may be even higher.For example Siglent SDG2000X uses 1.2 GS/s DAC but it's output is limited with just 120 MHz and close to 120 MHz it's signal reconstruction is still not good enough.With cheap si5351 moudle which cost about 2 USD and simple LPF, you can get much more stable and clean 180 MHz sine than using Siglent SDG6022X signal generator on FPGA+DAC running at 2.4 GS/s with 16 bit resolution which cost 1600 USD...

author: iMo
author_rank: Super Contributor
timestamp: February 21, 2024, 02:22:06 pm
content: The DDSes (I've worked with) operate with a "phase accumulator" where you put the frequency word (ie 48bit long with the high-end chips).The freq word (uint64)Fword = uint128(Fout*(2^48))/uint64(Fclock) //with the 9912Note: this calculation has been implemented mostly wrongly (especially with the famous 9850/51 etc in many designs, as you must use the 64bit integer math with 9850/51, for example).At each Fclock edge (ie 1GHz, let us assume it is an ideal source) the accumulator adds the Fword to the previous value of the accumulator, and it does so in modulo 2^48 in a loop.The DAC (ie 14/16bit with the high end chips) is "wired" to the accumulator (such it produces the "sine").Note: it is not so with the high end chips (as they use some additional DSP subsections in between to minimize spurious, aliases, idle tones.. whatever) and the DAC's output follows the 1GHz clock.So every 1ns you get a new DAC value at the output. The closer the Fout is to the Fclock/2 the less "points" the DAC is producing.Now, the question is how the DDS frequency resolution (those 4 microHertz in case of the 9912) and the moment when the "rising edge of the DAC point" comes out are precisely related..

author: gf
author_rank: Super Contributor
timestamp: February 21, 2024, 02:52:09 pm
content: Quote from: iMo on February 21, 2024, 02:22:06 pm"4µHz" is just rounded. Actually, the resolution is 3.552713678800500929355621337890625 µHz (i.e. sample_rate / 2^phase_accumululator_bits), and all frequencies which can be generated by the DDS are integer multiples of this resolution. Any other frequency would require a non-integer phase accumulator increment (or Fword, as you call it).EDIT: This implies, however, that e.g. 100Mhz cannot be generated exactly with a 1GSa/s clock.Fword = 28147497671065 results in 99,999,999.99999786913394927978515625 Hz andFword = 28147497671066 results in 100,000,000.00000141561031341552734375 Hz(with 48-bit phase accumulator)

author: iMo
author_rank: Super Contributor
timestamp: February 21, 2024, 03:21:38 pm
content: Normally you do not have exact Fclock=1GHz, but a number you know off a measurement you do, like 999.997.836,282.456 with a better meterSo those "4uHz" is just a placeholder for the discussion on how the DDS actually works.I do not know how the 4uHz is related to the exact position of the "DAC output point" against the Fclock's rising/falling edge, I would be happy to know more.PS: all ADI's DDSes since 9851 up have got an onchip PLL multiplier for the Fclock generation. We do not consider that here. Let us assume we feed the Fclock from an external 1.0GHz clock, none jitter.

author: gf
author_rank: Super Contributor
timestamp: February 21, 2024, 04:56:16 pm
content: Quote from: iMo on February 21, 2024, 03:21:38 pmThe relative error of ~3.5e-15 due to the limited resolution is certainly much lower than relative clock frequency error of a typical clock (say 1ppm).QuoteWhy should the delay between DAC clock edge and point in time where the DAC outputs the next sample's value be related to the DDS frequency resolution? The DDS generates a continuous stream of samples, and the DAC outputs this stream of samples. If you are lucky, the delay is specified in the datasheet.

author: radiolistener
author_rank: Super Contributor
timestamp: February 21, 2024, 05:07:04 pm
content: phase error can be up to ±0.5 = 1 sample interval. For 100 MS/s it will be 1/100M = 10 ns. For 1 GS/s it will be 1/1G = 1 ns.This is pretty high phase noise and can be easily detected on oscilloscope.Quote from: gf on February 21, 2024, 04:56:16 pmThe issue is that DAC cannot fit it's sample time aperture with signal period. So, if you have sine which frequency ratio to sample rate is not integer, the beginning of every sine period will have time error ±0.5 sample. Technically you can try to adjust amplitude by taking into account for time shift error, but such way is limited with amplitude resolution of DAC so there will be always some degree of error.In addition every DAC has it's own jitter and clock source also has some jitter. And amplitude resolution has some non-linearity. All this will make signal even worse...

author: iMo
author_rank: Super Contributor
timestamp: February 21, 2024, 05:49:57 pm
content: Guys, my current understanding is as follows:Imagine Fclock=1GHz exactly and rock stable.You set a Fout.You sync your scope on the rising edge of the Fclock.You watch the DAC output and you zoom in at a DAC "point".I think you will/may see the DAC point moving vertically, as the phase will/may change (the "phase accumulator" content will be changed at each Fclock).Mind the DDS knows the "phase" increment only. The phase accumulator grows up by an (up to) 47bit large increment each clock, and it increments modulo 2^48.So those multiplies of "4uHz" resolution will be visible as a drift of the phase of the "DAC sine point" against the leading edge of the Fclock.The resolution of the movement (vertically) will be 16bit in case of the 16 bit DAC (in case of the raw DAC output, not filtered or DSP-ed).With the reconstruction filter after the DAC you will see a monotonic smooth movement.Or something like that..PS: how fast the DAC point will be moving vertically depends on how far your 1ns is from exact (1/4uHz*K)

author: gf
author_rank: Super Contributor
timestamp: February 21, 2024, 10:32:06 pm
content: Quote from: radiolistener on February 21, 2024, 05:07:04 pmIt does not matter where the period starts. It can start anywhere between samples, and each period can start at a different fractional position between samples. The sine wave (or the ARB wave you want to generate) is (re)sampled by the DDS with constant phase increment, even across period boundaries, and the phase increment does not need to be an integer fraction of 2*PI. If the frequency ratio is not an integer, then different periods are sampled at different phases.Think of it as if the DDS would do something like this:phase = 0for each each sample{value_of_sample = sin(phase)phase = (phase + phase_increment) % (2 * PI)}In practice, the phase accumulator is an integer, say 48-bit, and the phase range 0...2*PI is represented by values 0...2^48. If the phase accumulator holds a value of (say) 12345, this corresponds to phase = 12345 / 2^48 * 2 * PI.In practice, the DDS also does not calculate sin(phase) for each sample, but it does a table lookup. A table size of 2^48 entries is not feasible, so we have to live with a smaller wavetable, for example with 65536 or 2^16 entries. In order to map the phase accululator range 0...2^48 to 0...2^16, we need to divide by 2^32 (which is trivial for binary numbers) in order to find the index of the table entry which corresponds to the phase accumulator value. The question is, what do we do if the remainder of the division is not zero?(1) We simply ignore the remainder and accept the resulting error. This is called "phase truncation".(2) Alternatively we can use the remainder to interpolate between adjacent table entries. Since the table is usually large, even linear interpolation works reasonably well. The literature also proposes several other methods to improve accuracy which are even beyond simple interpolation.In the frequency domain, phase truncation error leads to spurs.Seehttps://www.analog.com/media/en/technical-documentation/application-notes/an-1396.pdf

author: ejeffrey
author_rank: Super Contributor
timestamp: February 22, 2024, 05:20:35 am
content: Quote from: radiolistener on February 21, 2024, 05:07:04 pmNope. This is just a misunderstanding of the relationship between the time and frequency domain. What you are descriing is basically looking at the time domain points and mentally drawing a curve through them, then saying it doesn't follow the ideal sine wave. This is not how it works.If you have a sufficiently accurate lookup table and a reconstruction filter that rejects the first alias, then there is no phase noise / spur limit to a DDS. In your example of a 2 Hz DAC producing an 0.7 Hz signal, the first alias is at 1.3 Hz and you do need a relatively sharp filter if you want good rejection of that signal. And normally you do: non-harmonically related spurs are usually far worse than harmonics. But is easy to calculate how good it needs to be, and if you instead want to produce 0.4 Hz with the same sample clock it's much easier.QuoteSure there are imperfections in a real circuit from DAC non-linearity and sample clock jitter. But that's different than a fundamental problem with DDS. A bigger issue is that many cheap DDS generators have pitifully small lookup tables and no interpolation. Truncation of tuning word at the DDS lookup table is the biggest problem in cheap DDSes because it creates close in spurs and low frequency spurs that can't be filtered. These spurs can be reduced with phase dithering, but that adds phase noise so you really want to start with the best sin/cos tables you can. And yes this becomes an issue with very small frequency steps like the 200 MHz + 100 uHz example. Without a very good sin/cos function you will indeed end up with a cluster of spurs around the target frequency rather than a single line. But if you increase the size of your lookup table that becomes less and less of an issue.

author: iMo
author_rank: Super Contributor
timestamp: February 22, 2024, 07:44:45 am
content: Quote from: iMo on February 21, 2024, 02:22:06 pmThe app note above stresses the need to make the math with the pretty large integer values properly. Some 25years back when the first hobby DDSes designs appeared people did the math with 9850/51 (32bit phase accumulator) in 32bit integer or later 32/64b floating point which led to large freq errors. I did the same at that time and my VCOs were quite off. So I had to introduce 64bit uint multiply and divide into my pic16 in order to get expected results. With the 48bit ph. accumulators you need 128bit uint mul/div to be happy.PS: there were even happy designs where you calculated a single fixed value for "your frequency step" - like "Fword_1Hz" usually, and with the rotary encoder you incremented/decremented the initial ph. accumulator value by that step. Imagine the errors after dialing up by say 20MHz..

author: radiolistener
author_rank: Super Contributor
timestamp: February 22, 2024, 08:22:56 am
content: Quote from: ejeffrey on February 22, 2024, 05:20:35 amI don't see where did you found "misunderstanding", things you're talking about is mentioned in quote on which you respond. Here it is:Quote from: ejeffrey on February 22, 2024, 05:20:35 amBut this way, as I already said and as you're explained above, is also limited with amplitude resolution of DAC, include amplitude error due to LUT size limitations and rounding error during truncate to limited bits count of amplitude resolution.As I already said - yes, from theory point of view you can do good reconstruction in math. But in reality it is limited with analog circuit limitations for reconstruction filter and limitations for DAC amplitude resolution, include limitations for LUT tables, as you correctly mentioned, it also add some degree of error.Due to physical limitations it is impossible to ideally reconstruct analog signal from digital discrete representation. You can make it more precise by using more complicated scheme which requires more computational power and higher clock frequencies. It all makes circuit much more expensive, but you never get ideal reconstruction from digital to analog. It's just impossible.And even if you try to make it more and more complicated to get better precision, at some point you will catch fundamental limitations of our world, for example due to thermal noise and quantum limits.

author: Nova_PA
author_rank: Newbie
timestamp: February 22, 2024, 08:58:28 am
content: wow wow!I didn't expect that my question will grow to such a big duscussion!Colleagues!You sent me a few links to the modelling boards which i see really expensive.I need something to build getherodyne for VHF maring band (156 - 160 MHz)...

author: iMo
author_rank: Super Contributor
timestamp: February 22, 2024, 01:35:05 pm
content: Quote from: Nova_PA on February 22, 2024, 08:58:28 amFor that you have to indicate your IF1, IF2.. frequencies. You are not going to mix with 156-160MHz VFO (aka direct conversion), as you indicate above.The closest DDS chips are those with 500MHz clock, such you get 0-160MHz VFO.But it depends on your IF frequencies, with several IFs you will need several oscillators - VFO/BFOs etc. as well..There is an option to use PLL based VFO, which costs nothing and it may work fine in your application.Like the Si5351 mentioned above, which can create 3 independent frequencies for your superhet.I am not aware of any single band VHF radio produced in last 25++years for that band which uses DDS, imho. Perhaps large all-band rigs (HF+VHF+UHF)..

author: MasterT
author_rank: Frequent Contributor
timestamp: February 22, 2024, 03:12:56 pm
content: Awhile ago I experimented with Si4432 module from ali-china-market. They have likely some clones for you band freq., Si4463with description tag like "433Mhz SI4463 HC-12 Wireless Serial Port Module 1000M Replace For Bluetooth"

author: Nova_PA
author_rank: Newbie
timestamp: February 23, 2024, 06:37:16 am
content: Quote from: iMo on February 22, 2024, 01:35:05 pmMaybe You're right... I'm looking for a cheap solution for receiving on a fixed frequency (or tuning within very small range) on VHFCan really use two convertions by one si5351 chip?For example, IF1 80 MHz - filtering - and already low frequency

author: Nova_PA
author_rank: Newbie
timestamp: February 23, 2024, 06:39:51 am
content: Could You tell more? Due I see in datasheet - thic IC starts from 240 MHz...

author: radiolistener
author_rank: Super Contributor
timestamp: February 23, 2024, 09:19:33 am
content: Quote from: Nova_PA on February 23, 2024, 06:37:16 amyes, you can do 3 conversions by using single si5351 chip. It has 3 channels. But it has only two PLL, so if you want to use all 3 channels it requires to share one PLL for 2 channels, as result third channel frequency setting is a little bit limited, because you can configure only divider for it since PLL multiplier needs to be set the same for two channels.you can buy si5351 module on aliexpress (magenta color) they are very cheap now, but these cheap Chinese modules uses cheap oscillator with high temperature dependency and high initial frequency error. I have also Adafruit version of si5351 module (blue color), it has better TCXO which has less temperature dependency and less initial frequency error.Also notice, that there is some parasitic crosstalk between channels, so if you want to get the best spurious performance it's better to use separate si5351 for each carrier.I'm using shortwave transceiver, it uses two channels of single si5351for superheterodyne and it works good enough.I tested the same transceiver with frequency synthesizer onAD9952(400 MSPS 14-Bit DDS) and can approve that si5351 version has much more clean output with much less spurs.

author: HF8V
author_rank: Newbie
timestamp: February 29, 2024, 11:44:52 pm
content: My friend, first you should learn how to properly choose IFs to your radiosystem. 1IF = 80 MHz is nonsense. It is too high and second harmonics lies within maritime band. There are simple rules for that, your maritime band is 156-162 MHz, so is 6 MHz wide, 1IF should be approximately more than twice higher. Typical set is 1IF=10.7 MHz / 2IF=465 kHz, because there are available filters for such freqs.

author: radiolistener
author_rank: Super Contributor
timestamp: March 01, 2024, 12:17:03 am
content: My short wave transceiver on si5351 uses IF=45 MHz, works ok

author: mag_therm
author_rank: Frequent Contributor
timestamp: March 01, 2024, 08:43:43 pm
content: Today I ran a calibration check on a DDS.It is the AD9850 with 125MHz crystal clock, from Nooelec.I am using this to injection lock the local oscillator of an old sw receiver.The receiver has a demodulator with an Epson SG8018 oscillator programmed at 1820.000 kHz for a 455kHz Gilbert demodulatorFirst I ran a calibration on WWV Colorado to get an overall correction of -5.6Hz for the combo of the DDS and the Gilbert.This cal was entered as fixed frequency offset in the DDS control software for all tests.The DDS calibration was by the latest release of FLDIGI which now has a Frequency Measurement Test Mode.A measurement of various other time stations was run using FLDIGI.A check frequency measurement was then done in WSJT_X using the Hermes 14 TXCVR with master clock, GPSDTCXO (Leo Bodnar Mini) .WSJT_X has an automated test mode which scans a list of frequency standards entered by user.Result:Time Signal Freq MHz DDS_Error WSJTX_/GPSDO_Error (Errors are in Hz, DDS errors were visually from the time trace on FLDIGI )CHU 3.330 +1.0 -0.02CHU 7.850 +0.1 -0.05WWV 10.000 -0.05(cal) -0.04CHU 14.670 -0.8 +0.02WWV 15.000 (-) -0.04Edit: Through evening the house heating has started.Radio room ambient increased by ~ 3 C.The DDS_Error on CHE 7.850 MHz has increased from the earlier +0.1 Hz @ ambient, to +1.8 Hz @ ambient +3 CNext I will try to get a thermocouple in close to the DDS XO and repeat the test.

author: mag_therm
author_rank: Frequent Contributor
timestamp: March 02, 2024, 02:45:07 pm
content: Addition to Post#53: Next morning, the frequency of CHU 7.850 MHz is drifting between +1.1 and + 1.3 Hz above DDS setting.So the DDS without temperature control seems more accurate than most of the ordinary ham radio transceiversI see many of them up to +/- 30Hz on the digi modes.For the upcoming eclipse in USA I am setting up a second transceiver, it is a HackRF One Software Defined Radiosoftware is Gqrx + FLDIGI, + other stuff. It is running on an old i686 (32 bit computer) . Using the last Fedora 32 bit version Fc25 of about 2018.Fedora stopped releasing 32 bit after that.The transmission during eclipse are basically using ham radio data to infer transient changes in refractive index of ionosphere.That is why GPSDTCXO master clocks are needed.The new transceiver will take 10MHz master clock, same as the existing (Hermes14) transceiver,The GPSDTCXO is bolted to the basement wall in another unheated basement room.I have made a constant K 50 Ohm filter/splitter to give two SMA outputs from GPSDTCXO.Cables 10MHz to transceivers are 8 metre long . Cable to the GPS antenna is about 15 metre.There is another Leo Bodnar GPSDTCXO with two programmable outputs.(eg 10MHz + 125MHz)I thought of getting one for the old general coverage receiver's DDS, but after these tests showing the good accuracyof the DDS, I don't think it necessary.

author: radiolistener
author_rank: Super Contributor
timestamp: March 02, 2024, 09:39:02 pm
content: Quote from: mag_therm on March 01, 2024, 08:43:43 pmFT8 and other digi modes don't require very clean carrier, it just want to get some average frequency over long time. DDS phase errors don't affect it much.