EEVblog Electronics Community Forum

General => General Technical Chat => Topic started by: saturation on January 07, 2011, 01:01:43 pm

Title: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on January 07, 2011, 01:01:43 pm
Looking for anyone who can post their experiences with this very low cost AWG.
Its one of the most hobbyist price friendly devices for an AWG.
However, don't know how its spec sheet comes up in real life.

The only comments at eevblog, if not anywhere on the net I can find are here:

https://www.eevblog.com/forum/index.php?topic=187.msg1826#msg1826 (https://www.eevblog.com/forum/index.php?topic=187.msg1826#msg1826)

https://www.eevblog.com/forum/index.php?topic=197.msg1892#msg1892 (https://www.eevblog.com/forum/index.php?topic=197.msg1892#msg1892)

(https://www.eevblog.com/forum/index.php?action=dlattach;topic=187.0;attach=2278;image)




Title: Re: Hantek DDS 3X25, anyone own one?
Post by: saturation on January 07, 2011, 06:25:23 pm
I've located a short 'review' of the device from a Japanese radio restorer.  Anyone interested can take the links and translate them:

http://kasugamusen.com/2009/07/trio9r4j2.html (http://kasugamusen.com/2009/07/trio9r4j2.html)

http://kasugamusen.com/ (http://kasugamusen.com/)

(http://kasugamusen.com/9R-4J_Restore_600.jpg)

Certainly being able to restore these old radios successfully using these tools is a review in itself although in text not much is really said.

(http://kasugamusen.com/JR-60_IF_Tune_600.jpg)
Title: Re: Hantek DDS 3X25, anyone own one?
Post by: EricF on January 09, 2011, 12:18:45 am
I researched this just a few weeks ago, and found someone in an online forum looking for the Windows 7 (64?) drivers which were not yet available. I can't seem to get onto the company site/forum the way I was able to before. Anyway, it does look like it could be a good buy if you want to run it on an XP machine, knowing there is a high risk of no software support.

EricF
Title: Re: Hantek DDS 3X25, anyone own one?
Post by: saturation on January 09, 2011, 12:44:01 pm
Thanks, which forum?

The manual says it should run in 7, but I really think the issue is 64 bit, but it could be run in 32 bit emulation mode in 64 bit OS, I should chat with this person and see if it was done.



I researched this just a few weeks ago, and found someone in an online forum looking for the Windows 7 (64?) drivers which were not yet available. I can't seem to get onto the company site/forum the way I was able to before. Anyway, it does look like it could be a good buy if you want to run it on an XP machine, knowing there is a high risk of no software support.

EricF
Title: Re: Hantek DDS 3X25, anyone own one?
Post by: EricF on January 09, 2011, 03:17:43 pm
It probably is a problem with the 64 bit OS. I believe I found it on a hantek.com support site, but recently I have not been able to reach their servers. My best recollection is that the person was having trouble getting it to work on a windows 7 machine and was asking when the newer drivers would be out. The request was made a few weeks before I visited the site, but no one had replied at that time. I am still considering buying one to play with, knowing it may have a limited lifespan. Truth is I don't really need it, it would just be fun to play around with the arbitrary waveforms. I would consider buying one for Dave to review if there was enough support from the EEV blog crowd and he was willing to do it.

EricF
Title: Re: Hantek DDS 3X25, anyone own one?
Post by: saturation on January 09, 2011, 05:06:05 pm
Thanks EricF, will keep a look out.  I've PM'd Veramacor who basically said it works well, but I'd like to know its real frequency response and THD+N limits, and then finally its ergonomics.

Based on the manual, its -40dB at only 40kHz ! I'm not hopeful, it must make a lot of harmonics by not having a really selective output filter, however I can make those as needed to get cleaner output.
Title: Re: Hantek DDS 3X25, anyone own one?
Post by: alm on January 09, 2011, 05:52:22 pm
and then finally its ergonomics.
I assume you mean software (it's just a box with BNC connectors). Can't you try the software without buying the hardware? Most manufacturers make the software available for anyone to download and implement a demonstration mode if no device is detected. Reading the manual may also give you some idea of the UI. I'm not very hopeful, most software from Chinese manufacturers, even more reputable ones like Rigol is a piece of crap in my opinion.

Based on the manual, its -40dB at only 40kHz ! I'm not hopeful, it must make a lot of harmonics by not having a really selective output filter, however I can make those as needed to get cleaner output.
Auch! You might have a hard time determining the fundamental near its max frequency ;). I wonder if it's the DAC or the output stage. The filter should just filter out the DDS frequency (assuming it uses DDS, which seems likely), which is constant, so it doesn't have to be very selective. For arbitrary waves, you can combine high and low frequency components, so I'm not sure how you're going to filter that (beyond filtering the DDS frequency), you may want some edges to be very fast. A bad output stage can distort anything, not much a filter can do about that.
Title: Re: Hantek DDS 3X25, anyone own one?
Post by: Zyvek on January 10, 2011, 04:58:01 am
Just noticed this tonight (no affiliation) on clearance for $99USD:

http://www.saelig.com/CL/CL001.htm (http://www.saelig.com/CL/CL001.htm)

Not sure if this means they are discontinuing them...
Title: Re: Hantek DDS 3X25, anyone own one?
Post by: saturation on January 10, 2011, 06:02:35 pm
Ouch!  I wish I had waited for your link, a lowest final price with S&H going via UPS is $111, $30 less than what I just paid just a few days ago.

I wouldn't be surprised if it has ceased production and is discontinued; its been on the market since 12/2008.  But that's not necessarily a bad thing, its an opportunity for those looking to examine or have a need for low fidelity DDS AWG generation.  The 3x25 typically sold for $150-180 delivered, its closest competitor is over $200 with similarly unclear specifications, such as those by Syscomp or Pico.

http://www.saelig.com/AG/AG009.htm (http://www.saelig.com/AG/AG009.htm)

That's the best price I've read on this to date.


Just noticed this tonight (no affiliation) on clearance for $99USD:

http://www.saelig.com/CL/CL001.htm (http://www.saelig.com/CL/CL001.htm)

Not sure if this means they are discontinuing them...
Title: Re: Hantek DDS 3X25, anyone own one?
Post by: saturation on January 10, 2011, 06:53:06 pm
Hi alm,

Yes, jump the gun that's what I meant, since the box has nothing to it.  If I could test the software, I would have, but I wouldn't be surprised, the www.hantek.com.cn (http://www.hantek.com.cn) site has been down most often for over a week.  Thus all the inquiries here.  I've gone through all I could find, one thing of key value is the Japanese website and Veramacor's statement, of 'working well.'  The Japanese radio restorer used it to generate AM modulated waveforms I'll presume to the limit of the band, 1.0-1.7 MHz, and likely detect the modulated tones. 

As I understand DDS, the final output stage is a reconstruction low filter.  How its made determines what harmonics and distortion will squeeze through.  As for arbitrary waves with different frequency characteristics, I'll have to play each as it occurs, doing what I draw and what I see comparisons ???.  Right now, my requirement are burst pulse trains that are PWM, with second long intervals between bursts, and modulated FM to test transmissions into the FM radio band.

(http://upload.wikimedia.org/wikipedia/en/6/62/Direct_digital_synthesizer_block_diagram.png)

and then finally its ergonomics.
I assume you mean software(it's just a box with BNC connectors). Can't you try the software without buying the hardware?  Most manufacturers make the software available for anyone to download and implement a demonstration mode if no device is detected. Reading the manual may also give you some idea of the UI. I'm not very hopeful, most software from Chinese manufacturers, even more reputable ones like Rigol is a piece of crap in my opinion.

Based on the manual, its -40dB at only 40kHz ! I'm not hopeful, it must make a lot of harmonics by not having a really selective output filter, however I can make those as needed to get cleaner output.
Auch! You might have a hard time determining the fundamental near its max frequency ;). I wonder if it's the DAC or the output stage. The filter should just filter out the DDS frequency (assuming it uses DDS, which seems likely), which is constant, so it doesn't have to be very selective. For arbitrary waves, you can combine high and low frequency components, so I'm not sure how you're going to filter that (beyond filtering the DDS frequency), you may want some edges to be very fast. A bad output stage can distort anything, not much a filter can do about that.
Title: Re: Hantek DDS 3X25, anyone own one?
Post by: saturation on January 10, 2011, 06:54:59 pm
Yes, I concur 'close outs' are my favorite deal purchases.  I will review it,hopefully also take time to post photos of it working to its maximum capacity.

I wouldn't be surprised if it has ceased production and is discontinued; its been on the market since 12/2008.  But that's not necessarily a bad thing,
dont worry, the last batch usually is the most stable and cheapest.

Ouch!  I wish I had waited for your link, a lowest final price with S&H going via UPS is $111, $30 less than what I just paid just a few days ago.
dont worry, you can think later on how to gain that $30 back by using the device. possibly more.


Title: Re: Hantek DDS 3X25, anyone own one?
Post by: alm on January 10, 2011, 09:04:34 pm
As I understand DDS, the final output stage is a reconstruction low filter.  How its made determines what harmonics and distortion will squeeze through.  As for arbitrary waves with different frequency characteristics, I'll have to play each as it occurs, doing what I draw and what I see comparisons ???.
That low-pass filter is for the harmonics from the DAC, which is usually a fixed frequency.

I believe the difference between DDS and 'true' arbitrary waveform generator (as defined by the manufacturers of those) is that a true AWG runs the DAC at a sample rate equal to number of samples * repetition rate. DDS runs the DAC at a fixed frequency, and adjusts the samples to match. It has to interpolate or round the samples if the sample rate doesn't happen to be a multiple of number of samples * repetition rate. The advantage of DDS is that it can easily vary the frequency, for example for sweeping. This makes it also easy to implement a function generator. I'm by no means an expert on DDS or AWG, most of my knowledge comes from reading appnotes and datasheets/manuals. Some links: Tegam AN-401: True Arbitary Waveform Generators Offer More Than Function Generators with Arbitary Capability (http://www.tegam.com/HTML/Application_Notes/?AN401.html), Tektronix XYZs of Signal Generators (http://www2.tek.com/cmswpt/tidetails.lotr?ct=TI&cs=pri&ci=12608&lc=EN).

Most cheap arbitrary waveform generators seem to use DDS, even though true AWG seems simpler to me. Maybe implementing true AWG is harder than it looks, or it's because they want to bundle a function generator. My guess is that the Hantek unit also uses DDS.

I added two attachments about filters for DDS. The first is from an ELV design for a 30MHz DDS function generator (no arbitrary waveform capability, but DDS is DDS). The DAC is in IC5 (AD9834), the signal is outputted on IOUT (Sig Bit Out is used for high frequency square waves, just ignore that part). ADG736 is just an analog switch. Depending on the type of signal, the Chebyshev filter (knee frequency = 34MHz) is used for sines (up to 30MHz), but bypassed for square waves (rise time is <5nS IIRC). The sample rate is 67.109MHz, well above 34MHz. The filter doesn't change with frequency.

The second is part of the HP 33120A service manual, a function generator/arbitrary waveform generator (DDS, 15MHz, 40MS/s). Depeding on the type of signal, it either uses a very sharp filter (ideal would be a brick wall response slightly above 15MHz) for sines, or a shallow filter for all other types of signals. Both filters have a fixed frequency response.
Title: Re: Hantek DDS 3X25, anyone own one?
Post by: DaJones on January 11, 2011, 12:20:18 am
I just purchased one of these units, and it looks like I'm going to have to return it.

I get jitter on all waveforms other than sin, above 2mhz.

Here are some shots of the jitter, using the Rigol REF function to make it visible.

(http://www.djconsult.com/NewFile0.bmp)

(http://www.djconsult.com/NewFile1.bmp)


The Sync-Out also has a LOT of jitter and most of the time doesn't stay in step with the output signal ( depending on
the frequency ).

I'm hoping this unit is defective, and that a replacement might fix the issue.  But I can't find any reviews anywhere on the net.

Can anyone confirm that these units actually work and have stable signals?

Title: Re: Hantek DDS 3X25, anyone own one?
Post by: saturation on January 11, 2011, 02:01:02 am
@ alm, thanks a bunch for those links, some reading to do!

@ dajones, ah!  you're the first to post some specifics about its frequency output.  Is this a 100 MHz Rigol?  Using a 10MHz square wave is at the limits of its frequency response, you'd have to set the scope at its best to reduce the effect of the DSO introducing its own jitter, making the measurement less stable.

http://www.edn.com/contents/images/6486046.pdf (http://www.edn.com/contents/images/6486046.pdf)

Set the Rigol to peak sampling mode and increase the waveform amplitude, at minimum, has it helped?
Title: Re: Hantek DDS 3X25, anyone own one?
Post by: DaJones on January 11, 2011, 02:36:03 am
I have a modded DS1052E ( 100mhz ).

I see the same terrible jitter on an analog Tek 2235 scope ( 100mhz ).

The jitter starts at around 2mhz and gets worse as the frequency goes up ( it may start sooner than that, but isn't noticeable, proportionally ).

The Sync-Out jitter is really bad. At some frequencies the jitter settles down, at other frequencies there seems to be no timing connection between
the Sync-Out and the output signal.

In fact, if I set the frequency to 2.5mhz, the Sync-Out is kind of stable ( though the output signal is jittery ). But if I step the smallest amount up or down in
frequency ( 2,500,000.001hz ) the Sync-Out signal looses all timing relationship to the output signal ( and is itself still jittery ).

I'm really puzzled by the fact that this product has been out for years now, and it's for sale all over the place, and yet I can't find any reviews or comments on it.

I'm going to have to ask the seller if he sells a lot of these, if he gets a lot of returns, etc.

If someone could confirm that this is a design problem, I wouldn't bother with an exchange and just get a refund.

So... is anyone with one of these units able to confirm a 10mhz stable square wave??
Title: Re: Hantek DDS 3X25, anyone own one?
Post by: DaJones on January 11, 2011, 06:54:54 am

As a follow-up on the DDS-3x25...

Here is an image of a 10mhz square wave with display persistence turned on. The jitter seems to always be +/- 5.5ns, no matter what the
output frequency is.

(http://www.djconsult.com/eeeFile0.bmp)


And here is a capture of the Sync-Out caught in the act of jittering.

(http://www.djconsult.com/cccFile0.bmp)

Title: Re: Hantek DDS 3X25, anyone own one?
Post by: saturation on January 11, 2011, 01:31:34 pm
Thanks dajones, I think the jitter issue maybe real, and not a design defect.  I'm due to get my unit in a few days, and I'll confirm whatever you already find.  Jitter is a problem with synchronous signals assuming its not a scope issue, so this is not something you'd apply this device.

On the good side, it seems the rise time on the square wave is good to 10MHz, suggesting it will produce a useful signal higher than 3MHz, but of questionable stability.

Jitter aside, have you tried seeing its maximum frequency response on sine, and square at least, and how 'stable' they are?  What harmonics on FFT are generated by its pure sine wave to its maximum frequency response? How is the output amplitude stability [we know a bit now of the frequency]? 


Title: Re: Hantek DDS 3X25, anyone own one?
Post by: Bored@Work on January 11, 2011, 06:02:04 pm
Kids, mhz means nothing.  mHz would be millihertz (10-3 Hz). But if you mean megahertz, then write MHz (106 Hz, or 1000000000 times larger than mHz). If that is to inconvenient for you, what about another hobby or profession?
Title: Re: Hantek DDS 3X25, anyone own one?
Post by: Time on January 11, 2011, 07:21:40 pm
Kids, mhz means nothing.  mHz would be millihertz (10-3 Hz). But if you mean megahertz, then write MHz (106 Hz, or 1000000000 times larger than mHz). If that is to inconvenient for you, what about another hobby or profession?

Even if I have no interest in a thread topic and I see BoredAtWork has posted something on it I open it up anyways.  Just so I can enjoy golden comments like this one.
Title: Re: Hantek DDS 3X25, anyone own one?
Post by: DaJones on January 11, 2011, 08:46:38 pm
Quote
Kids, mhz means nothing.  mHz would be millihertz (10-3 Hz). But if you mean megahertz, then write MHz (106 Hz, or 1000000000 times larger than mHz). If that is to inconvenient for you, what about another hobby or profession?

Thanks for the correction, BoredAtWork.

That sounds familiar. I was in High School when the change was made from "cps" to "MHz", and even at that young age I was resistant to change. Maybe the fact that I disliked the change helps explain why I didn't absorb the details.

And strictly in the spirit of sharing ( I don't normally do this ), I thought I would return the favor and point out a common grammatical error in your response.

"If that is to inconvenient..." should be "If that is too inconvenient...".


Title: Re: Hantek DDS 3X25, anyone own one?
Post by: saturation on January 11, 2011, 09:23:35 pm
As always, alm, a nice information packed post.  I'm still digesting all the articles you linked, and it does clear the air between what is a true AWG, which typically do not use the DDS approach, and what has best been called function generators with arbitrary capability, most which use DDS.

However,  the Hantek design is curious.  The 3x25 suggests it uses a variable frequency clock.  Since the output filter is vital to supression of additional frequencies generated with the DAC process, that are tied to the DAC clock frequency, how they manage to suppress it with a fixed frequency filter will be interesting to see.  Without it, I'd expect to see harmonics and images of the clock frequency contaminating the 3x25 output.

It thus, seems like a 'hybrid' providing some of true AWG capacities using a DDS process; but this is all theory, when I get the unit it will become more real!

3x25 Manual Specs:

(http://img.alibaba.com/img/pb/233/468/307/307468233_906.jpg)

In the updated DDS 3005 model, it states the DAC clock is a variable clock and the filters are programmable.

(http://img.alibaba.com/img/imagerepos/cn/20/cn209785113/1268719461333_hz_myalibaba_web9_869.jpg)


As I understand DDS, the final output stage is a reconstruction low filter.  How its made determines what harmonics and distortion will squeeze through.  As for arbitrary waves with different frequency characteristics, I'll have to play each as it occurs, doing what I draw and what I see comparisons ???.
That low-pass filter is for the harmonics from the DAC, which is usually a fixed frequency.

I believe the difference between DDS and 'true' arbitrary waveform generator (as defined by the manufacturers of those) is that a true AWG runs the DAC at a sample rate equal to number of samples * repetition rate. DDS runs the DAC at a fixed frequency, and adjusts the samples to match. It has to interpolate or round the samples if the sample rate doesn't happen to be a multiple of number of samples * repetition rate. The advantage of DDS is that it can easily vary the frequency, for example for sweeping. This makes it also easy to implement a function generator. I'm by no means an expert on DDS or AWG, most of my knowledge comes from reading appnotes and datasheets/manuals. Some links: Tegam AN-401: True Arbitary Waveform Generators Offer More Than Function Generators with Arbitary Capability (http://www.tegam.com/HTML/Application_Notes/?AN401.html), Tektronix XYZs of Signal Generators (http://www2.tek.com/cmswpt/tidetails.lotr?ct=TI&cs=pri&ci=12608&lc=EN).

Most cheap arbitrary waveform generators seem to use DDS, even though true AWG seems simpler to me. Maybe implementing true AWG is harder than it looks, or it's because they want to bundle a function generator. My guess is that the Hantek unit also uses DDS.

I added two attachments about filters for DDS. The first is from an ELV design for a 30MHz DDS function generator (no arbitrary waveform capability, but DDS is DDS). The DAC is in IC5 (AD9834), the signal is outputted on IOUT (Sig Bit Out is used for high frequency square waves, just ignore that part). ADG736 is just an analog switch. Depending on the type of signal, the Chebyshev filter (knee frequency = 34MHz) is used for sines (up to 30MHz), but bypassed for square waves (rise time is <5nS IIRC). The sample rate is 67.109MHz, well above 34MHz. The filter doesn't change with frequency.

The second is part of the HP 33120A service manual, a function generator/arbitrary waveform generator (DDS, 15MHz, 40MS/s). Depeding on the type of signal, it either uses a very sharp filter (ideal would be a brick wall response slightly above 15MHz) for sines, or a shallow filter for all other types of signals. Both filters have a fixed frequency response.
Title: Re: Hantek DDS 3X25, anyone own one?
Post by: saturation on January 12, 2011, 07:51:49 pm
I received the unit yesterday and it does the job well, moreso its excellent for its price performance.  Just went through testing it at its extreme settings and it came through very well.  I think its well suited for providing function generator capacity with arbitrary waveform capability at very low cost.

I confirm dajones posts, there is a persistent jitter of 5-8ns most obvious in the square wave output.  I haven't tried mitigating it, or trying a whole suit of tests, and will post a more detailed review later as I find time.

Prelim testing was done with an unmodified Rigol 50 MHz 1052E and its FFT.  The limits below are written because they are  at the 1052E's bandwidth limits.  I did review the outputs at it maximum setting, 75 MHz sine, and 25 MHz square, and the additional instabilities can't be ascertained to be solely from the 3x25.


Pros

Low harmonic distortion stable sine wave in excess of 50 MHz, here's a sample screen shot at 1 MHz
Fast rise time and symmetric square, triangle, and sawtooths mostly clean [ as expected by a Fourier harmonic distribution] >= 5 MHz  
Instantaneous response from selection to output
Bug free software usage and installation; easy to use, manual not necessary, small size, 11 MB
Works in Windows OS: Vista 32, Win7 32, and XP 32 bit
Small hardware footprint, powered by USB, no external power needed
Interface USB and BNC cables included


Cons

Jitter noticeable in all but the sine waves, worst in square waves, but not exceeding 8ns
Self installing driver did not install in Win7; I manually installed it from the CD
Software could have used more ergonomics
No external power adapter included


Title: Re: Hantek DDS 3X25, anyone own one?
Post by: EricF on January 12, 2011, 09:04:44 pm
Thanks for the initial impressions saturation! Looking forward to hearing more.

EricF
Title: Re: Hantek DDS 3X25, anyone own one?
Post by: DaJones on January 12, 2011, 09:43:24 pm

Quote
I confirm dajones posts, there is a persistent jitter of 5-8nS most obvious in the square wave output.  I haven't tried mitigating it, or trying a whole suit of tests, and will post a more detailed review later as I find time.

: /

I was HOPING that it was just 'my unit' that was having this problem.

You might want to take a look at the "Sync-Out" problem.

If I set my unit to 2.5MHz, and display the output signal on one trace, and the Sync-Out on another trace ( on the scope ), I see that
they are in step and not much jitter on the sync line. If I bump this up or down in frequency by a small factor ( 2.51MHz or 2.5000000.001 or 2.4999 )
the Sync-Out signal gets so jittery there doesn't seem to be any timing relationship between the two signals at all.
Title: Re: Hantek DDS 3X25, anyone own one?
Post by: saturation on January 12, 2011, 10:58:19 pm
Its a big problem with the Rigol's inherent noise and the potential for artifacts caused by the FFT itself, as we've discussed on eevblog in the past.  Its a reason I'll post scope images more than discuss it [ its also easy to do with the 1052E], you can see the signal vs harmonics+ noise for yourselves.  I also analyzed the maximum amplitude on FFT to see whatever harmonics are there and sometimes, not always, pick up a few distinct frequencies spiking over noise. So far the noise floor and/or specific frequencies are <= 1-5 mVrms for a fundamental at 1.4Vrms.  That's ~ <= 0.36%. 

The key issue is while one cannot be so sure what the specific harmonic components are without some sleuthing [they could be real or reflected aliases for example], if the harmonic outputs are near to zero [as expected in a sine response] its meaningful, once you also respect the limits of the 1052E's response and what FFT algorithms do.  Likewise, one can calibrate the FFT response by passing a reference wave to insure its anticipated harmonics, say of a square wave at the fundamental x 3,5,7,9,11,etc., happens as expected and compare it the frequency under test.  For example, if I see other blips at 1 MHz sine on the FFT using the 3x25 I'm not sure off, I examine a better 1 MHz sine from my Instek SFG-1003, which is calibrated and traceable [ so Instek says in the documentation].  Whatever difference shown is part of the distortion from the 3x25.

Right now for sine, the Instek and 3x25 are equal in quality, with the 3x25 better given it can go to 40 MHz +.

On square waves, the Instek is cleaner and jitter free.

Again, I'll post images and less theoretical discussion and would love to hear feedback or more ways to check my findings.

 

Prelim testing was done with an unmodified Rigol 50 MHz 1052E and its FFT.
i'm no expert, but i have a feeling doubt to rigol's fft.

Kids, mhz means nothing.  mHz would be millihertz (10-3 Hz). But if you mean megahertz, then write MHz (106 Hz, or 1000000000 times larger than mHz). If that is to inconvenient for you, what about another hobby or profession?
Even if I have no interest in a thread topic and I see BoredAtWork has posted something on it I open it up anyways.  Just so I can enjoy golden comments like this one.
sometime me too lazy press the shift/caps button, i just rely on my extra terestial intelligent to read people's post, but a good reminder... with the butt kicking word "kids".

Title: Re: Hantek DDS 3X25, anyone own one?
Post by: saturation on January 12, 2011, 11:00:11 pm
Thanks dajones!  Intended to do that to, will put that on my to-do test lists.  Any more ideas, are very welcome.


Quote
I confirm dajones posts, there is a persistent jitter of 5-8ns most obvious in the square wave output.  I haven't tried mitigating it, or trying a whole suit of tests, and will post a more detailed review later as I find time.

: /

I was HOPING that it was just 'my unit' that was having this problem.

You might want to take a look at the "Sync-Out" problem.

If I set my unit to 2.5MHz, and display the output signal on one trace, and the Sync-Out on another trace ( on the scope ), I see that
they are in step and not much jitter on the sync line. If I bump this up or down in frequency by a small factor ( 2.51MHz or 2.5000000.001 or 2.4999 )
the Sync-Out signal gets so jittery there doesn't seem to be any timing relationship between the two signals at all.

Title: Re: Hantek DDS 3X25, anyone own one?
Post by: alm on January 13, 2011, 02:09:53 am
Its a big problem with the Rigol's inherent noise and the potential for artifacts caused by the FFT itself, as we've discussed on eevblog in the past.  Its a reason I'll post scope images more than discuss it [ its also easy to do with the 1052E], you can see the signal vs harmonics+ noise for yourselves.  I also analyzed the maximum amplitude on FFT to see whatever harmonics are there and sometimes, not always, pick up a few distinct frequencies spiking over noise. So far the noise floor and/or specific frequencies are <= 1-5 mVrms for a fundamental at 1.4Vrms.  That's ~ <= 0.36%. 
That would be around -50dB, much better than the specs, but nothing extraordinary for DDS. 0.36% is at the very limit of the 8-bit dynamic range of the Rigol, so I would be suspicious. Setting the vertical scale to dB (assuming the Rigol supports that) would make it easier to see, although it doesn't change the dynamic range obviously. I would also set the sweep speed to a higher setting to get more horizontal resolution on the FFT for looking at the first few harmonics. For more accurate measurements, something like a notch filter might help.

Glad that it appears to perform better than expected, except for the jitter issue. I wonder what kind of change takes place above 2.5MHz, different DAC frequency? 200MS/s and 4kS waveform memory means that the full memory depth can only be used up to 50kHz, so they have to be down sampled above that. Maybe there's some rounding/dithering error there? At 2.5MHz, there will only be 80 points per period, so even minor changes will be significant, especially for something like 2.6MHz, which is not a divisor of 200MHz. Any idea if there's some periodicity to the jitter? If they run the DAC at 200MHz, and alternate periods of 38 and 39, that would generate some jitter.

The manual is useless, as expected (good thing you don't need one), so it provides no clue how it changes the output frequency and what it does with the extra points.

After looking through the manual, I wonder if the arbitrary waveform capability is as bad as it looks? From what I see in the manual, you're forced to edit each individual point individually (if it has more features, it's not mentioned in the manual). I thought the Rigol software was bad, but this seems completely useless. Like Rigol, the compensate for this by leaching on the software that their competitors make available for free. Guess you can't expect them to write their own software for this kind of money.
Title: Re: Hantek DDS 3X25, anyone own one?
Post by: saturation on January 13, 2011, 02:45:57 pm
Hi Alm,

As always, your posts require a lot of thought for a reply to very insightful points.  A prelim.

The AWG software is crude as you begin with a bitmap image with 1000+ points, moving each point with a mouse will take a long time, so you are right, using some other makers editor is the likely solution, limiting the 3x35's software for touch ups and sending it to hardware.

This Hantek uses Tek and CSV format.  This allows importing other images.  Also, the Rigol exports to CSV so captures can be used too.  I haven't given the AWG component a detailing, so only know these superficially.  I am still characterizing its built in waveforms, but I have tested AWG output and so far so good. 

Clearly, the manual's spec sheet, listed on this thread, is wanting.  But the great news is that the device is performing >= spec sheet, and we are discovering others specs, many are good and less good, i.e., jitter.

I'd bet the "variable" clock design creates more jitter than needed.   But jitter is a weakness in DDS designs for more than just the clock; one reason the Instek 1003 is nice, its more solid a signal reference, none measurable by the Rigol.  It not a problem for design or testing work if your design isn't picky about duty cycles, or operates at speeds under the jitter variation, in this case 8ns or 125 MHz.

http://www.eetindia.co.in/ART_8800549886_1800002_AN_4307fcee.HTM (http://www.eetindia.co.in/ART_8800549886_1800002_AN_4307fcee.HTM)
http://electronicdesign.com/article/communications/jitter-and-its-measurements3781.aspx (http://electronicdesign.com/article/communications/jitter-and-its-measurements3781.aspx)
http://www.maxim-ic.com/app-notes/index.mvp/id/377 (http://www.maxim-ic.com/app-notes/index.mvp/id/377)

Interestingly, few devices specify jitter, and reading on it more, seems like even the measurement standards are evolving.

Aside, maybe the 'waveform distortion' spec really meant MHz not kHz, because that -50dBc is so coincidental.

Title: Re: Hantek DDS 3X25, anyone own one?
Post by: saturation on January 13, 2011, 08:47:06 pm
Here's the key component review in pictures.

First pair of images are the Instek 1003 response to its maximum output, basic sine waveform and FFT spectra and next followed by the Hantek sine and spectra.   You can see the absence of any visible harmonics, prior to magnification, to be show later.

Next pair is a square wave from Instek vs Hantek Sq. wave.  CurA marks the 17th harmonic, at 51MHz, and CurB marks the location of a large spurious harmonic, visible with magnification, on the noise floor.

The noise floor of sine wave magnified  including a spurious high frequency component.  2.48mV/1Vrms gives the noise ~ 0.248%.  The spurious high frequency is about 12mV or 1.2%, its ~ at 250MHz.

The jitter close up, at 5.20ns.

Hantek's maximum frequency at 75 MHz sine, with FFT spectra, clean at 75 MHz, with the Rigol at highest gain, and image stabilized with averaging [I use a 1052E unmodded, bandwidth of 50 MHz.]

Sample AM modulation.

Magnified noise floor on FFT at 40 MHz sine, from the Hantek.  Note the 5mVrms spike at 458 MHz, CurB.

Sample of my AWG output, a sine wave with negative and positive voltage spikes, and its spectra.

Title: Re: Hantek DDS 3X25, anyone own one?
Post by: saturation on January 13, 2011, 09:08:13 pm
Sample FM Modulation image.
Title: Re: Hantek DDS 3X25, anyone own one?
Post by: saturation on January 13, 2011, 09:35:16 pm
Comments on bolded items:

Yep, the harmonics are measurable to the limits of the Rigol's capacity.  So at worse the Hantek is doing in the neighborhood of no more than 0.4%, about the 1/8 bit resolution of the Rigol.  I looked at the distribution in dB too, but converted I can't go below~ -50dB.  I also swept the timebase from end to end, looking for trouble.  I checked views with all the various FFT windows: Hanning, Hamming, Blackman, to get the best view.  The pics are just representative of the best and worst.

Although the jitter is there, I think its effect is a bit overemphasized, it only matters when circuits are sensitive or nearer the jitter's frequency, such as using it to clock a ADC.  Since it appears fixed, it becomes more rate limiting at high frequencies, at 2.5 MHz the jitter represents 5ns/400ns a 1.25% variation in say, the duty cycle of a square wave clock.  But at 25 MHz, its 12.5%.  Can't hurt when used as a signal generator for input emulation knowing this restriction.

Formally, its effect can be thus:

(http://www.analog-europe.com/images/01-edit-photo-uploads/2010/2010-12-december/kress_eq8.jpg)

It can drive an ADC ~ 100kHz before the noise begins to rise above the ENOB limits of 50dB.

http://www.analog-europe.com/en/understanding-ac-behaviors-of-high-speed-adcs.html?cmp_id=71&news_id=222901444&vID=35 (http://www.analog-europe.com/en/understanding-ac-behaviors-of-high-speed-adcs.html?cmp_id=71&news_id=222901444&vID=35)


I think the jitter is a pickup of the maximum clock frequency, 5ns ~ 200MHz, as the manual states, its just an educated guess.  Being the maximum DAC clock speed, the Nyquist frequency is 100 MHz, so that's the ceiling on waveform generation.

There does seem to be periodicity to the jitter, if you switch the acquisition mode to 'average' the jitter completely disappears, so its appearing at a fixed interval, like its frequency modulating the clock period.  

Yes, the manual is very superficial.  There is no access to adjusting the clock period directly.  As you pointed out before, the software has a demo mode, why they didn't make it available for download for promotion purposes is curious, but methinks they were afraid of criticism of its dullness and thus, kill 3x25 sales.

Your AWG comments spurred me to examine it in detail.  When selected, it takes the existing waveform on the screen, be it sine, sq, ramp etc., and enters editor mode.  You can thus, mess up the waveform easily, as in the photo I left of a sine wave with spikes on it.

I'll report on uploading a CSV file later.

That would be around -50dB, much better than the specs, but nothing extraordinary for DDS. 0.36% is at the very limit of the 8-bit dynamic range of the Rigol, so I would be suspicious. Setting the vertical scale to dB (assuming the Rigol supports that) would make it easier to see, although it doesn't change the dynamic range obviously. I would also set the sweep speed to a higher setting to get more horizontal resolution on the FFT for looking at the first few harmonics. For more accurate measurements, something like a notch filter might help.

Glad that it appears to perform better than expected, except for the jitter issue. I wonder what kind of change takes place above 2.5MHz, different DAC frequency? 200MS/s and 4kS waveform memory means that the full memory depth can only be used up to 50kHz, so they have to be down sampled above that. Maybe there's some rounding/dithering error there? At 2.5MHz, there will only be 80 points per period, so even minor changes will be significant, especially for something like 2.6MHz, which is not a divisor of 200MHz. Any idea if there's some periodicity to the jitter? If they run the DAC at 200MHz, and alternate periods of 38 and 39, that would generate some jitter.

The manual is useless, as expected (good thing you don't need one), so it provides no clue how it changes the output frequency and what it does with the extra points.

After looking through the manual, I wonder if the arbitrary waveform capability is as bad as it looks? From what I see in the manual, you're forced to edit each individual point individually (if it has more features, it's not mentioned in the manual). I thought the Rigol software was bad, but this seems completely useless. Like Rigol, the compensate for this by leaching on the software that their competitors make available for free. Guess you can't expect them to write their own software for this kind of money.
Title: AWG Testing Re: Hantek DDS 3X25, anyone own one?
Post by: saturation on January 17, 2011, 04:44:04 pm
More tests of the Hantek.

The first image is a small clock output pickup from the sync output.  This contamination could be the source of the jitter.

The next 2 are simulated RC discharge outputs.

AWG:

The Hantek wave drawing software has very few timsaving options but as is, its very useful.  Its as easy as drawing with a mouse; its better with a pen stylus.  Users need to save work as soon as done, because if another waveform is selected by error, the drawn waveform is deleted without warning.

I imported Rigol 1052E waveforms into the Hantek.  The CSV files are not drop in compatible.  To get the correct format, save any Hantek CSV waveform, open it and overwrite its data points with the datapoints of the Rigol, just insure data is on the same scale and format, which can be done easily with Excel to format a column's properties.

Hantek cannot import wfm files saved by the Rigol.  I'll report if externally generated wfm files can be converted to CSV without incompatibilities.

That said, the Hantek can generate complex waves, but the AWG output is limited to 100kHz tops. depends on the complexity of the Arb and the MCU capacity to output it fast enough to meet the frequency you enter.

Below are samples of simulated cardiac waveforms I drew, these are typically complicated after heart attack types, which requires good frequency response to reproduce.

The first show a realistic rate of 60 Hz, or beats per minute, using the Rigol 1052E roll mode for sweep.

The same cardiac waveform running at 100kHz and 10kHz, all without noticeable distortion.

Other AWG output:

Noise burst detail, zoomed in from a single pulse.  These were captured at 1Gs/s at 10us and zoomed in to 1us.
Noise burst, as a pulse at 10us.  

Finally, a complex waveform, mix analog digital with various levels.  

The complex waveforms are challenge to get the 1052E to sync properly, but it did with with rock stable accuracy with manual tweaking.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on January 17, 2011, 07:18:12 pm
You're welcome.  Shafri, maybe this thread has to be moved to reviews, as it began as an inquiry, but it became a review.

I'll rewrite the specs into a table format so its summarized.  Although I have a few more tests to run, frequency stability being one, I think based on what is posted to date, I could summarize it:

The Hantek DDS 3x25 is a solid function generator with arbitrary waveform capability, far better in performance than most analog function generators, in its price range or with similar specifications.  It one of the lowest cost 25 MHz capable DDS function generator on the market, and likely the only one with AWG capability.

The 3x25 is down -3dB at 25 MHz, but is usable to 75 MHz, at -12dB, for sine wave only, with the same distortion+ noise limits.


It can be found typically for $150, but Saelig still has it for $100, +10 s/h.  Its a sleeper, so it can be found for a steal.



good work!
Title: Re: Review: Frequency Stability and Accuracy, Hantek DDS 3X25.
Post by: saturation on January 18, 2011, 12:49:00 pm
I've completed frequency accuracy and stability measurements using a 4ppm B&K 1870 frequency counter.  Conditions: 70F, 25% RH, ~ 1025 mBar.

Specs of the test equipment:

http://www.bkprecision.com/products/model/1870/handheld-frequency-counter-12ghz.html (http://www.bkprecision.com/products/model/1870/handheld-frequency-counter-12ghz.html)


Hantek Tests:

After 24 hours stability is 2.00 ppm.  1 hour stability is 0.60 ppm.

Accuracy against the B&K, rated at 18.01 <= 200 ppm.

This is better than specifications mentioned in the manual, and stable for ~ 24 hours.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: DaJones on January 20, 2011, 09:30:49 pm
Quote
The Hantek DDS 3x25 is a solid function generator with arbitrary waveform capability, far better in performance than most analog function generators, in its price range or with similar specifications.  It one of the lowest cost 25 MHz capable DDS function generator on the market, and likely the only one with AWG capability.

Man, I don't understand how you can say that!

The thing glitches like crazy for square waves above 2.5mhz ( except a few stable spots like 10mhz ).

The sync out line has no timing relationship to the output signal except at those rare "stable" spots.

The sync out line glitches every 20us ( 50khz ) and will glitch any output waveform other than sine waves.

I could NEVER recommend this to anyone, except maybe as a source of sine waves, and as long as you
didn't need to use the sync out line at all.

If you did your stability test at one of the "stable" spots ( like 10mhz ) you might want to try it again at 10.1mhz.


Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on January 21, 2011, 12:43:46 pm
Hi dajones:

I'd glad you brought that up.

You are correct, the sync output is adequate to about 1MHz, then its heavily distorted, and the signal is increasingly useless; I can analyze stable waveforms with various combo of the Rigol's trigger options to about 3 MHz but its easier to just trigger on the channel signal, and the output is very stable to 75 MHz on sine at -12dB and ~ 25 MHz most everything else, at -3dB output.

For others interested, I did not test the pattern generator and digital output.  The input trigger works as expected.  Hantek allows you to adjust the phase angle of the output 0-360 degrees and there is a DC voltage offset.  Note, the output is LVCMOS, and swings only 3.5Vpp.  What I've done in the past is use a non-inverting opamp at the output stage with sufficient gain-bandwidth product for the needed frequency, you can optionally use the phase angle to adjust for any shifts caused by the amp.

I weighed all the pros and cons, and for me the pros win out.  But your need may differ, particularly if you need the sync signal output, its not good.  I'll add scope grabs when I've time.  

I gave it good marks because I don't think you can find a variable sine wave source for 75 MHz for $150, or even Seilig's $100, much less the typical functions of an analog, not DDS, function generator for that price.  The output is very stable, but the jitter is a problem in certain designs requiring strict duty cycles.

Most $150-200 FG output ~ 3MHz, albeit they may have clean signals through the bands, analog FG suffer from frequency variations, between 0.1-1.0% / hr even when already at operating temps.  Of top analog FG brands, many are more stable, but far most costly, and no where in ppm stability.  Likewise, the harmonic content is very variable too.

http://www.eevblog.com/2009/04/24/eevblog-5-instek-function-generator-review/ (http://www.eevblog.com/2009/04/24/eevblog-5-instek-function-generator-review/)

The DDS variants change the field for FG, but the starting price for >3 MHz is at least 2-3x the cost of the Hantek.

If you have a good FG to recommend with stable clean outputs, link them here.  One recent post was a surprise, the Velleman.  But again, its under 3 MHz:

https://www.eevblog.com/forum/index.php?topic=1869.msg31157#msg31157 (https://www.eevblog.com/forum/index.php?topic=1869.msg31157#msg31157)

Its one reason I posted my raw screens, so you can decide for yourselves its value, its the equivalent of a revised spec sheet.

I'll post my scopes images of the issues you raised later on.



Quote
The Hantek DDS 3x25 is a solid function generator with arbitrary waveform capability, far better in performance than most analog function generators, in its price range or with similar specifications.  It one of the lowest cost 25 MHz capable DDS function generator on the market, and likely the only one with AWG capability.

Man, I don't understand how you can say that!

The thing glitches like crazy for square waves above 2.5mhz ( except a few stable spots like 10mhz ).

The sync out line has no timing relationship to the output signal except at those rare "stable" spots.

The sync out line glitches every 20us ( 50khz ) and will glitch any output waveform other than sine waves.

I could NEVER recommend this to anyone, except maybe as a source of sine waves, and as long as you
didn't need to use the sync out line at all.

If you did your stability test at one of the "stable" spots ( like 10mhz ) you might want to try it again at 10.1mhz.



Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on January 25, 2011, 02:00:42 am
Just noticed this tonight (no affiliation) on clearance for $99USD:
http://www.saelig.com/CL/CL001.htm (http://www.saelig.com/CL/CL001.htm)
Not sure if this means they are discontinuing them...
its discontinued, not sold anymore. maybe i was thinking too long, gotta find another source :( or any info on the newer product?

this thread is perused:
1) sine wave: 1.5Vrms?@3MHz, 0.2Vrms?@75MHz? is it enough/good as an external clock for an mcu? or for mcu work?
2) arbitrary good to 100kHz only? or can be more? like 1-3MHz is possible?
3) what is "sync output" for?

my fingers are tinggling, should i hit the $150 3x25 (http://cgi.ebay.com.my/USB-Pc-Function-Arbitr-ary-Waveform-Generator-DDS-3X25-/290493493907?pt=BI_Oscilloscopes&hash=item43a2c2f293)?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on January 25, 2011, 05:37:30 pm
Hi Safri,

Its at least sold out by Seilig, you still have many eBay sellers and other vendors in Asia, there are many out there I see on google, find one close to you in Malaysia.

I wouldn't be surprised if the item is discontinued by Hantek, it might be why its so cheap; it was designed with bugs in it that isn't worth repairing or recalling; that's why I think its a steal, the parts of it that work well provide what I reviewed here.

To answer your questions:

1. 3.5Vpp is ~ 2.5Vac rms.  -12 dB for 2.5Vac rms = 0.63Vac rms.  I'm not so sure -12dB is the Hantek roll off or my Rigol's.  I'll recheck and post a correction if I can confirm its source.

The clock output is stable to 3MHz.  As you go faster, that jitter will eventually cause inconsistent clocking, but when that happens depends on your circuit.

It is possibly good enough for non-LV CMOS circuits, because the maximum output of 3.5Vdc can be made by adjusting the voltage offset and is above the switching level of TTL and CMOS.

2. Arbitrary depends on how bizarre your waveform, I can get many stable waveforms over 3 MHz, and easily under 100kHz, but its best to monitor the output on your scope as you ramp the frequency up. That's because waveforms beyond just sine requires more frequency response from the hardware.

3.  

Sync output sends a logic level output that's the same frequency as the output signal.  

You can use it as an alternate trigger signal for a scope, if none of the scope's options work.
You can synchronize multiple devices to output simultaneously.  For example, you can cascade multiple signal sources together than have trigger Input and Sync output, taking the sync output of one device to the trigger input of another, and daisy chain multiple devices, to simulate multiple simultaneous synchronized inputs to your design.  This is not as straightforward as it sounds, because as you daisy chain these devices, there is always some trigger input delay so you need to manually adjust the phase shift on each device as the sync signal propagates down the line of signal sources.

Because the sync out of the 3x25 is unreliable, you can't daisy chain 3x25s, but you can trigger it. Also, if you need the sync signal for any other reason, it doesn't work past 1MHz.



Just noticed this tonight (no affiliation) on clearance for $99USD:
http://www.saelig.com/CL/CL001.htm (http://www.saelig.com/CL/CL001.htm)
Not sure if this means they are discontinuing them...
its discontinued, not sold anymore. maybe i was thinking too long, gotta find another source :( or any info on the newer product?

this thread is perused:
1) sine wave: 1.5Vrms?@3MHz, 0.2Vrms?@75MHz? is it enough/good as an external clock for an mcu? or for mcu work?
2) arbitrary good to 100kHz only? or can be more? like 1-3MHz is possible?
3) what is "sync output" for?

my fingers are tinggling, should i hit the $150 3x25 (http://cgi.ebay.com.my/USB-Pc-Function-Arbitr-ary-Waveform-Generator-DDS-3X25-/290493493907?pt=BI_Oscilloscopes&hash=item43a2c2f293)?

Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on January 25, 2011, 06:55:58 pm
yes its still available in ebay. and the bugs, dajones tried to highlight that clearly. but as you said, and i think, a 75MHz sine is a hard thing to find at the price, the DDS-3005 (http://cgi.ebay.com.my/DDS-3005-USB-PC-Function-Arbitrary-Waveform-Generator-/320401540954?pt=BI_Signal_Sources&hash=item4a996b875a) cost more than twice and no indication it can do 75MHz sine. as for other signal than sine (square, arb), i will treat them as extra features of the generator, so slower frequency should be acceptable for me, in fact imo 3MHz is pretty good already. but the 3x25's -12db concerns me, as your pictures indicate, its around 384mVpp @ 75MHz sine. so i'm rounding it to roughly 0.2Vrms, i was quoting Vdc (Vac/2 to my understanding, sorry if i'm wrong), but whatever! your pictures worth 1K words.

my only concern if its possible feeding the signal into the mcu clock and get the mcu MIPS'ping, you know what i mean? running. as jitter is concerned, perharps that related to how accurate the timing is? so far i dont think i will need a very accurate timing/clocking project, if i do maybe i should get more stable oscillator for the project. i just want to know what happen if the mcu is running at its highest speed (say if a PIC can run at max 40MHz, then i can tune the hantek to 40MHz sine and feed it to the PIC), thats all that i can imagine so far. or is it do i need an extra amplifying circuitry before fedding to mcu? i dont know, maybe i'm too newbie on this and have to make some study. you mentioned about "voltage offset" which is not very clear to me, but dont bother, i'll go figure that out. so the answer to my concern should be just as simple as "yes" and "no".

other than that, i would like to experiment with LCR meter as you've suggested in another thread, and other possibility within the reach of the generator. pretty much thats all. i'm not that complicated beast ;) . OR just maybe this whole thing is just a delusion to me?

ps:
comparison between 3005 and 3x25 (html) (http://www.usb-instruments.cn/Generator-Specification.htm#compa)
3005 manual (pdf) (http://www.hantek.com.cn/Product/DDS-3005/User%20Manual.pdf)
3x25 manual (pdf) (http://www.usb-instruments.cn/download/manual/3x25manual.pdf)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on January 25, 2011, 08:28:49 pm
Yes, it is.  You are correct, its down ~ 384mV at 75MHz, but its still clean, harmonic free as I can measure  ;D

You can easily amplify it for more gain using a op amp rated for that speed, made as a non-inverting amplifier, the chips are ~ $5.  For such high frequencies use dead bug style wide ground plane construction.  You can then control the output as you did before but with much higher output.

http://www.analog.com/en/amplifiers-and-comparators/operational-amplifiers-op-amps/ad8011/products/product.html (http://www.analog.com/en/amplifiers-and-comparators/operational-amplifiers-op-amps/ad8011/products/product.html)

Yes, the Hantek 3005 cannot do 75 MHz, very few function generators can.  At 20 MHz, they run in the $400, of course, unlike the 3x25, all outputs work  :D  Even second hand eBay RF sources cost more and not as stable.

I do not know if driving an MCU clock with the 3x25 will create issues because of the jitter, jitter becomes a problem the higher the clock speed is, so it depends how high you ramp up the clock speed.

If I need a good clean output, I use the Instek 1003, its the reason I bought it, and then the 3x35 is mostly as a signal source.

I do intend to use the sine wave as my highest output clock source, as you suggest.  A simple way to convert sine to square is simply clip the sine wave peaks:

(http://static.electro-tech-online.com/imgcache/4756-23025.png)

Or use a Schmitt trigger, and adjust the threshold trigger voltage to vary the duty cycle .  This design just reuses the op amp you already have, so get several if you intend to do something like this [this example uses the 741 op amp, but op amps in general use the same design layout].

(http://talkingelectronics.com/projects/OP-AMP/images/741Schmitt-1.gif)

yes its still available in ebay. and the bugs, dajones tried to highlight that clearly. but as you said, and i think, a 75MHz sine is a hard thing to find at the price, the DDS-3005 (http://cgi.ebay.com.my/DDS-3005-USB-PC-Function-Arbitrary-Waveform-Generator-/320401540954?pt=BI_Signal_Sources&hash=item4a996b875a) cost more than twice and no indication it can do 75MHz sine. as for other signal than sine (square, arb), i will treat them as extra features of the generator, so slower frequency should be acceptable for me, in fact imo 3MHz is pretty good already. but the 3x25's -12db concerns me, as your pictures indicate, its around 384mVpp @ 75MHz sine. so i'm rounding it to roughly 0.2Vrms, i was quoting Vdc (Vac/2 to my understanding, sorry if i'm wrong), but whatever! your pictures worth 1K words.

my only concern if its possible feeding the signal into the mcu clock and get the mcu MIPS'ping, you know what i mean? running. as jitter is concerned, perharps that related to how accurate the timing is? so far i dont think i will need a very accurate timing/clocking project, if i do maybe i should get more stable oscillator for the project. i just want to know what happen if the mcu is running at its highest speed (say if a PIC can run at max 40MHz, then i can tune the hantek to 40MHz sine and feed it to the PIC), thats all that i can imagine so far. or is it do i need an extra amplifying circuitry before fedding to mcu? i dont know, maybe i'm too newbie on this and have to make some study. you mentioned about "voltage offset" which is not very clear to me, but dont bother, i'll go figure that out. so the answer to my concern should be just as simple as "yes" and "no".

other than that, i would like to experiment with LCR meter as you've suggested in another thread, and other possibility within the reach of the generator. pretty much thats all. i'm not that complicated beast ;) . OR just maybe this whole thing is just a delusion to me?

ps:
comparison between 3005 and 3x25 (html) (http://www.usb-instruments.cn/Generator-Specification.htm#compa)
3005 manual (pdf) (http://www.hantek.com.cn/Product/DDS-3005/User%20Manual.pdf)
3x25 manual (pdf) (http://www.usb-instruments.cn/download/manual/3x25manual.pdf)

Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on January 26, 2011, 01:53:30 am
3 more 1052E grabs.

-3dB mark is likely for the Hantek, 32 MHz.  White is at 0dB for comparison, see photos below.  I think this is correct because the 1052E is rated to ~ 50 MHz, which is its -3dB mark, and this response is consistent with the tested rise times, blue is from a test signal from the Instek 1003, yellow is the rise time of the Hantek:

(https://www.eevblog.com/forum/index.php?action=dlattach;topic=2289.0;attach=5507;image)

The slower Hantek gives ~ bandwidth of 0.35/15.5ns ~ 22.6 MHz.
The faster Instek gives ~ bandwidth of 0.35/4.8nS ~ 72.9 MHz.  

The above suggests the Rigol is much faster the Hantek, so the roll off is most likely caused by the Hantek.

Other 2 photos below are:

Sine output and sync output, in sync up to 2.5 MHz.

Unstable sync output at 2.8 MHz.  Using persistent view to show instability.



Title: Sync signal fixed was Re: Review: Hantek DDS 3X25
Post by: saturation on February 08, 2011, 04:52:55 pm
dajones initially reported about the inability of the 3X25 to provide a suitable sync signal, that I confirmed.

The manual states the output port is capable of ~ 50mA, at 3.5v.  That suggests it was designed for an impedance of ~ 70 ohms.  I measured the sync output port at nearly 50mA too.  

Thus, all you need do is terminate the sync output at 50 ohms, and you have a usable sync signal good to 25 MHz.  I've confirmed this.

I have not solved the jitter issue, its still there.

Yellow is the signal output, blue is the sync signal.

(https://www.eevblog.com/forum/index.php?action=dlattach;topic=2170.0;attach=5911;image)

At 25 MHz, there is at least a 45 marked phase shift.  But a stable image can be made by adjusting trigger level.

(https://www.eevblog.com/forum/index.php?action=dlattach;topic=2170.0;attach=5914;image)

So fairly small excursions can be sync'd, here's 8mVpp, the limits of the 3x25 before severe pixelation begins.

(https://www.eevblog.com/forum/index.php?action=dlattach;topic=2170.0;attach=5915;image)

Title: Re: Sync signal fixed was Re: Review: Hantek DDS 3X25
Post by: alm on February 08, 2011, 07:35:50 pm
The manual states the output port is capable of ~ 50mA, at 3.5v.  That suggests it was designed for an impedance of ~ 70 ohms.
My guess is that it's 50 ohm, like 95% of the generators. Should be easy to find out by measuring open circuit voltage and short-circuit current.

Thus, all you need do is terminate the sync output at 50 ohms, and you have a usable sync signal good to 25 MHz.  I've confirmed this.
Good find. Most generators are happier with a 50ohm load, unless otherwise specified. I expect the distortion and flatness spec were also specified for a terminated load. If you're unable to do this, back termination (termination at the generator's end) is usually preferable to none at all.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on February 08, 2011, 09:35:10 pm
Hi alm, yes absolutely, just an estimate but it confirms the 3x25 provides enough mW to drive a low impedance load [ 3.5Vp ~ 2.5V rms, @ 50mA gives 50 ohms].  The manual does not say the sync output was too, but why not?  And I presume now the trigger input is 50 ohms too, and duh, I've been using it already driving it from the 50 ohm Instek 1003.  And yes, did so measure the output current.  Yes, reconfirmed voltage output for flatnes but only on select frequencies before its roll off.

Here are some additional images regarding the sync and signal stability.  I think they show the phase shift better and the solid Lissajou image demonstrates the overall stability between the 2 signals.

Blue = sync output

Yellow = output signal

The manual states the output port is capable of ~ 50mA, at 3.5v.  That suggests it was designed for an impedance of ~ 70 ohms.
My guess is that it's 50 ohm, like 95% of the generators. Should be easy to find out by measuring open circuit voltage and short-circuit current.

Thus, all you need do is terminate the sync output at 50 ohms, and you have a usable sync signal good to 25 MHz.  I've confirmed this.
Good find. Most generators are happier with a 50ohm load, unless otherwise specified. I expect the distortion and flatness spec were also specified for a terminated load. If you're unable to do this, back termination (termination at the generator's end) is usually preferable to none at all.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on February 09, 2011, 02:01:21 pm
damned! i just hit it, buy it now from ebay chinese seller. wish me luck.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on February 09, 2011, 03:18:38 pm
Please add your review when you get it! 

damned! i just hit it, buy it now from ebay chinese seller. wish me luck.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on February 09, 2011, 03:32:13 pm
Please add your review when you get it! 
i dont think i can do any better than yours. and i'm not in rush, just want to make early preparation before i can start any project. maybe i will just have a rough look when the thing arrives. and to see if there is any prospect from pc programmability point of view. i hope i'll come out with something ;)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: frogblender on February 09, 2011, 04:02:08 pm
I took delivery of a DDS-3x25 a week ago.  After 1 hours of fiddling:

- Same ±5.5nS jitter on square waves as others have noted above.
- Sine wave generation seems OK.  Above 30 or 40Mhz it starts to become visibly distorted, but not horribly so.
- I haven't messed with sync out
- Software is not very good (me=Win7-32pro)
    - virtual frequency adjust knob (on the screen), when turned by the mouse, changes freq in ONE Hz increments - Useless above 100Hz.
    - many options grayed-out in the software, reason unknown.  Can't sweep.


I also bought a Hantek DSO5202B 200MHz scope, which is not bad at all for the price.  Although this is off-topic, I had a wild dream about using the generator and scope together as a Network analyzer (would give me a nice graph of amplitude and phase response as a function of freq for my device-under-test) - anyone have any ideas how to do this?   I also have this scope-and-generator-in-one:

http://syscompdesign.com/CGR101.html (http://syscompdesign.com/CGR101.html)

which produces beautiful bode plots - but only up to 2MHz - I need something up to 10MHz.  Any ideas?







Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on February 10, 2011, 09:51:07 pm
LARGE Hi res PCB photos are here, I did not take them, just found it by accident:

http://biot.com/p/ (http://biot.com/p/)

Small versions as teasers

(http://biot.com/p/.cache/DDS-3X25%20front.png)

(http://biot.com/p/.cache/DDS-3X25%20back.png)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on February 10, 2011, 10:07:18 pm
Good you brought these up:

I don't have the unit at hand, but I recall the knob can be spun fairly quickly.  BUT, you'll find that is uses only the first 5th or 6th most significant digits, but software will allow you adjust in any position before it, and thus, will not result in any output.

Options are greyed out until you select the mode, then only the appropriate menu appears.  For example, until you select square waves, the subfunctions for square waves are not available, such as adjusting duty cycle.  The same thing for sweeping for AM and FM.

You can use a signal source and a scope in the X-Y mode of the scope, and evaluate Lissajou patterns.  It will provide  phase, amplitude and frequency relationship between 2 channels.

One advantage of USB scopes is that the raw data can be imported into software for presentation in any format, such as Bode plots. But if you were trying to test your hardware for its frequency and phase response for practical reasons, you now have basic tools to make that assessment.  For example, the syscomp image would appear as a very squashed line at 12kHz in phase, then a turn to equal proportions at X=Y amplitude, and begin to move from a circle to an ellipse as the phase shifted.

http://en.wikipedia.org/wiki/Lissajou#Practical_application (http://en.wikipedia.org/wiki/Lissajou#Practical_application)


I took delivery of a DDS-3x25 a week ago.  After 1 hours of fiddling:

- Same ±5.5nS jitter on square waves as others have noted above.
- Sine wave generation seems OK.  Above 30 or 40Mhz it starts to become visibly distorted, but not horribly so.
- I haven't messed with sync out
- Software is not very good (me=Win7-32pro)
    - virtual frequency adjust knob (on the screen), when turned by the mouse, changes freq in ONE Hz increments - Useless above 100Hz.
    - many options grayed-out in the software, reason unknown.  Can't sweep.


I also bought a Hantek DSO5202B 200MHz scope, which is not bad at all for the price.  Although this is off-topic, I had a wild dream about using the generator and scope together as a Network analyzer (would give me a nice graph of amplitude and phase response as a function of freq for my device-under-test) - anyone have any ideas how to do this?   I also have this scope-and-generator-in-one:

http://syscompdesign.com/CGR101.html (http://syscompdesign.com/CGR101.html)

which produces beautiful bode plots - but only up to 2MHz - I need something up to 10MHz.  Any ideas?








Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: alm on February 10, 2011, 11:13:10 pm
One advantage of USB scopes is that the raw data can be imported into software for presentation in any format, such as Bode plots.
Just to be clear: this is true for any DSO with any kind of PC connectivity, which includes all of the popular Rigol/Instek/Hantek/Tekway scopes. Even RS-232 or GPIB would work. When I think of USB scopes, I think of a small box with BNC connectors and a USB port (like the Hantek AFG), without any display or knobs. You definitely don't need one of those, you can do the same with a standard DSO with USB port and decent software, and they're usually inferior to stand-alone units unless you pay big bucks to someone like NI or Agilent.

You can actually do the same with a non-storage scope, but you need to manually measure the amplitude at all frequencies, so it's a lot of work. With a computer controlled signal source and oscilloscope, you can automate it.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on February 11, 2011, 12:47:14 am
Hantek's web site has been down for a while, but its up and all its operational software are online to be downloaded for trial as you please.

http://www.hantek.com.cn/english/produce.asp?classid=30 (http://www.hantek.com.cn/english/produce.asp?classid=30)

However, there is something wrong with the 3x25 rar file, its 22MB long but when unrared only drivers are viewable.  I've sampled a few of the other products and the packages are OK.  

Alm is right of course, what I meant was USB interfaced scopes.  Software to make plots of multiple complex data sets is unlikely to be included as part of a Rigol type DSO package; but student oriented knob&button free USB scopes like syscomp or Velleman will come with a bode plotter and some other tools.

Software that can make bode plots and more, using any scope data so long as drivers exists, are Labview or Mathlab; 2 industry standards.  However, you may need to program it whereas on Velleman and syscomp its a built in routine tied to their hardware.  However, if you are going to be a professional EE, chances are Labview or Mathlab is in you career future, so its good to get familar with them.

For students, Labview can be had for $22, its almost the same packages as Labview base which is priced for professionals at over $1500.

If you need to start with plotting now, you can download a trial package until you get your license.

http://www.ni.com/labviewse/labviewse_faq.htm (http://www.ni.com/labviewse/labviewse_faq.htm)


One advantage of USB scopes is that the raw data can be imported into software for presentation in any format, such as Bode plots.
Just to be clear: this is true for any DSO with any kind of PC connectivity, which includes all of the popular Rigol/Instek/Hantek/Tekway scopes. Even RS-232 or GPIB would work. When I think of USB scopes, I think of a small box with BNC connectors and a USB port (like the Hantek AFG), without any display or knobs. You definitely don't need one of those, you can do the same with a standard DSO with USB port and decent software, and they're usually inferior to stand-alone units unless you pay big bucks to someone like NI or Agilent.

You can actually do the same with a non-storage scope, but you need to manually measure the amplitude at all frequencies, so it's a lot of work. With a computer controlled signal source and oscilloscope, you can automate it.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: alm on February 11, 2011, 01:15:28 am
Yeah, you might have to do some basic programming in something like a free MATLAB clone, probably not a bad skill for an EE. There's also software like SignalExpress, which is a nicer shell around Labview (and less powerful, obviously). Should be fine for things like bode plots and FFT. But since it's professional software from NI, it's likely expensive.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on February 11, 2011, 03:26:53 am
LARGE Hi res PCB photos are here, I did not take them, just found it by accident:
http://biot.com/p/ (http://biot.com/p/)
nice simplistic porn photos. i'm looking forward to take apart my unit. i just wonder why there is so much pcb area (bottom part) compared to components population (about a quarter only), why dont/cant they make the unit/pcb smaller? ???

I also bought a Hantek DSO5202B 200MHz scope, which is not bad at all for the price.  Although this is off-topic, I had a wild dream about using the generator and scope together as a Network analyzer (would give me a nice graph of amplitude and phase response as a function of freq for my device-under-test) - anyone have any ideas how to do this?   I also have this scope-and-generator-in-one:
http://syscompdesign.com/CGR101.html (http://syscompdesign.com/CGR101.html)
which produces beautiful bode plots - but only up to 2MHz - I need something up to 10MHz.  Any ideas?
Good you brought these up:
You can use a signal source and a scope in the X-Y mode of the scope, and evaluate Lissajou patterns.  It will provide  phase, amplitude and frequency relationship between 2 channels.
One advantage of USB scopes is that the raw data can be imported into software for presentation in any format, such as Bode plots. But if you were trying to test your hardware for its frequency and phase response for practical reasons, you now have basic tools to make that assessment.  For example, the syscomp image would appear as a very squashed line at 12kHz in phase, then a turn to equal proportions at X=Y amplitude, and begin to move from a circle to an ellipse as the phase shifted.
http://en.wikipedia.org/wiki/Lissajou#Practical_application (http://en.wikipedia.org/wiki/Lissajou#Practical_application)
frogblender's point interests me about the network analyzer, and the possiblity to bode/lissajou plot etc in pc software. but i'm concern about the delay that will be introduced by pc->generator->output and input->oscilloscope->pc with the DUT in between. will it not give some effect to the graph plot or analysis? i need to study more on this.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Bored@Work on February 11, 2011, 08:06:42 pm
i just wonder why there is so much pcb area (bottom part) compared to components population (about a quarter only), why dont/cant they make the unit/pcb smaller? ???

Either they had an abundance of the enclosures (they use it for other products, too), or they just want to impress.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on February 11, 2011, 08:15:25 pm
...or they just want to impress.
you confirmed what i had in mind ;D
but since this unit is already a small form factor compared to bench generator, make it smaller will become more advantagous imo, to save more space, rather than merely to impress people. they should know who they dealing with (not the smart combed hair and nice tie guy).
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on February 11, 2011, 09:44:28 pm
I wonder if the basic design simply lacks the added tracings used in the other model DDS based generators?  Only buyers of the 3005 can tell if they took photos so we can compare PCBs.  It would be a design efficiency to sell 2 tiers of products, they simply don't need to redesign the PCB wholly, just append the missing traces from their routing software that currently is just a huge ground plane.

nice simplistic porn photos. i'm looking forward to take apart my unit. i just wonder why there is so much pcb area (bottom part)

but i'm concern about the delay that will be introduced by pc->generator->output and input->oscilloscope->pc with the DUT in between. will it not give some effect to the graph plot or analysis? i need to study more on this.


One can expect delay or shifts by adding cables, adapters, etc., dependent on frequency, and the Lissajou can show you the shift.  The question is is it significant for the DUT?  Only the DUTs performance can say, it depends on its engineered tolerance to variation.  Regardless, the 3x25 comes with a phase shift adjustment so you can try to compensate for a shift, to get the signals in sync between 2 devices. 
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: bekir on February 23, 2011, 09:50:51 am
Hi,

I have been using DDS-3X25 and DSO-2250 USB for about two years. I must say that they are very cost effective but you have to be careful. Signal generator broken once and oscilloscope broke twice. I do not know the actual reason (no high voltage input/short circuit at probes), believe me I was very careful. Anyway just a reminder do not leave them powered up (connected to pc) while not using.
* Op-amp at the exit stage of DDS broke had to replace it (bought online directly from manufacturer as sample).
* Same op-amp that is used in the input stage of oscilloscope broke (thank gos i bought one as replacement :) ).
* A diode in the input stage of oscilloscope broke (salvaged a replacement smd diode from an old lcd projector).

Besides all these I am happy with them. Now to the main topic.

I am using these to as VNA. I am not EE, so I may be wrong on selecting words. Let me explain my situation. I generate sine wave from DDS. Connect it to my network and OSC1. Connect the output of the network to OSC2. Then get the magnitudes of input (not necessary in fact) and output. Then I find phase difference between OSC1 and OSC2 and draw bode plots.

Another method i tried to superimpose sine waves that are multiple in prime numbers (i.e. if my base freq is 1hz then I impose 2,3,5,7,11,13... hz frequency sine waves (total of 18 freqs)). Run it through the network then run fft on it. To have better accuracy, I curve fit to the signal in time domain with the magnitude and phase information from fft used as initial guess value.

First one seems to work better than second one when i look at the response graphs of RC networks. In fft there is a slight difference that I don't know why it happens. I can give some example graphs if someone interested in help.

Anyway, I did all this stuff in MatLAB 32-bit (I had(!) access in our campus), I believe it can be also done in octave as long as it can call dlls. The problem rised when our university switched to 64-bit MatLAB. My m-files and functions no longer work giving dll load error. The bad part is i didn't keep the original dlls and header files that I've used in 32-bit. So, I am asking help from someone have experience with 64bit matlab dll calls. At the end I can share my functions for signal generation and oscilloscope in a toolkit or as a sample gui. Besides that if you want any graph or data to see the performance of osc or dds just let me know. But please remember I am ME so briefly explain how should i do it.

Regards,

Bekir

Ps. I am working on Win7 x64

Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: tinhead on February 23, 2011, 11:19:49 am
Hantek's web site has been down for a while, but its up and all its operational software are online to be downloaded for trial as you please.

http://www.hantek.com.cn/english/produce.asp?classid=30 (http://www.hantek.com.cn/english/produce.asp?classid=30)

However, there is something wrong with the 3x25 rar file, its 22MB long but when unrared only drivers are viewable.  

just rename it to iso and burn or mount.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on February 23, 2011, 12:06:04 pm
thanx bekir for your info (esp on opamp failure warning). i'm looking forward to to see how the 3x25 works as vna. my 3x25 arrived today, made a quick run and take apart for the "first" evening/night test. i'm not intending to do full performance test as saturation did, just a rough one. here are some photos.

a) my unit labeling differ from the pic in documentation (no 50ohm +-3.5V max label, 350mA max etc), so not sure why. construction material not so impressive, ie uneven plastic casing color, its like its been ages. and it dont come with cd and manual, as advertised by the seller. have to download manually the software from the net, but i dont mind, as seller included free gift with it (happy customer here)
b) how to take apart.
c-h) the porn.
i) this is how i read the signal, pls correct if i'm wrong. i just directly connect the bnc cable generator to rigol, no 50ohm termination or fancy stuff. i'm not really good at it.
j) while analyzing the vb code sample, this unit just generate sin wave using precalculated 2083 points sample using sine formula.

Code: [Select]

Function myCreateBuf()
    Dim i As Integer
    Dim tmp As Double
    Dim arBuffer(4095) As Integer     'waveform buffer

    For i = 0 To g_nWavePointNum

        'sample value
        tmp = g_offset / MAX_VOLT + g_amplitude / MAX_VOLT * Sin((i / g_nWavePointNum) * 2 * PI * g_nWavePeriodNum)
        
        tmp = 2048 - 2047 * tmp
        
        If tmp > 4095 Then
            tmp = 4095
        ElseIf tmp < 0 Then
            tmp = 0
        End If

        arBuffer(i) = tmp
    Next

    result = DDSDownload(g_iDevice, arBuffer(0), g_nWavePointNum)
End Function


so i just changed the sin to tan...

Code: [Select]
tmp = g_offset / MAX_VOLT + g_amplitude / MAX_VOLT * Tan((i / g_nWavePointNum) * 2 * PI * g_nWavePeriodNum) 'SOA MODIFIED

then i got a cropped tan signal... just for fun. and... i've broke the warranty seal on the side of the unit :P
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on February 23, 2011, 12:15:31 pm
great work!  mechatrommer, I was looking at your photos and now they are gone!  but no worries; look forward to what you have to post.  Much to study, will analyze and report back.

Great work too bakir, I have some questions for how the Hantek failed, will analyze your post shortly.

Thanks for tip, tinhead!
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on February 23, 2011, 12:19:24 pm
i keep getting broken upload (disconnected) just now... still attempting... continue here, sized down from fullsize pictures (c-h)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on February 23, 2011, 12:24:16 pm
i noticed some last minute hand soldering on the pcb. my pcb ver is 1.4, so go figure. cosmetic-wise, its not so impressive, but from rough functional test, i think its good for money and can do me some usefull work. the usb chip, main mcu and another chip after it have been erased.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on February 23, 2011, 02:29:19 pm
Thanks bekir, when you replaced the signal generator that broke, did you repair it yourself, or bought a new 3x25?

I see from mechatrommer's photos the op amp is a LMH6702 and the comparator is TI TL3016; that's a pretty good op amp by the way.

To prevent further damage in high output tests you can put another op amp infront of this op amp and isolate it, just configure it as a voltage follower.

From your tests, did you check the quality of the sine wave output on any higher end equipment you have in your lab?  Particularly, what is the harmonic output of the sine waves; I'm just curious.  I only have a Rigol 1052e but I get nothing at its noise floor which is about -50 dBc.  A more sensitive instrument might show that the sine wave output is hifi audio quality, i.e., -90dBc or more.

Yep, we discussed using the Hantek as a source for making VNA calculations, I use Lissajou figures to make qualitative measurements for phase delay,  we just discussed this, find our threads on measuring phase shifts and the Hantek.

Your prime number test is interesting, to superimpose them, do you have multiple sine wave sources and measure simultaneously or did you send each prime individually then merge the waveform data?

Sorry, I have no Mathlab, so can't assist in your need there.


Hi,

I have been using DDS-3X25 and DSO-2250 USB for about two years. I must say that they are very cost effective but you have to be careful. Signal generator broken once and oscilloscope broke twice. I do not know the actual reason (no high voltage input/short circuit at probes), believe me I was very careful. Anyway just a reminder do not leave them powered up (connected to pc) while not using.
* Op-amp at the exit stage of DDS broke had to replace it (bought online directly from manufacturer as sample).
* Same op-amp that is used in the input stage of oscilloscope broke (thank gos i bought one as replacement :) ).
* A diode in the input stage of oscilloscope broke (salvaged a replacement smd diode from an old lcd projector).

Besides all these I am happy with them. Now to the main topic.

I am using these to as VNA. I am not EE, so I may be wrong on selecting words. Let me explain my situation. I generate sine wave from DDS. Connect it to my network and OSC1. Connect the output of the network to OSC2. Then get the magnitudes of input (not necessary in fact) and output. Then I find phase difference between OSC1 and OSC2 and draw bode plots.

Another method i tried to superimpose sine waves that are multiple in prime numbers (i.e. if my base freq is 1hz then I impose 2,3,5,7,11,13... hz frequency sine waves (total of 18 freqs)). Run it through the network then run fft on it. To have better accuracy, I curve fit to the signal in time domain with the magnitude and phase information from fft used as initial guess value.

First one seems to work better than second one when i look at the response graphs of RC networks. In fft there is a slight difference that I don't know why it happens. I can give some example graphs if someone interested in help.

Anyway, I did all this stuff in MatLAB 32-bit (I had(!) access in our campus), I believe it can be also done in octave as long as it can call dlls. The problem rised when our university switched to 64-bit MatLAB. My m-files and functions no longer work giving dll load error. The bad part is i didn't keep the original dlls and header files that I've used in 32-bit. So, I am asking help from someone have experience with 64bit matlab dll calls. At the end I can share my functions for signal generation and oscilloscope in a toolkit or as a sample gui. Besides that if you want any graph or data to see the performance of osc or dds just let me know. But please remember I am ME so briefly explain how should i do it.

Regards,

Bekir

Ps. I am working on Win7 x64


Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on February 23, 2011, 02:36:25 pm
Thanks so much, mecha, those photos will save me the trouble of looking at mine with virgin eyes.  I think knowing the op amps may fail is a good tip, and knowing what the part is ahead of time is a good info.  The op amp used is excellent, BTW, and pricey, about $5 each.  When I do my next digikey order I'll grab a few because it has superb specs to play with.

I notice what looks like hand soldering in your photos. compared to the centerfold photos I linked earlier that looked all machine soldered:

https://www.eevblog.com/forum/index.php?topic=2170.msg33908#msg33908 (https://www.eevblog.com/forum/index.php?topic=2170.msg33908#msg33908)

The good news, is the some chips that have their parts numbers erased, are now identified!


I think the Hantek is holding its own as a poor-man's arb and 25MHz [ at least] signal source.  For $150 its still sounding like a bang for buck.  Also, when you think that Agilent wants $400 for non-educational purchase of its FG module for its new Infiniivision scopes, you know its not too bad [ the Agilent specs that Dave showed aren't that much better than this Hantek, but probably doesn't have its quirks and faults too, but nothing an electronics person can't fix.]


i noticed some last minute hand soldering on the pcb. my pcb ver is 1.4, so go figure. cosmetic-wise, its not so impressive, but from rough functional test, i think its good for money and can do me some usefull work. the usb chip, main mcu and another chip after it have been erased.

Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: tinhead on February 23, 2011, 02:55:50 pm
the usb chip, main mcu and another chip after it have been erased.

well, you don't have care to much about ... the usb chip is STM32F102Cx or STM32F103Cx
acting as USB->i/o controller (you can see in driver description and a clear ARM JTAG interface),
the one tsop chip no idea for now, probably just a buffer/voltage converter
and the big chip is Spartan 3AN. Originally it was designed to use 3A , there is still empty
place near J2 (FPGA JTAG) for config ROM.

Probably Hantek decided to use Spartan3 AN because of the integrated flash to prevent
clone-makers from cheap clones (the hardware costs only few bucks),
maybe they did it after someone already cloned (and then removed of course external config ROM) - if so
it would be cool to get older revision with config rom soldered (U1).

No matter now, just be carefull, if you shot this chip you can buy a new DDS.

EDIT:
@saturation
you don't have to ping the JTAG anylonger, we know now what soldered (well actually you can take a look inside, maybe you have old revision ...)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on February 23, 2011, 04:05:37 pm
you are welcome saturation. anytime if you want the fullscale image, just PM me, or if you want specific part of interest to be photographed, just ask, i'll be glad to take it for you to the best of my lens and skill ;). in the mean time, i just put it back in its clothing. @tinhead. i'm not capable to tinker with jtag or spartan, so i think i just use it as is. thanx for the info though, who knows i might have idea in the future.

any idea whats most probable causing the jitter in square wave at higher freq? i confirmed the +-5ns jitter. my speculation, its in the software, but i dont know. my speculation is based on the fact that this unit is using sample data to generate signal, not true "hardware generator" such as sin generator chip etc, so jitter might come from inconsistent (codelength) sample feed to the buffer/voltage converter etc. but still, i've not look/analyze the circuit detail enough and i'm not master in hardware, i just assuming based on my experience/background.

any good reference on how to convert (or the theory) this to network analyzer? i think i want to do this as an exercise when i got time.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on February 23, 2011, 07:32:27 pm
Hantek made this forum available with a new URL, for tech support:

http://www.hantek.org/asken/iasklist.aspx?cid=I00011&state=2 (http://www.hantek.org/asken/iasklist.aspx?cid=I00011&state=2)


Tinhead@ : thanks for those quick tips, I'll use that to check into the chip eventually.

mechatrommer@: you're welcome, if you find other interesting things with the 3x25, let us all know.  Your idea on the jitter is possible.  You can import the output waveform into the arb section by first selecting a fixed waveform, like sine, then hit the arb button, and it will show you all the data points.  So far, I haven't been able to find anything wrong with their sample, but let us know if you can improve on it!

As a 'network analyzer' all you do is check the phase, amplitude versus frequency of a system at higher frequencies.  I described it earlier with the Lissajou figure. 
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: bekir on February 25, 2011, 12:51:05 pm
Thanks bekir, when you replaced the signal generator that broke, did you repair it yourself, or bought a new 3x25?
I see from mechatrommer's photos the op amp is a LMH6702 and the comparator is TI TL3016; that's a pretty good op amp by the way.
To prevent further damage in high output tests you can put another op amp infront of this op amp and isolate it, just configure it as a voltage follower.

I've replaced it (LMH6702) myself, due to our limited budget I had no other option by that time. Input of the op-amp was giving the right waveform but output was shorted to ground. Maybe it is not the best way to not the degrade the performance, but I had only soldering iron at hand (I work in mech.eng. lab so we don't have reflow station or as such), so I hand soldered it. As you mentioned adding buffer will be the best option.

From your tests, did you check the quality of the sine wave output on any higher end equipment you have in your lab?  Particularly, what is the harmonic output of the sine waves; I'm just curious.  I only have a Rigol 1052e but I get nothing at its noise floor which is about -50 dBc.  A more sensitive instrument might show that the sine wave output is hifi audio quality, i.e., -90dBc or more.

I checked the output with an OWON oscilloscope which can not be a real measure i think. Also I have checked with Hantek DSO-2250 (100 mhz bw). Up to now I was using single frequency sine wave. To get the response accurately, I was sampling at least 2 or 3 periods then using linefitting methods on matlab.That also decrease error induced by noise. But as I mentioned ? am not experienced in this stuff so I am open to any suggestion. As for the tests, I may ask for the technicians in EE labs for better equipment is you wish.

Yep, we discussed using the Hantek as a source for making VNA calculations, I use Lissajou figures to make qualitative measurements for phase delay,  we just discussed this, find our threads on measuring phase shifts and the Hantek.
Your prime number test is interesting, to superimpose them, do you have multiple sine wave sources and measure simultaneously or did you send each prime individually then merge the waveform data?

I will check the thread right away. I have measured simultaneously. I have calculated voltage vs time in matlab then transfer it to DDS buffer. Maybe I can better explain by including part of the code:

Code: [Select]
    freqs=primes(64);                              % get prime numbers up to 64, 18 in total
    for j=1:length(freqs);
        yy=yy+sin(freqs(j)*2*pi*i+freqs(j)); % add unit amplitude sine wave at each prime freq multiple
    end
    yy=yy./max(yy);    % normalize to avoid saturation on output

I have added constant phase shifts between signals, this way fft works better. (I fft'ed yy for both 0 phase and this case, amplitude values closer to each other in this case).



Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: grenert on February 25, 2011, 03:15:43 pm
EDIT: well, i just quickly realized it. its not a bug, just my stupidity at using the dso. its called aliasing http://en.wikipedia.org/wiki/Aliasing (http://en.wikipedia.org/wiki/Aliasing) so case closed.

Dave was able to cause aliasing on the Rigol in his review of the new Agilent scope.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on February 26, 2011, 02:43:21 am
Dave was able to cause aliasing on the Rigol in his review of the new Agilent scope.
the better workaround for rigol is to use peakdetect or long memory resolution.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on February 26, 2011, 01:38:03 pm
All DSO have aliasing once your sampling rate is ~< 2x sampling rate used to view the signal.

With the 1052e, and the 3x25, generate a 1 MHz signal, AUTO the scope and look at the 1 MHz waveform.  Hit, MEASURE, select DISPLAY ALL.  You'll see 1 MHz on the frequency counter that is measured on the actual waveform shown on the scope.

Now, reduce the timebase to 20 ms.  Hit HORIZONTAL -MENU to see the sampling rate used by Rigol, 10ks/s, 100x less than the input signal.  You'll see a ~ wavery 15 Hz sine wave. 





EDIT: well, i just quickly realized it. its not a bug, just my stupidity at using the dso. its called aliasing http://en.wikipedia.org/wiki/Aliasing (http://en.wikipedia.org/wiki/Aliasing) so case closed.

Dave was able to cause aliasing on the Rigol in his review of the new Agilent scope.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on February 26, 2011, 01:57:29 pm
Thanks bekir, replacing the op amp and knowing the 3x25 works well thereafter suggests the op amp alone was defective, and no something else causing it to fail.

Sampling the same signal multiple times is a good way to cancel out the noise best, the scope's do the same via averaging.  To measure the quality of the sine wave best requires a spectrum analyzer or a scope with a noise floor below -90dBc, a scope using FFT and an ADC of 16 bits or more.

(http://upload.wikimedia.org/math/7/7/c/77c9446cd289507d93aea3ce30be36cb.png)

What are you trying to measure, the systems impedance, phase relationship and amplitude for a linear network?  Its been a while since I did anything with gross calculations with FFT, IIRC primes just allows mathcad to use DFT and make processing easier.

http://iopscience.iop.org/0957-0233/19/10/105102;jsessionid=A1AB9DB658381B0A964FEB3B70D6B429.c3 (http://iopscience.iop.org/0957-0233/19/10/105102;jsessionid=A1AB9DB658381B0A964FEB3B70D6B429.c3)



I've replaced it (LMH6702) myself,

To get the response accurately, I was sampling at least 2 or 3 periods then using linefitting methods on matlab.That also decrease error induced by noise. But as I mentioned ? am not experienced in this stuff so I am open to any suggestion. As for the tests, I may ask for the technicians in EE labs for better equipment is you wish.

Yep, we discussed using the Hantek as a source for making VNA calculations, I use Lissajou figures to make qualitative measurements for phase delay,  we just discussed this, find our threads on measuring phase shifts and the Hantek.
Your prime number test is interesting, to superimpose them, do you have multiple sine wave sources and measure simultaneously or did you send each prime individually then merge the waveform data?

I will check the thread right away. I have measured simultaneously. I have calculated voltage vs time in matlab then transfer it to DDS buffer. Maybe I can better explain by including part of the code:

Code: [Select]
   freqs=primes(64);                              % get prime numbers up to 64, 18 in total
    for j=1:length(freqs);
        yy=yy+sin(freqs(j)*2*pi*i+freqs(j)); % add unit amplitude sine wave at each prime freq multiple
    end
    yy=yy./max(yy);    % normalize to avoid saturation on output

I have added constant phase shifts between signals, this way fft works better. (I fft'ed yy for both 0 phase and this case, amplitude values closer to each other in this case).




Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: bekir on February 27, 2011, 07:37:34 pm
Thanks for the info on measurement of quality evaluation. I will ask ee lab. tech. for a better scope to test it.

What are you trying to measure, the systems impedance, phase relationship and amplitude for a linear network?  Its been a while since I did anything with gross calculations with FFT, IIRC primes just allows mathcad to use DFT and make processing easier.

http://iopscience.iop.org/0957-0233/19/10/105102;jsessionid=A1AB9DB658381B0A964FEB3B70D6B429.c3 (http://iopscience.iop.org/0957-0233/19/10/105102;jsessionid=A1AB9DB658381B0A964FEB3B70D6B429.c3)

What I want to measure at the end of the day is the complex capacitance of a sample. The reference is quite what I am trying to do. The difference in my setup is the measurement method. I am currently using "auto-balancing bridge method" as described in 10th reference in the paper (http://cp.literature.agilent.com/litweb/pdf/5950-3000.pdf (http://cp.literature.agilent.com/litweb/pdf/5950-3000.pdf)). From measured voltages (magnitude and phase), impedance is calculated. I want to see if a material can be modeled with existing relaxation models such as Debye.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on March 14, 2011, 08:52:32 pm
am playing with synch out. tried the 6mhz and 7mhz as in picture. it seems like some software-like trick, or leap year style of trick, it will either shorten the valley, or longer the peak at some interval. i'm assuming it tried to reach the set freq as it only doing at some multiple of freq, when you set not in this multiple, then this leap year trick will happened.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on March 14, 2011, 09:52:11 pm
more test...
yellow=synch out
blue=hantek out

b_o = synch out (notice the glitch)
b_q = square out (multiple at 1mhz, 1.37mhz = out of multiple)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on March 14, 2011, 09:58:20 pm
b_r = ramp output at 24&25mhz, 25mhz got in multiple.
b_s = sine output at 30&40mhz, u should already know which is not in multiple.
pls note mhz is megahertz, i lazy to type "shift" key.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on March 14, 2011, 10:02:06 pm
b_t = trapezia at 10,12,20 mhz.
pop quiz... which one is in multiple?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on March 14, 2011, 10:04:41 pm
conclusion... if you need both synch and out port, really you need to check whether you are in multiple or not before doing your circuit, otherwise you'll lose hair. if you dont understand, ask. if not, dont buy Hantek 3x25 :P
ps: the good news is... this model is obsolete.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on March 14, 2011, 10:37:14 pm
Are you terminating both the sync and signal output of the 3x25 with 50 ohms, as its needed?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on March 14, 2011, 10:43:20 pm
err, no :( only the synch out got terminated. whats the effect? i only can think of somesort of loading stuff ???
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on March 14, 2011, 11:34:36 pm
Yes, if not properly terminated on both outputs, the values are unstable at that high frequency.  Second the sync signal is only good to 25 MHz, which its what its rated for, above it is also unstable. 

You can generate sine wave with reduced amplitude to 75 MHz, but you can only sync internally.

As you can see my outputs are no where looking like yours.

Yellow = Output
Blue = Sync out
Purple = FFT at rectangular, clean to 25 MHz, no visible harmonics at this scale.

Its phase shifted, as I wrote in this thread, but the signal is cleaner.  It also shows the importance of the right cables and terminating impedances.  I don't have the ringing you have in the other posts regarding making cables.

Enjoy!  The skills in analog electronics will last a lifetime, its worth putting effort into, it hasn't changed in ~ 100 years.


err, no :( only the synch out got terminated. whats the effect? i only can think of somesort of loading stuff ???
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on March 15, 2011, 01:01:30 am
well ok, i tried my best to make similar setting as yours. made a quick fix 50ohm for the second terminator (i cannot sacrifice another bnc connector, i only have 3 left, 2 died during soldering, gotta use the dc-bnc type) still i got ringing in synch out, maybe the 75ohm impedance connector is the culprit. and i dont understand why you say you have a clean FFT for your square signal, as i understand square consists of alot of harmonics.

redo the test with both (crude) terminated, my previous conclusion still hold, still the same graphs except the output amplitude now is halved due to termination. and i swap yellow=signal, blue=synch to comply with saturation's setting. i provided only one snapshot (lazy to repost the whole series again). c_t_12mhz.jpg = trapezia (terminated) at "not multiple" 12mhz.

mind to show your cable? :P ;D
ps: the time now is 9AM, and i think i'm retiring for today, will continue at 3-4PM... today. hava nice day ;)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on March 15, 2011, 03:13:08 pm
It looks better.  Your FFT on the sync output has no other spurs except expected for a 'clean' square wave, = 3rd and 5th harmonic, 75 MHz and 125 MHz.

(https://www.eevblog.com/forum/index.php?action=dlattach;topic=2170.0;attach=6485;image)

You needn't sacrifice anything if you bought the right stuff, sorry to say.

Your device requires 50 ohms, but you have a mix of items that will cause non-ideal responses as its not terminated correctly, it was OK to get a better waveform rather than have no termination, but as you try to improve it to ideal, your chances of success will not be good.  As I see it you have a 75 ohm cable, 75 ohm BNC connectors, 50 ohm resistor of unknown composition, I hope its not carbon composite or wire wound, its not the ideal terminator.  The proper resistor is a SMT type thin or thick film.  And if you have long leads sticking out like you have in the photo, it will cause unpredictable responses.

(https://www.eevblog.com/forum/index.php?action=dlattach;topic=2170.0;attach=6488;image)


http://books.google.com/books?id=zpTnMsiUkmwC&pg=PA2&lpg=PA2&dq=carbon+composition+resistors+parasitic+capacitance&source=bl&ots=B4EZfXzDc0&sig=geOY4nFYqO7RziVEOsQrWVwT5Ko&hl=en&ei=Nnh_TfyBMMmD0QGem72ECQ&sa=X&oi=book_result&ct=result&resnum=1&ved=0CBsQ6AEwAA#v=onepage&q=carbon%20composition%20resistors%20parasitic%20capacitance&f=false (http://books.google.com/books?id=zpTnMsiUkmwC&pg=PA2&lpg=PA2&dq=carbon+composition+resistors+parasitic+capacitance&source=bl&ots=B4EZfXzDc0&sig=geOY4nFYqO7RziVEOsQrWVwT5Ko&hl=en&ei=Nnh_TfyBMMmD0QGem72ECQ&sa=X&oi=book_result&ct=result&resnum=1&ved=0CBsQ6AEwAA#v=onepage&q=carbon%20composition%20resistors%20parasitic%20capacitance&f=false)

My clean FFT is for against the sine wave, and it refers to your image here, not sure why you have so many spurs although this is FFT at the dB view:
(https://www.eevblog.com/forum/index.php?action=dlattach;topic=2673.0;attach=6432;image)

I'd be more than happy to show you my cables, but its just generic from Jameco.com and MPJA.com.  50 and 75 ohm cables and connectors cost the same amount of money, so buying 75 ohms instead of 50 ohms well, is a path down the wrong road.

The bright side, is its all a learning experience for a better future.  When I get hold of my scope, I'll duplicate what you did in the photo with the 12 MHz triangle wave.



well ok, i tried my best to make similar setting as yours. made a quick fix 50ohm for the second terminator (i cannot sacrifice another bnc connector, i only have 3 left, 2 died during soldering, gotta use the dc-bnc type) still i got ringing in synch out, maybe the 75ohm impedance connector is the culprit. and i dont understand why you say you have a clean FFT for your square signal, as i understand square consists of alot of harmonics.

redo the test with both (crude) terminated, my previous conclusion still hold, still the same graphs except the output amplitude now is halved due to termination. and i swap yellow=signal, blue=synch to comply with saturation's setting. i provided only one snapshot (lazy to repost the whole series again). c_t_12mhz.jpg = trapezia (terminated) at "not multiple" 12mhz.

mind to show your cable? :P ;D
ps: the time now is 9AM, and i think i'm retiring for today, will continue at 3-4PM... today. hava nice day ;)

Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on March 15, 2011, 03:39:33 pm
A 50 ohm terminator, similar to most folks use, about $2 each.  You connect these to one end of a split connector, such as the T.
(http://www.mpja.com/images/7547.jpg)

T connector, about $2.50 each.  Insure they are 50 ohm types.
(http://www.mpja.com/images/0511.jpg)

These are $10 each, and its straight through.  Cost more than the setup above.  There maybe some advantages to the shape of this connector at very high frequencies, but the above works for most purposes, particularly within the range fo the Rigol 1052e and the 3x25.
(http://www.mpja.com/images/16549.jpg)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on March 15, 2011, 04:06:23 pm
well, whats the purpose of the last one?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on March 15, 2011, 04:53:35 pm
Its one piece and since its straight, it may do better in highest frequencies.  For high frequencies you need to avoid sharp 90 deg bends in any conductors [like the T connector], it can induce capacitances that can alter Zo, but practically speaking I think you can use T or Y adapters to over 300 MHz.

See under 'routing'.  
http://www.icd.com.au/articles/emc.html (http://www.icd.com.au/articles/emc.html)

For more info a google search term is signal integrity. For one reference that has everything, see 'High Speed Digital Design.'

(http://www.prenhall.com/covergif/0133957241.jpg)



well, whats the purpose of the last one?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on March 15, 2011, 09:54:53 pm
(https://www.eevblog.com/forum/index.php?action=dlattach;topic=2170.0;attach=6488;image)

I presume this is trapezoid waveform, yellow, and blue is sync signal.  Not sure which frequency used, so my screen captures are for 12.5 z.

The FFT is to show that the harmonics present in the waveform is to confirm its trapezoidal, not sine as they look very similar.  My mistake, your previous images with the harmonics explains that.  I'll correct my reply.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: alm on March 15, 2011, 11:09:47 pm
50 ohm resistor of unknown composition, I hope its not carbon composite or wire wound, its not the ideal terminator.
What's wrong with carbon composition for this purpose? Before alternatives like thin film came around, this was actually the resistor of choice for high-frequency work. Wire wound can be OK if it's wound with an Aryton-Perry winding (cancels most of the inductance), otherwise it's obviously horrible. Even the extra ~10nH of a carbon/metal film resistor shouldn't be an issue, and I wouldn't expect major issues with 50/75 ohm mismatch either. I agree with your other points, though, and in my opinion this setup looks more suitable for connecting a light bulb than a high(ish) frequency signal. This is not DC or audio (which is basically the same), you can't just splice two wires together and expect good signal integrity.
Title: mechatrommers bug!
Post by: saturation on March 16, 2011, 12:02:59 am
Mecha has found a new bug in the 3x25. I think I understand now what he was saying by 'multiple' and 'leap year trick'.   I had time to duplicate some of his tests and he discovered a new problem with the sync signal.  Its exactly what he describes but I couldn't understand what his metaphor was.

Its part of dajones original complaint that isn't solved completely by fixing the impedance.

At certain frequencies the sync and the Voutput remain unsynchronized!  There are however, frequencies that you can synchronize but this bug can certainly throw people off.  This is was mecha was referring as 'multiple'.  In between certain values the sync signal and the output signal are not identical, so you cannot sync both waveforms until you reach the 'multiple'.

This doesn't affect Vout, but it does affect using the sync signal to lock in Vout, if you choose.

That's why he couldn't sync at 12MHz but I can at 12.5 MHz.



Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on March 16, 2011, 12:48:37 am
Hi alm,

I've never really experimented with using carbon composite for anything above 1 MHz. I should give that a whirl and report back if I still composites around.  Heard of a type of induction canceling resistor that must have been it, but I've never seen one:  
http://en.wikipedia.org/wiki/Ayrton-Perry_winding (http://en.wikipedia.org/wiki/Ayrton-Perry_winding)

When composite was popular, I'd suspect 'high frequency ' was at a lower range compared to today.  

In mecha's tests, given harmonics of the waveform used, and the sensitivity of the sync to output impedance, I'd strongly suspect cabling plays a bigger role in the waveforms appearance but the 3x25 design flaws are responsible for the lack of synchronization. Viewing each channel using a different trigger and the right impedance produces a relatively clean waveform, see another post.

http://books.google.com/books?id=zpTnMsiUkmwC&pg=PA2&lpg=PA2&dq=carbon+composition+resistor+frequencies&source=bl&ots=B4EZgRvC7Y&sig=qJiDRN3VxUrlkxH2Rb2aQ5kBtLU&hl=en&ei=PASATfuTEsSM0QGujIX7Dw&sa=X&oi=book_result&ct=result&resnum=10&ved=0CFgQ6AEwCQ#v=onepage&q=carbon%20composition%20resistor%20frequencies&f=false (http://books.google.com/books?id=zpTnMsiUkmwC&pg=PA2&lpg=PA2&dq=carbon+composition+resistor+frequencies&source=bl&ots=B4EZgRvC7Y&sig=qJiDRN3VxUrlkxH2Rb2aQ5kBtLU&hl=en&ei=PASATfuTEsSM0QGujIX7Dw&sa=X&oi=book_result&ct=result&resnum=10&ved=0CFgQ6AEwCQ#v=onepage&q=carbon%20composition%20resistor%20frequencies&f=false)


50 ohm resistor of unknown composition, I hope its not carbon composite or wire wound, its not the ideal terminator.
What's wrong with carbon composition for this purpose? Before alternatives like thin film came around, this was actually the resistor of choice for high-frequency work. Wire wound can be OK if it's wound with an Aryton-Perry winding (cancels most of the inductance), otherwise it's obviously horrible. Even the extra ~10nH of a carbon/metal film resistor shouldn't be an issue, and I wouldn't expect major issues with 50/75 ohm mismatch either. I agree with your other points, though, and in my opinion this setup looks more suitable for connecting a light bulb than a high(ish) frequency signal. This is not DC or audio (which is basically the same), you can't just splice two wires together and expect good signal integrity.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on March 16, 2011, 08:49:29 am
yes it was dajones try to highlight it in not so comprehensive report/post. i'm yet to figure out whats the basic 'multiple' of this to get "synh out" and "signal" synchronized. and for my non ideal cabling, i think at the same time it will prove how sensitive and stable the 3x25 to any slight impedance mismatch or imperfection in the circuit design. i still highly suspect its the software issue, but then to re-open and check how the hardware perform is my next "to do" list. but the easiest so far i think is to find this "basic multiple" so to work the 3x25 reliably with "synch out" port as if it turn out that this is a software issue, i still incapable to access/mod the spartan (big) chip.

recap...
Quote
The Hantek DDS 3x25 is a solid function generator with arbitrary waveform capability, far better in performance than most analog function generators, in its price range or with similar specifications.  It one of the lowest cost 25 MHz capable DDS function generator on the market, and likely the only one with AWG capability.
Man, I don't understand how you can say that!
The thing glitches like crazy for square waves above 2.5mhz ( except a few stable spots like 10mhz ).
The sync out line has no timing relationship to the output signal except at those rare "stable" spots.
The sync out line glitches every 20us ( 50khz ) and will glitch any output waveform other than sine waves.
I could NEVER recommend this to anyone, except maybe as a source of sine waves, and as long as you
didn't need to use the sync out line at all.
If you did your stability test at one of the "stable" spots ( like 10mhz ) you might want to try it again at 10.1mhz.

Xilinx DS529 Spartan-3A FPGA Family Data Sheet (http://www.xilinx.com/support/documentation/data_sheets/ds529.pdf)
made a quick view, synch out is from IO_L01P_0 (pin 110). but what the hell, FPGA knowledge is not within my reach :( :P
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on March 16, 2011, 06:19:59 pm
i run a program to get the LCM... not found! ah sux! you have to chart the 'in synch' frequency manually, there is no 'multiple' anymore. and i tried to look at the 'leap year' effect using pulse trigger, they seem to occur at regular or constant interval, though i need to crank up the timescale and look carefully at those many small oscillation to see 2 consecutive 'leap year' or 'out of synch' as dajones highlighted as in his picture below. so i still highly suspect this is software issue or vhdl or verilog or whatever it is :P

(http://www.djconsult.com/cccFile0.bmp)

though, 'in synch' seem to be reliable up to 2MHz regardless of any frequency you are putting in, eg 1.3, 1.8MHz etc, but jitter seem to worsen at some odd numbers.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on March 16, 2011, 06:54:28 pm
here i present a steady display of:
1) 'leap year' effect @ 1.981 MHz
2) 'dajones out of synch' glitch @ 2.3 MHz
(note: unterminated synch out again :P)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on March 16, 2011, 08:00:19 pm
A comparison of effects of better cables on the waveform you have demo'd.
Some of instability has relation to the quality of the connections, but its not as big a contributor as the Hantek software bug.  Using persistence mode.  Most striking is a negative glitch is half the magnitude.

Mecha's 10 MHz.

(https://www.eevblog.com/forum/index.php?action=dlattach;topic=2170.0;attach=6477;image)

Saturations 10 MHz.
(https://www.eevblog.com/forum/index.php?action=dlattach;topic=2170.0;attach=6538;image)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on March 16, 2011, 08:10:42 pm
Here's a sample of the Hantek output, yellow and the sync output, blue, with the Hantek programmed for 12MHz.

They are general 'clean' but off, so its not possible to sync both signals together onto the 1052e with the standard triggers, which uses one channel to trigger both channels, or even the ext sync input.

However, if you set the Rigol to 'alternate' mode, it will trigger each channel separately.  You can now estimate the difference in the frequency between each channel.


Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: alm on March 16, 2011, 09:31:36 pm
When composite was popular, I'd suspect 'high frequency ' was at a lower range compared to today.
Yep, it was probably only up to 500MHz or so those days, although I don't see any inherent reason why they wouldn't work above that (until lead inductance becomes an issue). I wasn't suggesting using them in new designs (they're pretty much obsolete), but they're definitely better for high frequencies than most other common through-hole types (does anyone even make SMD carbon composition resistors?), like metal film and carbon film.

http://books.google.com/books?id=zpTnMsiUkmwC&pg=PA2&lpg=PA2&dq=carbon+composition+resistor+frequencies&source=bl&ots=B4EZgRvC7Y&sig=qJiDRN3VxUrlkxH2Rb2aQ5kBtLU&hl=en&ei=PASATfuTEsSM0QGujIX7Dw&sa=X&oi=book_result&ct=result&resnum=10&ved=0CFgQ6AEwCQ#v=onepage&q=carbon%20composition%20resistor%20frequencies&f=false (http://books.google.com/books?id=zpTnMsiUkmwC&pg=PA2&lpg=PA2&dq=carbon+composition+resistor+frequencies&source=bl&ots=B4EZgRvC7Y&sig=qJiDRN3VxUrlkxH2Rb2aQ5kBtLU&hl=en&ei=PASATfuTEsSM0QGujIX7Dw&sa=X&oi=book_result&ct=result&resnum=10&ved=0CFgQ6AEwCQ#v=onepage&q=carbon%20composition%20resistor%20frequencies&f=false)
You can't view this page, viewing limit has been reached. What did it say?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on March 16, 2011, 11:27:44 pm
Hi alm, sorry the link didn't work.  I've copied it here.  Now we can easily get 100 MHz for home labs, and 500 MHz is not outrageously priced.  When perusing various references, the word 'excellent high frequency response' and 'poor response' for carbon composition resistors are used by almost an even split of different EE articles [ not hobbyist level links] and seem contradictory. You'll notice that on a google search.   But the authoritative references like Fink's EE Handbook and most top references do us a favor and publish relative response curves.  

Here are 2 books with viewable pages online:

http://www.amazon.com/Circuit-Design-Second-Christopher-Bowick/dp/0750685182/ref=cm_cr_pr_product_top (http://www.amazon.com/Circuit-Design-Second-Christopher-Bowick/dp/0750685182/ref=cm_cr_pr_product_top)

http://www.amazon.com/Reference-Data-Engineers-Ninth-Communications/dp/0750672919/ref=sr_1_1?ie=UTF8&qid=1300319322&sr=8-1 (http://www.amazon.com/Reference-Data-Engineers-Ninth-Communications/dp/0750672919/ref=sr_1_1?ie=UTF8&qid=1300319322&sr=8-1)

Maybe the contradictory opinion on carbon composition resistors is that for high frequency use, its mostly just for historical interest as its just not used for that purpose today.

When composite was popular, I'd suspect 'high frequency ' was at a lower range compared to today.
Yep, it was probably only up to 500MHz or so those days, although I don't see any inherent reason why they wouldn't work above that (until lead inductance becomes an issue). I wasn't suggesting using them in new designs (they're pretty much obsolete), but they're definitely better for high frequencies than most other common through-hole types (does anyone even make SMD carbon composition resistors?), like metal film and carbon film.

http://books.google.com/books?id=zpTnMsiUkmwC&pg=PA2&lpg=PA2&dq=carbon+composition+resistor+frequencies&source=bl&ots=B4EZgRvC7Y&sig=qJiDRN3VxUrlkxH2Rb2aQ5kBtLU&hl=en&ei=PASATfuTEsSM0QGujIX7Dw&sa=X&oi=book_result&ct=result&resnum=10&ved=0CFgQ6AEwCQ#v=onepage&q=carbon%20composition%20resistor%20frequencies&f=false (http://books.google.com/books?id=zpTnMsiUkmwC&pg=PA2&lpg=PA2&dq=carbon+composition+resistor+frequencies&source=bl&ots=B4EZgRvC7Y&sig=qJiDRN3VxUrlkxH2Rb2aQ5kBtLU&hl=en&ei=PASATfuTEsSM0QGujIX7Dw&sa=X&oi=book_result&ct=result&resnum=10&ved=0CFgQ6AEwCQ#v=onepage&q=carbon%20composition%20resistor%20frequencies&f=false)
You can't view this page, viewing limit has been reached. What did it say?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: alm on March 16, 2011, 11:59:36 pm
Thanks for the info, I wasn't aware of the parasitic capacitance. Most sources I've seen (eg. this (http://www.microsemi.com/datasheets/SG1626.PDF) and this (http://140.120.11.1/prophys/ael/File/Datasheet/MAX4112-3.pdf), just random datasheets) seem to consider them superior to metal film for high frequency (thin film is obviously superior). The first datasheet recommends carbon composition for a part that has transition times of 20-30ns, not exactly GHz speed, but no 10MHz either.

I find it suspicious that the graph has only one curve for carbon composition, I can't imagine parasitic capacitance having the same influence at say 1ohm and 1Mohm. I also doubt that all carbon composition resistors are useless beyond 10MHz, lots of equipment from the seventies and earlier was full of carbon composition (wirewound was inductive, and metal film expensive), many of it can go beyond 10MHz. I'd have to check if for example the Tek TM500 series (which uses lots of carbon composition and multiple plugins go up to 250MHz) use metal film in all places that need to pass high frequency. I believe carbon comp was frequently used as termination resistor, but if they'd only work up to <10MHz, they'd be almost useless, since you need fairly long cables to even notice the transmission line effect at that frequency.

I just checked, the Tek PG-502 (250MHz pulse generator with a rise time of <1ns) uses two ~50ohm carbon composition resistors (as indicated in the electrical parts list) as switchable rear termination, with no reactive components nearby to compensate for parasitics. It would need about 350MHz bandwidth to reproduce the 1ns edge, can't imagine that the termination has a zero impedance (extrapolating from the graph you posted) at those frequencies. These were just the first resistors I checked, there are many more carbon composition resistors in there (and in similar equipment of that vintage). There are some 1% metal film resistors, but they're there because of accuracy/stability. This doesn't mean that carbon comp is superior to metal film for HF, but it does suggest that carbon comp works well beyond 10MHz.

Maybe there are different ways of producing a carbon composition resistor? That would explain the conflicting data, although I've never seen something like a 'low-capacitance carbon comp resistor'.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: grenert on March 17, 2011, 08:49:03 am
How about these MELF resistors?  Vishay claims they're good to 10 GHz+
http://www.vishay.com/docs/28718/melfhf.pdf (http://www.vishay.com/docs/28718/melfhf.pdf)

They say low inductance, but no mention of capacitance.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on March 17, 2011, 08:44:37 pm
Except for wirewound and carbon composites, where only certain special types or conditions can be used, most film types are easily used to the GHz, its more a question of better and best, and then what is good enough to reduce parts cost.

How about these MELF resistors?  Vishay claims they're good to 10 GHz+
http://www.vishay.com/docs/28718/melfhf.pdf (http://www.vishay.com/docs/28718/melfhf.pdf)

They say low inductance, but no mention of capacitance.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on March 17, 2011, 08:48:15 pm
Yes, just slightly amplified, it just shows that 75 vs 50 ohm for this application, the differences are not so striking.  But note the frequency count of your image capture, its 10.0210 MHz versus 10.0000 MHz on mine, for the same waveform.  The Rigol might be reading glitches as the slight difference, as frequency rises those glitches could cause more effects that can be eliminated with proper connections. 

 
Most striking is a negative glitch is half the magnitude.
its there, i just amplified it using improper connection (ringing?) ;)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on March 17, 2011, 10:23:52 pm
As always, alm, you pose the most interesting questions.  Thanks for those spec sheets.  Yes, saw the mention of 'high frequency' again.  The other part of resistor articles from those references say that the frequency response deteriorates at increasingly higher resistance ratings but moreso for carbon composition resistors, CCR [excluding standard wire wound for obvious reasons.]   Probably the best thing we can do is get a spec sheet from a CCR manufacturer, I'm sure they won't deceive us!

http://www.koaspeer.com/pdfs/RC_SS-263_R4.pdf (http://www.koaspeer.com/pdfs/RC_SS-263_R4.pdf)

See the frequency spec with its X axis being MHz*MOhm.

I think that if a device worked with variable frequencies, one could compensate for the changes in impedance by choosing resistors of lowest values, whenever possible.  This causes higher power consumption but more consistent response.

Likewise, if the device worked at a narrower range of frequencies and required high value carbon composition resistors, then even if actual resistances are reduced, a designer could work with that predictable characteristic and simply choose a higher ohm resistor to compensate for the reduction.

Here's a US Navy document regarding application of CCR in USN electronics:

http://www.google.com/url?sa=t&source=web&cd=17&ved=0CDsQFjAGOAo&url=http%3A%2F%2Fwww.everyspec.com%2FUSN%2FNAVSEA%2Fdownload.php%3Fspec%3DTE000-AB-GTP-010_R1-CHG-A.030031.pdf&rct=j&q=variations%20of%20carbon%20composition%20resistor%20high%20frequency%20use&ei=lnuCTZXOA474gAeBy7jbCA&usg=AFQjCNGTf2y90OvaLGY6o3qA0mLGOYEyPg&cad=rja (http://www.google.com/url?sa=t&source=web&cd=17&ved=0CDsQFjAGOAo&url=http%3A%2F%2Fwww.everyspec.com%2FUSN%2FNAVSEA%2Fdownload.php%3Fspec%3DTE000-AB-GTP-010_R1-CHG-A.030031.pdf&rct=j&q=variations%20of%20carbon%20composition%20resistor%20high%20frequency%20use&ei=lnuCTZXOA474gAeBy7jbCA&usg=AFQjCNGTf2y90OvaLGY6o3qA0mLGOYEyPg&cad=rja)


In this rather large image, a curious enthusiast note that the only way to confirm a CCR is really to break in open, stating that some CCR sold since the 1970s actually contained film technology:

http://www.w8ji.com/beverages.htm (http://www.w8ji.com/beverages.htm)

Thanks for the info, I wasn't aware of the parasitic capacitance. Most sources I've seen (eg. this (http://www.microsemi.com/datasheets/SG1626.PDF) and this (http://140.120.11.1/prophys/ael/File/Datasheet/MAX4112-3.pdf), just random datasheets) seem to consider them superior to metal film for high frequency (thin film is obviously superior). The first datasheet recommends carbon composition for a part that has transition times of 20-30ns, not exactly GHz speed, but no 10MHz either.

I find it suspicious that the graph has only one curve for carbon composition, I can't imagine parasitic capacitance having the same influence at say 1ohm and 1Mohm. I also doubt that all carbon composition resistors are useless beyond 10MHz, lots of equipment from the seventies and earlier was full of carbon composition (wirewound was inductive, and metal film expensive), many of it can go beyond 10MHz. I'd have to check if for example the Tek TM500 series (which uses lots of carbon composition and multiple plugins go up to 250MHz) use metal film in all places that need to pass high frequency. I believe carbon comp was frequently used as termination resistor, but if they'd only work up to <10MHz, they'd be almost useless, since you need fairly long cables to even notice the transmission line effect at that frequency.

I just checked, the Tek PG-502 (250MHz pulse generator with a rise time of <1ns) uses two ~50ohm carbon composition resistors (as indicated in the electrical parts list) as switchable rear termination, with no reactive components nearby to compensate for parasitics. It would need about 350MHz bandwidth to reproduce the 1ns edge, can't imagine that the termination has a zero impedance (extrapolating from the graph you posted) at those frequencies. These were just the first resistors I checked, there are many more carbon composition resistors in there (and in similar equipment of that vintage). There are some 1% metal film resistors, but they're there because of accuracy/stability. This doesn't mean that carbon comp is superior to metal film for HF, but it does suggest that carbon comp works well beyond 10MHz.

Maybe there are different ways of producing a carbon composition resistor? That would explain the conflicting data, although I've never seen something like a 'low-capacitance carbon comp resistor'.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: ElektroQuark on March 18, 2011, 08:22:45 am
Please, reduce image. Thank you.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on March 18, 2011, 02:07:12 pm
Its linked, not my own.  I've removed it, you can see it at the website.

Please, reduce image. Thank you.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: alm on March 18, 2011, 09:26:53 pm
The other part of resistor articles from those references say that the frequency response deteriorates at increasingly higher resistance ratings but moreso for carbon composition resistors, CCR [excluding standard wire wound for obvious reasons.]
That sounds more believable.

Probably the best thing we can do is get a spec sheet from a CCR manufacturer, I'm sure they won't deceive us!

http://www.koaspeer.com/pdfs/RC_SS-263_R4.pdf (http://www.koaspeer.com/pdfs/RC_SS-263_R4.pdf)
Thanks for the real data, most manufacturers don't give any data beyond DC.

See the frequency spec with its X axis being MHz*MOhm.
That would explain the conflicting information. The 50 ohm resistors I quoted would be good up to 10GHz or so. Unlikely, since lead inductance will be an issue, but never mind that, 350MHz should be fine. A 1Mohm resistor would only be good to 0.5MHz or so.

I think that if a device worked with variable frequencies, one could compensate for the changes in impedance by choosing resistors of lowest values, whenever possible.  This causes higher power consumption but more consistent response.
You usually want lower impedance circuits at higher frequencies anyway, because otherwise parasitic capacitance (eg. between traces) will swap your resistors, even with ideal resistors. Plus 1Mohm transmission lines are kinda impractical ;).

Likewise, if the device worked at a narrower range of frequencies and required high value carbon composition resistors, then even if actual resistances are reduced, a designer could work with that predictable characteristic and simply choose a higher ohm resistor to compensate for the reduction.
I'm not sure how stable the parasitic capacitance is, both over time and between samples. The figures give just typical data. But there's really no reason not to use something superior like thin film these days, you don't want those inductive leads at high frequencies anyway.

Here's a US Navy document regarding application of CCR in USN electronics:

http://www.google.com/url?sa=t&source=web&cd=17&ved=0CDsQFjAGOAo&url=http%3A%2F%2Fwww.everyspec.com%2FUSN%2FNAVSEA%2Fdownload.php%3Fspec%3DTE000-AB-GTP-010_R1-CHG-A.030031.pdf&rct=j&q=variations%20of%20carbon%20composition%20resistor%20high%20frequency%20use&ei=lnuCTZXOA474gAeBy7jbCA&usg=AFQjCNGTf2y90OvaLGY6o3qA0mLGOYEyPg&cad=rja (http://www.google.com/url?sa=t&source=web&cd=17&ved=0CDsQFjAGOAo&url=http%3A%2F%2Fwww.everyspec.com%2FUSN%2FNAVSEA%2Fdownload.php%3Fspec%3DTE000-AB-GTP-010_R1-CHG-A.030031.pdf&rct=j&q=variations%20of%20carbon%20composition%20resistor%20high%20frequency%20use&ei=lnuCTZXOA474gAeBy7jbCA&usg=AFQjCNGTf2y90OvaLGY6o3qA0mLGOYEyPg&cad=rja)
They suggest up to 1MHz, which agrees with Koa's data with resistances up to 1Mohm or so.

In this rather large image, a curious enthusiast note that the only way to confirm a CCR is really to break in open, stating that some CCR sold since the 1970s actually contained film technology:
So that's who the Chinese distributors selling carbon film as metal film learned from ;).
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on March 18, 2011, 09:50:02 pm
Here's an interesting article about the history of film vs carbon composition, in the context of Japan's emergence from WWII.  Not many historical articles exist about component development at an industrial level.

http://ieeeghn.com/wiki/images/c/c2/Takahashi,_Japanese_Electronics_after_WWII.pdf (http://ieeeghn.com/wiki/images/c/c2/Takahashi,_Japanese_Electronics_after_WWII.pdf)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on April 02, 2011, 05:03:42 pm
this is an update. and partly a correction to my previous post/report on "leap year", "dajones glitch" and "non-synched non-multiple" effect. now i'm not sure whether the internal firmware/software in hantek 3x25 is problematic, but i think there is workaround. my last report is worsen by the fact that the pc software dds-3x25 usb (3.2.1.7) is not done properly to handle this "buggy" effect. hence uploading a flawed data to the 3x25 and revealing the "buggy" effect especially the worst out-of-synch "signal" vs "synch out" output.

with proper calculation on the data length to be sent to the 3x25, from my incomplete observation, all the three unwelcomed effect seem to be resolved (dissapear), as demonstrated by this demo tool. there is no more "not-multiple and glitch/out of synch", except the 3x25 "synch out" signal seems to have lower resolution at high speed signal ie you cannot type in freq 35MHz and expect the synch signal to be exactly that, there is gap that it will only generate signal either 33.3MHz or 39.999MHz etc. the same to the reported capability of 75MHz, its not, even if the signal can generate 75MHz sine, but its synch output will only be 100MHz at some signal freq range (70-75MHz), this explained why "out-of-synch" occured. and lastly the sine attenuation at that (fast) frequency is also a pc-software artifact, not entirely hardware.

bottom line. all the reported bugs so far, are easily avoided by pc software means. so up to now i will give hantek 3x25 AWG a full "four" thumbs up!
ps: i forgot to mention that i found out something like "golden frequency" for this device is 50KHz or 200MHz, but i cannot explain what or how, its just there.

edit: demo.zip is just a simple tool with nothing much to do, browse further this thread for more complete software tool. cheers
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on April 04, 2011, 08:01:02 pm
i've been lack in sleep for the past several hours. tried to work hard to get my hantek synch stable and in phase. i ask help if any hantek owner can make a test on this little demo/tester program if it can generate stable and in-phase signal vs synch output on their 3x25 unit. any reply and pictures will be appreciated. it use a re-calibration table (calib.csv) so you can adjust the shift angle value in there. just dont abuse the little tool, such as entering alphabet in frequency value etc. i havent made any proper checking for invalid input. hope will hear my program works.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on April 04, 2011, 08:27:30 pm
AWESOME WORK Mecha, will give it a try and report back.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Bored@Work on April 04, 2011, 08:43:35 pm
Has someone seen a Linux driver for that thing, or at least some project where the USB interface is reverse-engineered?
Title: mechatrommer has fixed the Hantek sync bug!! FANTASTIC!
Post by: saturation on April 08, 2011, 12:41:20 am
It has to be seen in video.  10/10 terrific job, mecha!  You're done to Hantek what eevblog has done to Rigol 1052e.


Mechatrommer Genius Work! (https://www.youtube.com/watch?v=0wK_jq4Y2oE#)

A closer look at 3x25 sync signal repair by Meccatrommer (https://www.youtube.com/watch?v=6kF7ndvOo-Y#)

Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on April 08, 2011, 08:25:00 am
:D :D :D man! i didnt expect it will be on video. and pls dont exagerate pal, its embarassing, i kind of over flattered, but thanx for the video effort. but i still dissapointed you didnt mention that now 3x25 support sawtooth wave :P nevermind its 100% ok. there is no magic in it, just a simple "remainder theorem" i think. and all rectification are done in software. several thing i want to point out...

1) the glitch and irregularity in "square synch out" is the property of the hardware, i've done nothing to repair it. its just automatic, and from my observation, "square synch" irregularity is affected by signal shape and phase just as shown in pictures below (note the notches location on square)

2) i made different 50ohm BNC cable and now i can read both signal at terminated setting (my previous pictures showed non terminated signal, but terminated synch output). with different cable and termination setup, my phase calibration no longer works. as also shown in the same pictures below (synch_vs_signal.jpg), by right they should be 0 degree phase shift, bt not anymore. so i think its the instability in the hardware, not much i can do. worst in highest freq range 100MHz, at 2 points per period, i will no longer able to shift between 0 and 180 degree. so its a bad news.

i would love to expand the software to include arbitrary point editing, to make it more flexible compared to hantek bundled software. but i think i need more vote on it since it will take much more time, and its still workable in the bundled software. i believe people like saturation will have no problem solving problem with the bundled hantek software. as for now, i still concentrate on how to (1) make the signal in-phase and (2) minimize signal attenuation by using some algorithm. about the former (1) since fom my test and observation... different cable setup and highly probably different circuit in real application will need different calibration value, so it will be difficult and i think we still need to look closely the "signal vs synch phase difference" during our real work.

and lastly, its not a genius work, its just a devotion to make a better thing and an appreciation on information sharing, so our one sleepless night will not just be benefited by us alone, but by many others and propagate throughout... Cheers.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on April 08, 2011, 08:55:25 am
and lastly, but not least. this hantek can be made to work down to 0.5Hz (extended lower limit. capable 0.75, 0.63 and any decimal between sub 1Hz and 0.5Hz) the spec said only down to 1Hz, so another exploit. but the synch output only can go down to 1Hz, so less than 1Hz signal is not synched. in the little tool you can see less than 1Hz signal by entering the freq and disable the "Stable Synch / Jitter" option.
ps: if you found out something you stumbled (cannot do) with existing (bundled and the little tester) software. be glad to ring me a bell.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on April 08, 2011, 09:31:31 am
fooling around with sub hz, i found interesting thing. the fpga tries its best to synch at any frequency by means of previously mentioned "dajones glitch" and "leap year effect". now we can study those in great stability at sub hz frequency as shown in the picture.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on April 08, 2011, 02:07:50 pm
You still need the applause mecha, as you've substantially improved the functionality of this device!  Yes, I did notice the other improvements, but leave those comments for later.  The core problem of dajones, you've addressed very well.  Even if the phase starts shifting, its consistent, so you can still use the sync signal output for triggering.



More later but what I would love to see fixed are:

1. Sweep function: the factory software only allows sweeping to 100kHz.  Its a shame since it can go to 100 MHz.

I'd like to see it capable of sweeping from 0 Hz to maximum Hz supported, as a single sweep.

You can even run this through the client software so it goes from X-Hz to Y-Hz in Z-Hz increment with a delay from milliseconds to seconds.

That would be fantastic!

2.  amplitude and frequency modulation: similarly limited in maximum frequency.  If you can allow it to use any modulation frequency and a carrier up to the maximum supported frequency, that would be great.  As far as any artifacts this creates, I think the user should manage any DDS generated artifacts from modulation.



Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on April 08, 2011, 05:59:49 pm
1) 0Hz is impossible in hardware. a pc software dirty trick (processing power) is needed for this.
2) what do you mean "client software"?
3) modulation: there is limit to carrier frequency depending on signal frequency. will study more on this.
4) will keep the suggestion for the next upgrade ;)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on April 08, 2011, 07:04:07 pm
0 Hz  ???! Of course, what I meant was support as low as supported by the device.

The 'client' is the software on the PC use to control the Hantek

No rush, do what you feel in good time.  

Sweeping function, if that is easier to do, would be a more important concern as AM or FM modulation is less used today except for radio.


1) 0Hz is impossible in hardware. a pc software dirty trick (processing power) is needed for this.
2) what do you mean "client software"?
3) modulation: there is limit to carrier frequency depending on signal frequency. will study more on this.
4) will keep the suggestion for the next upgrade ;)

Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on April 08, 2011, 07:15:57 pm
0 Hz  ???! Of course, what I meant was support as low as supported by the device.
1) 0Hz is impossible in hardware. a pc software dirty trick (processing power) is needed for this.
sorry i mean 0 < Hz < 0.5, 0Hz is actually super easy.
for the sweeping, i have a dilemma since i got this thing. signal transition, seems not so smooth, there is signal overlap (eg. transiting from sine to triangle, or sine changing frequency etc) but it was rough observation, and its hard to get the capture on screen. i will look more closely next time.

Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on April 09, 2011, 10:33:17 pm
ok, i've done with sweep function (f,v,offset capable) for primitive signals (hantek.zip). i believe its far more superior than the bundled software 8)
you are free to download and use it, except you cannot make a bomb with it! :P
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: ElektroQuark on April 10, 2011, 05:54:42 am
Awesome work, Shafry.
Thanks.

You can try sellint it to Hantek ;)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on April 10, 2011, 10:07:30 am
Thanks mecha!  Will report back.  Hantek should give you a commission or buy your software  ;D
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on April 10, 2011, 11:16:50 am
thanx guys. the bad thing is, i come late in this party, they have discontinued this product, otherwise they have to do something on the software side. i dont understand how they didnt manage to harness the hardware to its full potential (0.5Hz-100MHz, fast high freq sweep etc). on the hardware side, imo is done excellently, its just the most important part of interfacing with it on the software side is done the other way around (not very excellent). maybe their software guy is too busy. but there is a plus to this con, ie they cannot boost the product price due to their crappy software. all its needed is several night of "thoughtfull pressure'less seclusion" and many glasses of nescafe and cigarettes.

ps: there is one kind of signal i want to put in the little tool, but i still cannot figure out how. a single pulse, if anyone can give advice on how to do single pulse, i will appreciate it.
there is DDSSetSingleWave Lib "DDS3X25Dll.dll" in the library, but dont know what it does, it will not generate any wave if i activate it.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on April 10, 2011, 12:05:19 pm
It is still in the catalog on their website, and a lot for sale on google.com

IIRC Saelig.com was the store specifically who said they were discontinuing the product [from their catalog?] and had it one sale until inventory was gone.

https://www.mortoncontrols.com/index.php?main_page=product_info&cPath=2_9&products_id=232 (https://www.mortoncontrols.com/index.php?main_page=product_info&cPath=2_9&products_id=232)

If you search google, most everything about Hantek's capabilities [ other than vendors selling it and Hantek's own website] is through the eevblog forum, and our threads.  So, it was a good find on our part and we made a good team.

I guess one real problem is they didn't have you on their design team!


thanx guys. the bad thing is, i come late in this party, they have discontinued this product, otherwise they have to do something on the software side. i dont understand how they didnt manage to harness the hardware to its full potential (0.5Hz-100MHz, fast high freq sweep etc). on the hardware side, imo is done excellently, its just the most important part of interfacing with it on the software side is done the other way around (not very excellent). maybe their software guy is too busy. but there is a plus to this con, ie they cannot boost the product price due to their crappy software. all its needed is several night of "thoughtfull pressure'less seclusion" and many glasses of nescafe and cigarettes.

ps: there is one kind of signal i want to put in the little tool, but i still cannot figure out how. a single pulse, if anyone can give advice on how to do single pulse, i will appreciate it.
there is DDSSetSingleWave Lib "DDS3X25Dll.dll" in the library, but dont know what it does, it will not generate any wave if i activate it.

Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on April 10, 2011, 12:48:14 pm
I guess one real problem is they didn't have you on their design team!
i can work part time online, but i will not go to china to work with them ;D. well its not needed, all they need is to listen and make effort if they want to make a good business. if not then i will still be happy to buy their cheap product with the crappy software. if somehow they come accross this thread, then listen this... sell your very good hardware and very good software separately at cheap price each. if you have both very good hardware and very good software combined and sell at expensive price, then i will think twice to buy them, but if both sold at cheap price, then you are the winner. ;)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on April 12, 2011, 08:16:01 pm
back to hardware review. this thing is noisier than i thought, about 0.1Vpp noise, in peak detect mode.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: clonecrp on April 17, 2011, 02:19:08 am
Mechatrommer:

Thanks for clarification on a number of 3X25 points. Found your thread Thursday ... enlightning to say the least. GREAT Job !

Just received a 3X25 Friday but I haven't hooked-up yet. Will you be changing your software to accomodate other 3X25 functions?

Thanks!

Doug
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on April 17, 2011, 02:27:54 am
...Will you be changing your software to accomodate other 3X25 functions?
such as?... give me good reason, then i will ;) welcome to the club.
ps: i got suggestions earlier, but i will find a time for it.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Bored@Work on April 17, 2011, 10:30:42 am
...Will you be changing your software to accomodate other 3X25 functions?
such as?... give me good reason, then i will ;) welcome to the club.
ps: i got suggestions earlier, but i will find a time for it.


You could release the source code if you don't want to work on it. Or you could sit on it and continue gloating how great you are.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on April 17, 2011, 11:34:26 am
...Will you be changing your software to accomodate other 3X25 functions?
such as?... give me good reason, then i will ;) welcome to the club.
ps: i got suggestions earlier, but i will find a time for it.
You could release the source code if you don't want to work on it. Or you could sit on it and continue gloating how great you are.
ask for it, i'll release it, including all the classes and the modules necessary. i can see vb6 is not everybody's interest nowadays, and here is aint a code monkey party. and many people lose track already, all they need is just the API functions in the dll (programmers guide in the installation cd). i can release full bloated version of it with all the features, if i really want to gloat, but i'm just a normal person, i need to find time for it. my primary intention is to demonstrate what bundled software cannot provide, just the basic stuff. but if i'm asked to do something bundled software already can do, or has workaround to do, then there's not much point imho. and i do things mainly influenced/based on interest, if you can persuade me to do something interesting, then i can put any busy'ness aside and jump in into the crazyness. if all you need is the source code, then ask again... explicitly, its no secret, if it is, you wont see a single thing from me, and i dont want to gloat and show on how good i code things. ;)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: clonecrp on April 17, 2011, 04:49:10 pm
Mechatrommer:

I for one appreciate your work. You have provided a great deal of information/methods with regard to the 3x25 which is a new type of device for me. Keep up the good work!

Other contributions on the subject matter are appreciated too.

I am curious however, if you have given any thought to the digital input/output part of the generator ?

Thanks!

Doug
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on April 18, 2011, 12:41:32 am
I am curious however, if you have given any thought to the digital input/output part of the generator ?
i'd loved to, but i think:
1) i need to study more on that
2) i dont think i have necessarry equipment to test that

yes its pretty sad that for now i only know how to use 3 IO on the hantek (signal, synch, freq counter), there is more value that it can provide, such as those digital io, cascaded unit? trig in etc. but so far i have no idea, sorry. and for programmers outside there, below i provide the API list that dll's provide. and all you need is the bundled demo program to get started...

Code: [Select]
Declare Function DDSSearch Lib "DDS3X25Dll.dll" () As Integer
Declare Function DDSCheck Lib "DDS3X25Dll.dll" (ByVal index As Integer) As Integer
Declare Function DDSSetFrequency Lib "DDS3X25Dll.dll" (ByVal index As Integer, ByVal freqHantek As Double, wavePointNum As Long, wavePeriodNum As Long) As Boolean
Declare Function DDSDownload Lib "DDS3X25Dll.dll" (ByVal index As Integer, ByRef buf As Integer, ByVal number As Integer) As Boolean
Declare Function DDSResetCounter Lib "DDS3X25Dll.dll" (ByVal index As Integer) As Boolean
Declare Function DDSGetMeasure Lib "DDS3X25Dll.dll" (ByVal index As Integer, ByVal bFreq As Integer, ByRef Value As Double) As Boolean
Declare Function DDSSetTrigger Lib "DDS3X25Dll.dll" (ByVal index As Integer, ByVal bInter As Boolean, ByVal bEdge As Boolean) As Boolean
Declare Function DDSGetDigitalIn Lib "DDS3X25Dll.dll" (ByVal index As Integer, ByRef Value As Integer) As Boolean
Declare Function DDSSetDigitalOut Lib "DDS3X25Dll.dll" (ByVal index As Integer, ByVal Value As Integer) As Boolean
Declare Function DDSSetDIOMode Lib "DDS3X25Dll.dll" (ByVal index As Integer, ByVal mode As Boolean) As Boolean
Declare Function DDSSetPowerOnOutput Lib "DDS3X25Dll.dll" (ByVal index As Integer, ByVal bOpen As Boolean) As Boolean
Declare Function DDSSetSingleWave Lib "DDS3X25Dll.dll" (ByVal index As Integer, ByVal bSingle As Boolean) As Boolean
12 API calls only. i wish i have more.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: clonecrp on April 19, 2011, 03:16:24 am
Mechatrommer:

No programmer here so this stuff is Greek to me...

I have a question though. ??? I read your program directions panel for "Angle Phase Calibration"

Is it correct to say that the calibration process works for:

1. Sign
2. Square
3. Triangle
4. Sawtooth

collectively  ??? or is a cal.csv needed for each type of wave?

But I think you mean:

1. Sign => auto
2. Square => Auto => Reconstruct
3. Triangle => Auto => Reconstruct
4. Sawtooth => Auto => Reconstruct
 
Where the resultant cal.csv is calibration file for all Sign, Square, Triangle and Sawtooth then cal.csv moved to application directory.

Is this correct  ::) ?

Thanks in advance !

Doug



Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on April 19, 2011, 06:15:52 am
no. you choose one signal, then it will create one single calib.csv only, and then you'll use it for any other type of signal later on (by loading it from app path/calib.csv). i suggest you use sine during calibration since its mostly used, i only provide flexibility, say if you want to work mostly on square, then you may want to calibrate using square signal. but if you look carefully, the method is not so perfect, esp at high frequency. if you want different signal with different calibration file, then you should save each files yourself. to load it, rename to calib.csv and put in application folder, open the application and it will be loaded.

about the auto/manual button. AUTO will calibrate your device at predefined frequency set in auto.csv in app folder. MANUAL will calibrate your device based on frequency (min, max, step) that you put in application textboxes (the same textboxes to be used as sweep function).

reconstruct button... say if you did manual calibration at frequency 100-1000Hz, and later on decided to calibrate at 1000-1,000,000 Hz, the older (100-1000Hz) calib.csv will be overwritten, but not the raw files (many files you can check in My Hantek Files\Calibration). now you got new calib.csv for 1000-1MHz only, to combine all the 100-1000 and 1000-1MHz raw files into one single calib.csv, then you should press reconstruct button, when its finish, you'll got a calib.csv for 100-1MHz.

sorry its not very clear, i was lazy to type a dedicated help file for that particular function. there only a few of us here, so i guess they can read it here as well, so i guess my part of explaining it is done in this post ;)

Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on April 19, 2011, 06:50:03 am
here is the latest version with the source code (if anyone interested, vb6 required to compile). just minor changes:
1) calibration should a bit faster and different calibration method for low frequency.
2) 0 button to stop 3x25 from sending any signal.
3) signal boost in synch option (should be better (max amplitude) for unstable (non synched) high frequency signal >75MHz)
4) you can place your mouse on top of the "synch option"'s checkboxes to see popup text on "pro and con" of the option
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: clonecrp on April 19, 2011, 10:54:20 pm
Nice .... :D ... I need to play with this some more !

Doug
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: clonecrp on April 23, 2011, 02:42:53 pm
Mechatrommer:

Is atattched more or less what you mean ...  :-\

Doug ...
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on April 23, 2011, 06:18:18 pm
Mechatrommer:
Is atattched more or less what you mean ...  :-\
Doug ...
exactly what we need. great job! i've changed the doc a bit, made a help button in the little software to automatically open it. i think i got last minute change during the prior version (calibration process only doing sine iirc), so i fixed and checked before attaching it (latest version) here. you may want to overwrite your existing *.exe (and add the readme.docx made by Doug) in the zip file. i also included the source that i've change. Cheers ;)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: clonecrp on April 23, 2011, 09:04:10 pm
Mechatrommer:

A couple of corrections that might be of interest ....

Doug
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: seattle on April 30, 2011, 06:07:52 am
Hi, has anyone looked to see if the amplitude adjustment on the 3x25 is done via an analog gain stage, or if it's done via limiting steps in the output DAC? It seems like the noise floor comes up quite a bit as the output amplitude is reduced. On a 2Vpp sine at 500KHz, the noise floor down quite a ways in the audio region (at the limits of the 10-bit scope ADC), but as the 3x25 output is reduced to 40 mVpp, the noise appears to come up quite a bit (though I'm at the limits of the scope there it looks like).

Overall, however, 3x25 is a great deal and I'm really glad I found this thread. PS. Has anyone seen some USB flakiness? It can be fixed by unplugging and replugging. Just wondering if it's my machine or others have seen this.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on April 30, 2011, 07:44:51 am
Hi, has anyone looked to see if the amplitude adjustment on the 3x25 is done via an analog gain stage, or if it's done via limiting steps in the output DAC?
i think someone who are familiar will be able to tell from my teardown pictures earlier (relinked below). from my limited knowledge, i think its not by analog gain stage, its all comes from the 12bit pins of DAC. and as no info on the DAC model, last time i search to no success. hint... 200MHz clock 12 bit DAC, the closest i can find is ISL5861 210MSPS DAC Chip (http://www.alldatasheet.com/datasheet-pdf/pdf/67608/INTERSIL/ISL5861.html) but looking at the pictures, i dont think it is.

Has anyone seen some USB flakiness? It can be fixed by unplugging and replugging. Just wondering if it's my machine or others have seen this.
yes its with my machine too. it hanged from reporting any value to pc software. un/re-plugging solve the issue. but its with my homemade software (api calls) i dont know if its happened with the bundled software, never experience that. so it could be the machine, or it could be the software.

thanx for reviewing and joining in seattle. i believe you have more capable machine of testing the noise floor than me. the spectrum on SA 3.4vpp.JPG looks sexy, do u mind to tell what machine it is?
(https://www.eevblog.com/forum/index.php?action=dlattach;topic=2170.0;attach=6146;image)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: seattle on April 30, 2011, 07:23:57 pm
Quote
it hanged from reporting any value to pc software. un/re-plugging solve the issue. but its with my homemade software (api calls) i dont know if its happened with the bundled software, never experience that. so it could be the machine, or it could be the software.

Yes, it does happen a fair bit with the bundled SW on my machine. So your SW is likely at the mercy of their libs in terms of stability :)

Quote
thanx for reviewing and joining in seattle. i believe you have more capable machine of testing the noise floor than me. the spectrum on SA 3.4vpp.JPG looks sexy, do u mind to tell what machine it is?

It's a chinese USB scope called QA100, dual 100Msps 10-bit adc with 32 channel logic analyzer and super deep memory.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on May 07, 2011, 09:28:11 pm
it seems somebody got mixed up between RIGOL DG2041A and HANTEK DDS 3x25...
RIGOL DDS-3X25 video signal generator (http://cstrading.en.alibaba.com/product/423282345-210579305/RIGOL_DDS_3X25_video_signal_generator.html)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on May 11, 2011, 08:05:10 pm
it seems somebody got mixed up between RIGOL DG2041A and HANTEK DDS 3x25...

I don't know much about these things, but neither of the two standalone units pictured made me think "cost-effective, USB function/arbitrary waveform signal generator (card) (virtual)."  :o
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on May 11, 2011, 09:44:28 pm
So my DDS3x25 arrived today, and I fired it up to put it through it's paces.

First thing I found is that the manual is wrong -- at least for Vista 64. The drivers are buried in an archive on the CD and must be extracted manually -- the install program copies over the 32 bit drivers, not the 64 bit ones.

With that sorted, I fired up their program and made sure things were talking. Then I shut it down and fired up Mechatrommer's version. Might as well try out the auto configuration routine, right? So I dug out another bnc cable, two terminators and another USB cable, hooked it all up and let it go. (The little graphic was great -- makes the connections idiot proof -- I need things like that ;-) )

Once it was done, I started playing a bit. I noticed that the rise time on the trigger output was much quicker than the rise time on the square wave output when I cranked up the Rigol to 2ns. It also had a tiny ring that the output didn't have. That seemed odd, so I swapped terminators -- no difference. Then I swapped cables and the signal shapes swapped. On closer examination, the cable that came with the DDS3x25 was an RG58/U. The one I had in the drawer is an RG58/UA. I've never had either a signal generator before, nor a scope fast enough to see this level of detail, so maybe you all know about these differences already, but for any other newbies shopping for cables, the RG58/UA seems to be the better choice here.

Ok, I'm an idiot. It's not the cables, it's the function generator. :-[
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on May 12, 2011, 05:46:28 am
a picture will worth 1K of word. the trigger output (or should it be input? shouldnt it?) is something never been reviewed. and pls dont blame anybody (incl me) if you found out this unit is not for you. you've made the decision and all the good and bad that we have found already stated in this thread. and praise to master saturation for bringing us in here :P will be looking forward for your point of view (review) Cheers ;)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Lunat1c on May 12, 2011, 07:36:56 am
I just stumbled upon this thread while searching for a signal generator to start up my lab and I must say that this couldn't have happened at a better time!

You guys are awesome! Working together and with the help of Mecha you made this little baby worth owning :) Thanks a lot for your efforts!

I have gone through the thread and just to make sure, in a nutshell we could say that the upgrades that Mechatrommer has performed are through the software that one uses to interface with the signal generator, right?

From what I've been reading on DDSs, this piece of hardware seems to be the best bang for the buck AWG. The Instek SFG1003 provides signals up to 3MHz while this one has more features and has a higher frequency range for the same price. Please correct if I'm wrong as I'm a beginner when it comes to this stuff and wouldn't wanna be disappointed if i purchase this :)

Thanks
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on May 12, 2011, 07:52:17 am
1 thing to add. if you rely on sweep function, then dds is not much of a wonder. there will be signal distortion when you try to change the signal (shape/amplitude OR frequency OR both, during transition only). i'm not sure whether it is a DDS weakness, or a "Cheapo" DDS weakness.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Lunat1c on May 12, 2011, 08:25:26 am
oh. If the problem is during transition only I can't see it affecting me that much at this point. At least I hope not :)

One question, what's the maximum frequency of all waveforms with the latest modifications you have posted?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on May 12, 2011, 10:50:47 am
One question, what's the maximum frequency of all waveforms with the latest modifications you have posted?
if you are talking about all waveforms, the device's DAC sampling rate/clock need to be observed closely = 200MSa/s. lets take the worst case waveform ie square (max rise time), 2 adjacent samples from lo to hi will need 5ns to rise (ideally), so about how long it has to stay at that hi level (pulse width) will depend on your definition of what good a square signal is, i'm not sure the real figure/standard, but for me, maybe like... 1 portion rise, 8 portion hi, 1 portion fall and another 10 portion (fall,lo,rise). so altogether 20 points needed to generate 1 cycle of acceptable square (my standard). so calculate it 200MSAPS / 20SA = 10MHz. if you need higher quality square, you need to lower that figure. higher and higher frequency signal, they will all converge to resemble sine signal, ie poor square, poor triangle, poor arbitrary etc. But as for sine, it is usable up to 100MHz (2 points per cycle), but no accurate noise level has been figured at that highest frequency. the most accurate so far i think, is presented by seattle above, with his 10bits scope.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on May 12, 2011, 12:05:40 pm
I concur with mecha, but to simplify it, for square waves, for a nice clean sharp edge,  I've got at least 10 MHz, and with sinusoids at least to 70 MHz, and useful up to its limit of 100 MHz.  This is the limit of what I can see myself, using my scope, not that its truly the limit of the 3x25.  I start to see edge roll off at about 20 MHz, where the harmonics are over 100 MHz, beyond my unmodded Rigol 1052e capabilities.

Compare to what you get with other function generators of 20 MHz, such as the Rigol 1022 at $400+, and you see you get a good bang from the lowly 3x25.

The cleanest waveforms for all types are in definitely in the 10 MHz and lower region.

So it gives good high frequency for general purpose use well matched to a home lab scope.




oh. If the problem is during transition only I can't see it affecting me that much at this point. At least I hope not :)

One question, what's the maximum frequency of all waveforms with the latest modifications you have posted?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on May 12, 2011, 12:49:02 pm
OK, pictures. Channel one is OUTPUT, Channel 2 is SYNC OUT.

(http://picturehosting.verhey.org/DDS3x25/5mhz_square.bmp)
5MHz

(http://picturehosting.verhey.org/DDS3x25/10mhz_square.bmp)
10MHz

(http://picturehosting.verhey.org/DDS3x25/25mhz_square.bmp)
25MHz
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on May 12, 2011, 02:48:06 pm
Thanks torch, looks pretty good given the rise time is 4.7ns on the sync signal.  I recall there is a filter on the V-out so it causes more rise time delays but your unit looks like its performing as it should. 



OK, pictures. Channel one is OUTPUT, Channel 2 is SYNC OUT.

(http://picturehosting.verhey.org/DDS3x25/5mhz_square.bmp)
5MHz

(http://picturehosting.verhey.org/DDS3x25/10mhz_square.bmp)
10MHz

(http://picturehosting.verhey.org/DDS3x25/25mhz_square.bmp)
25MHz
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on May 12, 2011, 04:13:24 pm
confirmed mine is the same as torch's. maybe for my definition a good square will be up to 2MHz or at most 3MHz. but thats subjective and depend on what you are doing. so far, i still use the sine signal the most, so no issue at higher freq.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on May 12, 2011, 09:23:49 pm
and pls dont blame anybody (incl me) if you found out this unit is not for you.

Absolutely not! Please don't misunderstand, I'm not saying anything of the sort! Thanks for all your work on this.

I'm new to all this and so I was not sure if this was a normal waveform distortion or not. I thought it might be abnormal because the SYNC OUT waveform was obviously much more square at higher frequencies than the OUTPUT waveform. I thought it should be the other way, if anything. But if this is normal and this unit does the job for so many who know more than I, then I'm happy with the deal -- as you pointed out, this is far cheaper than any comparable product.

BTW: I should mention that the sinusoidal waveform is very clean all the way up to 100mhz, and at that speed, the SYNC OUT is also sinusoidal.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on May 13, 2011, 04:06:37 am
BTW: I should mention that the sinusoidal waveform is very clean all the way up to 100mhz, and at that speed, the SYNC OUT is also sinusoidal.
its not the 100MHz SYNCH OUT is sinosuidal, it is still squared. its just the oscilloscope BW/sample rate limitation showing it as sinosuidal.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: alm on May 14, 2011, 11:47:12 am
From what I've been reading on DDSs, this piece of hardware seems to be the best bang for the buck AWG. The Instek SFG1003 provides signals up to 3MHz while this one has more features and has a higher frequency range for the same price. Please correct if I'm wrong as I'm a beginner when it comes to this stuff and wouldn't wanna be disappointed if i purchase this :)
The amplitude range is much more limited compared to most stand-alone function generators like the SFG-1003. Depending on how and why you work, the lack of front panel may also be an annoyance. I find that I like computer control for complicated stuff like arbitrary functions (which I use fairly rarely), but prefer real knobs and displays for simple stuff like generating a sine and adjusting frequency until I get the result I'm looking for.

its not the 100MHz SYNCH OUT is sinosuidal, it is still squared. its just the oscilloscope BW/sample rate limitation showing it as sinosuidal.
Is it just BW limitations in the scope, or also the generator? What's the rise time spec for the SYNC out?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on May 14, 2011, 01:13:11 pm
If the current trend to iPad popularity continues, more widespread touch screens enabled laptops will be commonplace and be a better emulator for hardware knobs.  Although you can only move one knob at a time, and there is no physical knob sensation or feedback, its far faster than the PC keyboard or mouse to actuate controls.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on May 14, 2011, 01:46:49 pm
Is it just BW limitations in the scope, or also the generator? What's the rise time spec for the SYNC out?
err, i was just assuming. since the synch out comes directly from spartan pin, so probably its digital instead of sine. gotta look the very detail of spartan datasheet for this.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Lunat1c on May 25, 2011, 08:27:31 pm
just to confirm that I'm not misinterpreting the spec sheet of this device... is the maximum amplitude really +-3.5V?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on May 25, 2011, 08:50:35 pm
Yes, its built around LV CMOS.


just to confirm that I'm not misinterpreting the spec sheet of this device... is the maximum amplitude really +-3.5V?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on May 25, 2011, 10:36:19 pm
is the maximum amplitude really +-3.5V?
not anymore, if you want to put some effort on it... preliminary: https://www.eevblog.com/forum/index.php?topic=3182.msg47122#msg47122 (https://www.eevblog.com/forum/index.php?topic=3182.msg47122#msg47122)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on May 25, 2011, 11:52:57 pm
Wow, that's awesome.  Not sure why I never saw that reply, fantastic work mecha!  Will review it through.

is the maximum amplitude really +-3.5V?
not anymore, if you want to put some effort on it... preliminary: https://www.eevblog.com/forum/index.php?topic=3182.msg47122#msg47122 (https://www.eevblog.com/forum/index.php?topic=3182.msg47122#msg47122)

Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on May 26, 2011, 06:06:29 am
just by coincident, reply #161 and the link are about the same time posted this early morning.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: nubelube on May 27, 2011, 02:02:48 am
Is anyone else having problems with the SOFTWARE having a resource leak?  Specifically, it allocates handles and then doesn't release them.  Eventually (after an hour or so) the software crashes because it has exhausted the resources.  Using "Process Explorer" I have confirmed this on at least two computers (one XP and one Windows 7).  I contacted Hantek a few months ago but got no response.

My apologies if any of this is redundant -- I did a quick search but didn't find anything related.  This thread is impossibly long, but it appears to still be active (and bad software still seems on topic with whether to buy the device), so I decided to post in here.

p.s.  It has been a few months since I looked into it, but I know that the file handle issue is a problem with the software.  The DDS-3x25 is perfectly stable when controlled through LabView.  In fact, I made a half-assed attempt to write a LabView implementation of the native software, but gave up after a few hours of trying to figure out LabView hooks into native drivers.  The API is actually pretty damn simple, but I want the pretty pictures; my current workaround is to just start the software and then suspend it whenever I'm not actively making changes.

(Edited to remove a paragraph about bad download on Hantek website -- I emailed them simultaneously with my post and they fixed it.)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on May 27, 2011, 04:38:05 am
i dont care much about resource leak. terminate the program will terminate the leaks too, i believe its automatically handled in windows. i got software 3.2.1.7 here that i think downloaded from hantek web decompressed correctly, so i'm not sure with your.

while playing with opamp this few days, i got repeatable hanging in the software when i try to change the wave the 2nd time. connecting and reconnecting usb solve this. but then the hang repeat again. i think this is because i'm feeding the buffer opamp thats the 3x25 feeding into, with noisy power supply. my suspect is when noise got into the unit, maybe the fpga will stop responding to usb.

while still in it. from my observation in previous post that the shape of synch signal will be affected by the where the output signal/phase is, there's some sort of cross talk between this 2 lines, maybe this way the noise will be able to sneek in directly to fpga. i think so.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on May 27, 2011, 09:19:06 am
I've not yet experienced any lockups or resource issues, but even so, once the Hantek receives its marching orders you can actually set it so it retains the commands and you can log off the client.

I haven't used mecha's software as extensively but its great, and any issues I find, just turning the software off then back on solves it.

Its not elegant, but it happens so infrequently, its the price to pay for a $160 100 MHz FG.

BTW, the thread is long because its has a lot of technical detail.  Its probably the most detailed dissection of the 3x25 there online and it was made to give the reader faith that this cheapie can do the job.



Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on June 07, 2011, 12:19:18 pm
hi again. i've made profiling (flatness test) on hantek dds3x25 signal output. its "not so good" method measured with rigol ds1052e (100mhz hacked), open end (unterminated) measurement direct BNC connection from DUT/FG to DSO, max amplitude feed of ±3.5V sine wave from "virtual" pc controller panel. with 50 ohm terminated signal, please expect ~half the value. please note the sine signal will become distorted at 50MHz < freq < 100MHz, rendering the result is less reliable, esp somewhere 70MHz <  freq < 100MHz. if you know what i'm talking about. :P so, for what its worth, the picture and the xls file...
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on June 07, 2011, 01:55:10 pm
Thanks mecha for the data. If you're looking to do a VAC vs Hz graph is better to do it terminated with 50 ohms.  What you are looking for is a transfer of power to the load, and even if the amplitude is reduced, the power is constant.  So the roll off will begin much later; from your graph is looks like if you halve the amplitude, the roll off will begin at 40 MHz.

What you'd like in a signal source is as much flatness throughout the spectrum rather than maximum amplitude.  Without termination, at 1.5 Vpp you could get that from 0-100 MHz, which is fairly good.  That means all the harmonics generated are also flat, at least to the limits of full frequency response of the source and the capacity of your test gear to see it.  After all, the purpose of a FG is not to provide power output, but signal fidelity and wide bandwidth for testing.

For example, in the old analog days video signals are all under 2 Vp.

The limitation of the Hantek is if you were to use it as a test input or clock for 5V logic.  But unterminated, you could easily drive it to 20 MHz without the front end op amp you designed and posted on another thread.  

Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on June 07, 2011, 03:51:37 pm
If you're looking to do a VAC vs Hz graph is better to do it terminated with 50 ohms.  What you are looking for is a transfer of power to the load, and even if the amplitude is reduced, the power is constant.  So the roll off will begin much later; from your graph is looks like if you halve the amplitude, the roll off will begin at 40 MHz.
a quick report on terminated reading... i told you so, you dont believe me! just halve the volt will ya? ;) and how do we measure power anyway? i dont have gossen metrawatt?! ??? as i said, its not so good, not really accurate, just a rough estimate. cheers!

i try to give raw data here. so later viewer can make the voltage division by themself, be it if they want to terminate it properly with 50ohm, 10ohm, 1Mohm whatever.

and even if the amplitude is reduced, the power is constant
sorry i'm not following this... how come the power is constant if the voltage is reduced?
if V is halved, so do I. so P should be quarter, not constant? ???

P = (I/2)^2 . R
P = I^2.R / 4

P is the function of I, and I is the function of V. how come P is constant if V is changed?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on June 09, 2011, 08:07:58 pm
Hi mecha, I haven't had a chance to detail a reply but you are right and I am wrong.  I've made a correction to my post, hope it hasn't created too much confusion for you, my apologies!
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on June 09, 2011, 08:18:52 pm
you are busy man eh? thats alright ;) i have something coming kinda busy but boring :P whatever! i really should have not reply this! :P
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Lawsen on June 13, 2011, 08:14:19 pm
I have only experience with a Hantek 8060 five in one, Rigol function generator, Rigol 1052SE digital oscilloscope (similar the one you have pictured), and a single channel analog oscilloscope. 

Lawsen
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: rf-loop on June 17, 2011, 08:24:42 pm
Some small measurement. DDS3x25 is original, not modified. (some day I will modify for cleaning signal... there is lot of noise, harmonics and also 200MHz harmonics. No, I really do not need myself this kind of toys but... still these may be very useful for some peoples. This is not bad if compare price and some special things. But software is really poor. Example freq adjustment... what hell they think. maybe this peole who write this soft have never use in real world any signal generator for any work. Hope hantek do small work for make this SW usability better. Also they may littlebit think signal cleaning. But it is not bad if look just maximum medium voltage level harmonics and non harmonics level. later if I have time I may add some test pics about signal quality. (harmonics level)
Well... frequency jitter is very strange... in some special cases.

But noise in this curve is not related DDS signal quality, it is just interfere from spectrum analyzer sweep and RBW and stepping DDS3x25). Stepping DDS with keyboard give lot of noise as DDS change frequency.

Spectrum input is of course 50ohm (it is extremely good "high-end" spectrum analyzer made by R&S)
I have adjust so that 500kHz (3x25 is nearly flat from zero to 3MHz) is exactly 0dBm on the spectrum display. (spectrum is adjusted so that one division is 2dBm (dB related to 1mW) and  freq scale is log. (spectrum own noise level is minimum around < -145dBm )

(http://i969.photobucket.com/albums/ae171/Xie_07/H_DDS3x25.jpg)

Do not think R&S RBW... selection is 2dB/div... so...
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on June 17, 2011, 09:43:36 pm
Some small measurement. DDS3x25 is original, not modified. (some day I will modify for cleaning signal...I have adjust so that 500kHz (3x25 is nearly flat from zero to 3MHz) is exactly 0dBm on the spectrum display...
very thank you rf-loop! i'm not good at power db, but comparing to my result, i think its closer. yours -3db@23MHz, -6db@36MHz. mine 20log(2.46/3.36)=-2.7db@23MHz, 20log(1.84/3.36)=-5.2db@36MHz. both plot showing flatness to 3MHz. your measurement should be more accurate since you use proper tool.

there is lot of noise, harmonics and also 200MHz harmonics... But software is really poor... peole who write this soft have never use in real world any signal generator for any work...Also they may littlebit think signal cleaning...lot of noise as DDS change frequency
it pretty much covered in earlier posts, except the noise thing, since now we have more advance measurement tool. thanks to you!

frequency jitter is very strange...Well... frequency jitter is very strange... in some special cases....
i think you are refering to "dajones glitch" and "leap year effect". page 2 (https://www.eevblog.com/forum/index.php?topic=2170.msg29824#msg29824) and page 5 (https://www.eevblog.com/forum/index.php?topic=2170.msg37762#msg37762)

No, I really do not need myself this kind of toys but...
now thats an insult!

still these may be very useful for some peoples. This is not bad if compare price and some special things.
now its more relieving. its usefull to me no matter how noisy you say it is. i'm working on something right now :P yes the output has not been modified/filtered whatsoever. what you get is a raw output from an amplifier which get the signal from dac which get the signal from fpga, the simplest fpga based dds signal generator you can build i think.

later if I have time I may add some test pics about signal quality. (harmonics level)
i'll be looking toward this with interest.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on June 17, 2011, 09:47:54 pm
if you have the data in text form (csv,xls,txt) i hope you can attach here rf-loop, or bigger picture of the frequency plot.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: rf-loop on June 19, 2011, 08:17:00 am
if you have the data in text form (csv,xls,txt) i hope you can attach here rf-loop, or bigger picture of the frequency plot.


Sorry I have not data string about measurement. I have take this picture with this resolution and I do not want do this work all agen, it is not as fifteen minute work. This picture have done with J.Miles HP7470A (HP-GL/2) plotter emulator (http://www.thegleam.com/ (http://www.thegleam.com/)) and nice Prologix USB-GPIB  (HP-IB)  adapter..

I have not programming manual for this Rohde&Schwarz spectrum analyzer so I can not send command what return trace data string via GP-IB.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on June 19, 2011, 02:04:26 pm
Thanks rfloop for the good bode plot.  If you could, a real good help would be a harmonic content of its sine wave output; what's the SNR?

At worst,  could you just check 20 Hz, 2000 Hz, and 20,000 Hz for the audio spectrum to cover bass, mid and high frequencies to see what harmonics appear and what amplitude it is?

If your devices can sweep to the high MHz and just get a cumulative harmonic content that would be perfect!

if you have the data in text form (csv,xls,txt) i hope you can attach here rf-loop, or bigger picture of the frequency plot.


Sorry I have not data string about measurement. I have take this picture with this resolution and I do not want do this work all agen, it is not as fifteen minute work. This picture have done with J.Miles HP7470A (HP-GL/2) plotter emulator (http://www.thegleam.com/ (http://www.thegleam.com/)) and nice Prologix USB-GPIB  (HP-IB)  adapter..

I have not programming manual for this Rohde&Schwarz spectrum analyzer so I can not send command what return trace data string via GP-IB.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: kx5 on June 20, 2011, 05:36:53 pm
Many thanks to Mechatrommer and the rest of the guys for your support ;D
It is a great update comparing it to the crappy - dysfunctional original software.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on June 20, 2011, 05:57:51 pm
I have only experience with a Hantek 8060 five in one, Rigol function generator, Rigol 1052SE digital oscilloscope (similar the one you have pictured), and a single channel analog oscilloscope. 
Lawsen
i've been following rcgroup's thread on hantek 8060. the generators output spec is identical to this dds3x25 but i'm not sure if they use same circuit. but i already have dso,dmm,fg so i dont need 8060 anymore, but i believe its good for money. just if i dont have the rigol+uni-t+hantek 3x25, i would get this 8060. i'll get extra... an isolated (battery powered and handheld) dso/fg.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on July 08, 2011, 02:33:48 am
I've been reading with interest this thread because I've been thinking about buying either the Hantek DDS-3X25 or the Velleman PCGU 1000 - they are currently the best bang-for-the-buck AWGs available - and they cost close to the same amount from my location (~€102 vs ~€126).

The Velleman seems more stable, has less distortion, better resolution, galvanic isolation of the USB, and a bigger waveform sample depth than the Hantek (8KSa vs 4KSa) - but it's lacking the external trigger in, frequency counter, or ARB Express file compatibility - and it's waveform editing software is primitive.  The Hantek has a much higher frequency range, the aforementioned I/O and file compatibility, and it can work independently of the PC (which might be useful) - but it appears more buggy, and it seems to have a rather crappy set of programming functions and procedures.   It's important to me that I'll be able to write functional software for which ever I buy - I need to create Bode Plotter software with it and the DS1052E.

I guess I'm asking any owners of the DDS-3X25 in general what their current feelings are about the Hantek - and Mechatrommer in particular about the pains of programming it - e.g. it doesn't appear to even have functions for turning the DDS generator on and off - or for elegantly handling sweeps.

BTW, if any current owners of the Hantek have not downloaded Tektronix's free waveform editing software (http://www.tek.com/products/signal-generator/arbexpress.html (http://www.tek.com/products/signal-generator/arbexpress.html)) - you should get it immediately.  It's MUCH better than what Hantek provides you - and because Hantek uses Tektronix's ARB format - you can easily create waveforms in it (keeping the sample depth below 4096, Vpp below 3.5, and export as CSV) and read them directly into Hantek's software (and AWG).  It also comes with a great library of predefined waveforms as well.

Edit: The link to the actual download page of Tektronix's software: http://www2.tek.com/cmswpt/swdetails.lotr?ct=SW&cs=sap&ci=17700&lc=EN (http://www2.tek.com/cmswpt/swdetails.lotr?ct=SW&cs=sap&ci=17700&lc=EN)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on July 08, 2011, 03:23:08 am
I guess I'm asking any owners of the DDS-3X25 in general what their current feelings are about the Hantek - and Mechatrommer in particular about the pains of programming it - e.g. it doesn't appear to even have functions for turning the DDS generator on and off - or for elegantly handling sweeps.
the pain? the pain is in learning programming language and how much complexity of your software, nothing to do with the device. i programmed in VB for this particular application. turning the DDS generator on and off? with little hack in function calls and parameters, you can set DDS to off (no signal), its in my so called "Open Source" link earlier (Halt Button). elegantly handling sweeps? this is yet to be studied. my current method is not elegant due to no available device api function that do this specifically/directly. or maybe thats the limitation in software, hardware, fpga or the dds awg design that we cannot do much about it.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on July 08, 2011, 01:30:45 pm
Quote
the pain is in learning programming language and how much complexity of your software, nothing to do with the device.

@Mechatrommer - well, learning a language is certainly the bulk of the work... but certain devices can be a headache when trying to get them to perform certain functions.  I program a lot of devices - many of them of my own design - and even some of them can be a pain in the ass.  ;D

Quote
my current method is not elegant due to no available device api function that do this specifically/directly. or maybe thats the limitation in software, hardware, fpga or the dds awg design that we cannot do much about it.

Yes, I've studied the API calls - though I don't have a DDS-3X25 to try them on - and it seems that there's no way to know exactly where the FPGA is in the sample memory - which could lead to glitches when changing frequency.  The Velleman AWG has the procedure: SetSweep(freq1, freq2, ampl, offset, time, form) to avoid this problem.  But the English in the Hantek manual is terrible, so it's sometimes not easy to know exactly how a procedure works without a device to test it on.  But I'm studying your source code now for more info.  :)

Selamat malam  -  Mark
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on July 08, 2011, 02:54:13 pm
Some side comments.

The Hantek is disappearing, so get it while you can.  Last I checked gone are vendors from EU, America, and what was 2-3 pages of product listing is down to just 3 sellers, all now in China.

Since Velleman has more software tools listed, and they have been demonstrably good in responding to their product issues such as posted on eevblog,  your chances are good of getting tech support from them as you write your software; support is unlikely from Hantek, given too, the device is probably off production.

https://www.eevblog.com/forum/index.php?topic=2885.0 (https://www.eevblog.com/forum/index.php?topic=2885.0)

I've had trouble with ArbExpress; for a time Tek changed the arb file format many times but they didn't change the file extension.  So what version works and is compatible is unknown.  Its easier to use the CSV format.

The Velleman is 2 MHz, the Hantek is at 20 MHz.  See rf-loop post on the 'flatness' of the spectrum, suggests there are minimal sine harmonics to 3 MHz to be on par with the Velleman for say, audio work, to compare with Velleman, were a tests has it it clean to ~ -90dB.

http://forum.velleman.eu/viewtopic.php?f=11&t=2041 (http://forum.velleman.eu/viewtopic.php?f=11&t=2041)

https://www.eevblog.com/forum/index.php?topic=2170.msg50564#msg50564 (https://www.eevblog.com/forum/index.php?topic=2170.msg50564#msg50564)


I've been reading with interest this thread because I've been thinking about buying either the Hantek DDS-3X25 or the Velleman PCGU 1000 - they are currently the best bang-for-the-buck AWGs available - and they cost close to the same amount from my location (~€102 vs ~€126).

The Velleman seems more stable, has less distortion, better resolution, galvanic isolation of the USB, and a bigger waveform sample depth than the Hantek (8KSa vs 4KSa) - but it's lacking the external trigger in, frequency counter, or ARB Express file compatibility - and it's waveform editing software is primitive.  The Hantek has a much higher frequency range, the aforementioned I/O and file compatibility, and it can work independently of the PC (which might be useful) - but it appears more buggy, and it seems to have a rather crappy set of programming functions and procedures.   It's important to me that I'll be able to write functional software for which ever I buy - I need to create Bode Plotter software with it and the DS1052E.

I guess I'm asking any owners of the DDS-3X25 in general what their current feelings are about the Hantek - and Mechatrommer in particular about the pains of programming it - e.g. it doesn't appear to even have functions for turning the DDS generator on and off - or for elegantly handling sweeps.

BTW, if any current owners of the Hantek have not downloaded Tektronix's free waveform editing software (http://www.tek.com/products/signal-generator/arbexpress.html (http://www.tek.com/products/signal-generator/arbexpress.html)) - you should get it immediately.  It's MUCH better than what Hantek provides you - and because Hantek uses Tektronix's ARB format - you can easily create waveforms in it (keeping the sample depth below 4096 - and the Vpp below 3.5) and read them directly into Hantek's software (and AWG).  It also comes with a great library of predefined waveforms as well.

Edit: The link to the actual download page of Tektronix's software: http://www2.tek.com/cmswpt/swdetails.lotr?ct=SW&cs=sap&ci=17700&lc=EN (http://www2.tek.com/cmswpt/swdetails.lotr?ct=SW&cs=sap&ci=17700&lc=EN)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on July 08, 2011, 04:31:37 pm
but certain devices can be a headache when trying to get them to perform certain functions.  I program a lot of devices - many of them of my own design - and even some of them can be a pain in the ass.  ;D
from my experience working with 3x25, its painless. every functions do what they suppose to do. its just tinkering on how to make the dds "OFF" in software, you need to find out the indirect way (several api calls), because there is no direct way. and there's no SetSweep function like you said, it will be alot more painless if it is.

about the code. maybe you need some effort digging the functions call in my code. the simpler explanation is to send "zero valued" (volt) data to DDSDownload and then call the DDSSetSingleWave (not compulsory). if you want something about pain. DDSSetSingleWave is the most painfull function to call, i dont know what it does, its just stop the device from outputting data (which i was expecting it to output a "one time/once" data from the name.

and my "not elegant" method in sweeping is by repeatedly calling DDSSetFrequency and DDSDownload, that also can be a pain, depending on your definition of "pain".
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on July 08, 2011, 05:13:44 pm
Thanks so much for your feedback, saturation!

Quote
The Hantek is disappearing, so get it while you can.  Last I checked gone are vendors from EU, America, and what was 2-3 pages of product listing is down to just 3 sellers, all now in China.

Yes, it appears it is... although I can still find one or two here in Europe.

Quote
Last I checked, ArbExpress 2.5 doesn't work; the reason is for a time Tek changed the arb file format many times but they didn't change the file extension.  So what format it really is remains unknown, and whether it will work on 2.6 ArbExpress is unknown too.  Its easier to use the CSV format.

Yes, I meant using the CSV format from ArbExpress (will edit the above message).

Quote
For practical electronic use, the Hantek is far more capable, but it has its blemishes, fixing it is what hacking is all about 

Your message has finally tipped me towards the Hantek -  I do love to hack around with things  :)  Now I'm just waiting to hear from a vendor here in the EU if they will ship it excl. VAT - which would make it just a few bucks more than the Chinese dealers on eBay.

@Mechatrommer

Quote
DDSSetSingleWave is the most painfull function to call, i dont know what it does, its just stop the device from outputting data (which i was expecting it to output a "one time/once" data from the name.

Yes, it certainly seems from the manual that it should be used for single-shot waveforms.

Quote
repeatedly calling DDSSetFrequency and DDSDownload,

I guess there's not much more to work with than those two functions for wave generation.  One question, can you poll DDSCheck to see if the device has finished the last command?  I've been trying to make a more understandable list of the functions (see attached .docx).  Feel free to check it and correct me if I've got something wrong.

In any case, as you might have read above, I've decided to buy one myself, so I can help you with the software experimentation on it.  Maybe we can reverse engineer it  ;)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on July 08, 2011, 05:44:14 pm
your doc looks like description from manual, cant go wrong i think. there's no polling, you wait until the api function returns and thats it. completed or not, is not accesible from your software, thats the mercy of the driver and hardware/firmware implementation. different seller will try to add different flavour in their ads, you probably looking at the same item in your example above. i also cannot download ArbExpress, dont know why the site keep hanging. i'm looking forward to listen to your idea/comment when you get your 3x25. cheers.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on July 08, 2011, 06:30:32 pm
Quote
completed or not, is not accesible from your software, thats the mercy of the driver and hardware/firmware implementation.

That's too bad - but I'll just have to make do with what's available.

Quote
i also cannot download ArbExpress,

I pm'ed you some other links to try - maybe it works from there.

Quote
i'm looking forward to listen to your idea/comment when you get your 3x25.

I'll let you know when I've got it warmed up  :)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on July 08, 2011, 06:35:05 pm
I hope you get one marmad, and share your new developments with us.  If you are in school and have access to a good spectrum analyzer, I'd be curious to see how clean the sine waves are to 2 MHz, compared to the Velleman.  See the link I posted earlier about the tests on the Velleman forum.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on July 08, 2011, 07:04:19 pm
@saturation

Sorry, I'm not in school - and I don't have access to any better analog testing equipment than you - having just replaced my 30 year old Tektronix analog scope (which finally stopped working) with the DS1052E.  But I was thinking of cracking it open and having a look inside for possible mods.

And I'm more than happy to share any software and source I write for the device.  Hopefully I can contribute to Mecha's work.

Mark
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on July 08, 2011, 07:17:48 pm
i'm working on a new UI for it. but its been halted for sometime now. i only finished the GUI, no code yet. thats going to be a hell for me :P
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on July 09, 2011, 08:04:48 pm
Quote
The Velleman is 2 MHz, the Hantek is at 20 MHz.  See rf-loop post on the 'flatness' of the spectrum, suggests there are minimal sine harmonics to 3 MHz to be on par with the Velleman for say, audio work, to compare with Velleman, were a tests has it it clean to ~ -90dB.

@saturation

Just a note: even though I'm tipping towards buying the Hantek (for the raw speed and wealth of other hardware that they jammed into their device), the comparison above is not quite fair.  From what I've read, Velleman is being conservative with their specs, applying them equally to all waveform outputs, including arbitrary - while it appears Hantek is being slightly optimistic in theirs.  The Velleman does clean simple waves (like the sine) to 5MHz and can do perfect sine sweeps up to 25MHz (half the 50MHz clock speed) from their delivered software.  So from what I gather, the Hantek has perhaps a 4-fold advantage in real speed comparisons with clean sine waves (5MHz to 20MHz), but less with complex waveforms since it has half the sample size (4KSa vs 8KSa in the Velleman).  The Velleman also has a switchable low-pass filter on the output which the Hantek is lacking - but I'm hoping to rectify that.

BTW, not trying to dis the DDS-3X25 - I'm on the path to buying it myself - but I just thought the Velleman deserved a more accurate comparison  :)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on July 09, 2011, 09:48:54 pm
Hello marmad,

Yes, no worries, a critical eye always helps to identify more things to fix or exploit.  I was using their advertised frequency capability to compare both.  I agree with your comments.  Clearly both have pros and cons the more you dig into it.   For example, you could play with the sweep capacity to output long durations of a single frequencies far above 2 MHz to overcome its limit.

More info on the forums:

http://forum.velleman.eu/viewtopic.php?f=11&t=3267 (http://forum.velleman.eu/viewtopic.php?f=11&t=3267)

http://forum.velleman.eu/viewtopic.php?f=11&t=6079 (http://forum.velleman.eu/viewtopic.php?f=11&t=6079)



Quote
The Velleman is 2 MHz, the Hantek is at 20 MHz.  See rf-loop post on the 'flatness' of the spectrum, suggests there are minimal sine harmonics to 3 MHz to be on par with the Velleman for say, audio work, to compare with Velleman, were a tests has it it clean to ~ -90dB.

@saturation

Just a note: even though I'm tipping towards buying the Hantek (for the raw speed and wealth of other hardware that they jammed into their device), the comparison above is not quite fair.  From what I've read, Velleman is being conservative with their specs, applying them equally to all waveform outputs, including arbitrary - while it appears Hantek is being slightly optimistic in theirs.  The Velleman does clean simple waves (like the sine) to 5MHz and can do perfect sine sweeps up to 25MHz (half the 50MHz clock speed) from their delivered software.  So from what I gather, the Hantek has perhaps a 4-fold advantage in real speed comparisons with clean sine waves (5MHz to 20MHz), but less with complex waveforms since it has half the sample size (4KSa vs 8KSa in the Velleman).  The Velleman also has a switchable low-pass filter on the output which the Hantek is lacking - but I'm hoping to rectify that.

BTW, not trying to dis the DDS-3X25 - I'm on the path to buying it myself - but I just thought the Velleman deserved a more accurate comparison  :)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on July 10, 2011, 03:47:16 am
...but less with complex waveforms since it has half the sample size (4KSa vs 8KSa in the Velleman)...
i still dont have a need for complex arbitrary wave, sine is still the mostly i used. and i still dont have a clear clue on what application of deep memory for complex arbitrary is really essential, except maybe in a very specific (but seldom) app like medical device that read heartbeat or simulating sensor output etc. but i guess that will be seldom for me. anyway, the IO output (12bit) the 3x25 provided, i'm thinking a way if we can output digital data like out of it. my current imagination is an arbitrary (analog) wave editor and at the same time we can see the equivalent digital data, or vice versa, we specify the digital data (serial or parallel) and we can see the equivalent analog wave. well, thats something for me to play later.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on July 10, 2011, 04:11:25 am
Quote
the IO output (12bit) the 3x25 provided, i'm thinking a way if we can output digital data like out of it.

You can use Digital Output pin 11 (in generator mode it would reflect the the MSB of the DAC) as the Sync out.  If you generate full-scale simple waves (sine, square, triangle or saw) DO11 will be the same as a sync pulse out - although it is still just another unbuffered pin of the FPGA - although it might not suffer crosstalk problems with the Output since it's laid out farther away on the PCB.

Sample generator output image - 10 bits in image, but it's the same with 12 bits.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: alm on July 10, 2011, 09:24:45 am
What's the point of buying an arbitrary waveform generator for just the sines? A dedicated function generator or even frequency generator will have a cleaner output, better amplitude control and proper controls.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on July 10, 2011, 11:32:33 am
What's the point of buying an arbitrary waveform generator for just the sines? A dedicated function generator or even frequency generator will have a cleaner output, better amplitude control and proper controls.
i bought a sine generator up to 100MHz for $100++, and am not an audio people, and am not a true professional engineer. + other bonuses mentioned. - standalone"liness", lcd screen and low noise.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on July 10, 2011, 03:43:19 pm
Quote
What's the point of buying an arbitrary waveform generator for just the sines? A dedicated function generator or even frequency generator will have a cleaner output, better amplitude control and proper controls.

True, but I'm not sure where you get a 20MHz function generator (with the added counter and digital IO stuff this thing has) for ~$150... and it's the proper controls that cost much of the money.  This has 6 digital inputs... for a quick and dirty FG with set frequencies, it would be easy to rig some controls to the front of the unit and write some simple control software - for example:
1 bit for push-button function select: alternate between sine, square, triangle, ramp, noise, am/fm, exponent, etc.
3 bits for range: 1Hz, 10Hz, 100Hz, 1kHz, 10kHz, 100kHz, 1MHz, 10MHz
2 bits for multiplier: x1, x2, x5 ,x7.5

I guess my point, as saturation pointed out, is that the DDS-3X25 is a cheap hacker's delight  :)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on July 11, 2011, 12:58:24 pm
Just bought the DDS-3X25... now I just have to wait on the long trek of China Post  :)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on July 11, 2011, 03:31:28 pm
Great! Welcome to the club.  Please give us feedback also on the buying process and what the package was like when you finally received it.  Enjoy.


Just bought the DDS-3X25... now I just have to wait on the long trek of China Post  :)

Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on July 11, 2011, 04:44:35 pm
Quote
Great! Welcome to the club.  Please give us feedback also on the buying process and what the package was like when you finally received it.  Enjoy.

Thanks!  I bought it on eBay last night from testinstru - notified today that it had been shipped already.

I would LOVE mine to come with an external ROM for the Spartan3AN so that I could pull the firmware out and play with it - but I'm not too optimistic  ;)  But I'll certainly get the logic analyzer connected to the pins of it and the DAC to see exactly what the timing is like between the various pins - and how they are used - for example, the 18 pins used for the multiprocessor link - when each call is made to the DLL.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on July 11, 2011, 05:50:34 pm
I just perused eBay and now there are a more vendors today that have them for sale, even one USA seller, rikoinstruments.  If the unit isn't off production we have a chance of writing them to release some documentation in exchange for improving their software, as Velleman has done.  It should benefit their sales, so there is incentive for them to cooperate.

Thanks!  I bought it on eBay last night from testinstru - notified today that it had been shipped already.

I would LOVE mine to come with an external ROM for the Spartan3AN so that I could pull the firmware out and play with it - but I'm not too optimistic  ;)  But I'll certainly get the logic analyzer connected to the pins of it and the DAC to see exactly what the timing is like between the various pins - and how they are used - for example, the 18 pins used for the multiprocessor link - when each call is made to the DLL.

Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on July 21, 2011, 01:00:25 pm
I received my DDS3X25 today.  All seems to work fine - and as previously described here.  I looked inside - same v1.4 PCB and same chips wiped with the exception of the USB controller - which, as Tinhead pointed out in a previous message, was a STM32F103Cx.  What's funny is that they wiped the DC-to-DC converter markings instead - so I think their mind was wandering for a moment ;)

Since the Sync Out is problematic, I wanted to compare it versus Digital Output 11 - which (in generator mode) is the high-order bit of the Waveform Pattern.

First image is a direct comparison - Channel 1 = Sync Out / Channel 2 = DO11

Second image shows DO11 superimposed on a 1MHz triangle wave output from the DDS3X25.  Notice that it changes state at zero crossings of the output waveform, unlike the Sync Out.  That means by putting a jumper between DO11 and any of the Digital Inputs (0-5), it might be possible to write sweep software which changes frequency only at zero crossings - avoiding much of the glitching that might happen otherwise.

Third (Sync Out) and fourth (DO11) images show a single shot 1MHz sine wave triggering a single sweep of the scope.  Sync Out does not appear to respond correctly, but D011 does - and, the period is 1/2 that of the output waveform.

Fifth image shows a 75MHz sine wave along with the DO11 output.  Unlike Sync Out, there is no glitching or out of step problem.

Note - all of the measurements were made with the following setup:
Waveform Output and Sync Out through BNC cable terminated with 50 ohms at scope.
DO11 Output through a ribbon cable (no shielding), then alligator-clipped to a BNC cable terminated with 50 ohms at scope.

When I find some more time, I will get inside with a logic analyzer - and try to glean some better information about what the firmware is doing with various control lines.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on July 21, 2011, 02:50:32 pm
dude!
1) save as png or jpg. those bmp's can easily waste half a meg on dave's server. and bandwidth of thousands others.
2) enable frequency counter on your scope so i dont have to take out my calculator
3) retry at odd frequency, like 3MHz, 33MHz, 74.7MHz. 1MHz and 75MHz are known to be "Synch Out" stable
4) How do you manage to output single pulse? teach me the code!
5) How do you manage to sweep at zero crossing by shorting D11 to input? pls explain in detail start from PC App down to signal generation.
6) By right D11 is just least significant digital value of what we see analogically in "Output", so by right it should follow (in synch) with "Output" at any freq, as said, retry (3)
7) Dont quite understand whats the blue trace on pic #3 and #4.
8} Thanks for the report. Hope to hear again.
9) Cheers ;)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on July 21, 2011, 05:28:57 pm
Great job marmad, a lot to digest, so more later.  Was your purchase experience without a problem? I presume so as you didn't mention it and you went straight into putting it to work  ;D .
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on July 21, 2011, 05:44:29 pm
Quote
1) save as png or jpg. those bmp's can easily waste half a meg on dave's server. and bandwidth of thousands others.

Sorry! I would normally... I just spaced out  :P - Just changed them to pngs  ;)

Quote
3) retry at odd frequency, like 3MHz, 33MHz, 74.7MHz. 1MHz and 75MHz are known to be "Synch Out" stable

Done - see below.

Quote
4) How do you manage to output single pulse? teach me the code!

Unfortunately, it doesn't seem to be able to be done reliably with just code (at least I can't get it to repeat more than a few times) - it seems to need a real hardware trigger to be consistent.   But you can do it a crude way in software; for example,  use Hantek software, select Single Wave, then click Ext Trig over and over again.  After a few clicks you will get a transition glitch which will send the wave.

But the correct, reliable way is to give it a real trigger.  So I took D011 output again (this time set to Programmable Output - not Pattern Generator) and I fed it into the Trig In (see photo).  Then every time you change the bit high (or low with falling edge) it sends the waveform. But this is only needed for consistency - software method above is fine for testing.

Quote
5) How do you manage to sweep at zero crossing by shorting D11 to input? pls explain in detail start from PC App down to signal generation.

I haven't tried it yet - only theoretical -- but for example:

Put a jumper wire from D011 pin to DI0 pin on front of Hantek - then in a silly recursive loop example:

:startSweep
    Dim startFreq as Double = 1000
    Dim lastFreq as Double = 100000
    Dim stepAmount as Double = 1000
    Dim stepPeriod as Integer = 100
    DDSSetFrequency(hWnd, startFreq, g_nWavePointNum, g_nWavePeriodNum)
    DDSDownload(hWnd, arBuffer(0), g_nWavePointNum)
    Gosub newSweepFreq(startFreq + stepAmount )
end

:newSweepFreq(start)
    Dim digInput as Integer = 0
    ' Have to have some code here to wait the step period first
    If start > lastFreq Then Return
    ' Wait through approximately one high and one low of DO11 - in other words, 1/frequency
    Do Until (digInput)
      If NOT DDSGetDigitalIn(hWnd, digInput) Then Exit Sub  ' unplugging DDS3X25 would break out of permanent loop
    Loop
    Do Until (NOT digInput)
      If NOT DDSGetDigitalIn(hWnd, digInput) Then Exit Sub
    Loop
    DDSSetFrequency(hWnd, start, g_nWavePointNum, g_nWavePeriodNum)
    Gosub newSweepFreq(start + stepAmount )
    Return
End Sub

I will try it with your source code base sometime in the next day or two - but if you manage to do it first, let me know!!

Quote
6) By right D11 is just least significant digital value of what we see analogically in "Output", so by right it should follow (in synch) with "Output" at any freq, as said, retry (3)

Almost right... D011 is the MOST significant bit of the DAC - so it will have the exact frequency (but offset 180 degrees) of any simple waveform out (sine, square, triangle, saw) as long as you have amplitude at maximum (+3.5) so that the DAC is swinging peak-to-peak.

Quote
7) Dont quite understand whats the blue trace on pic #3 and #4.

Blue trace shows what (#3) the Sync Out does when you use single wave output; (#4) D011 does when you use single wave output (in Pattern Generator mode at full-scale).

Quote
Was your purchase experience without a problem?

Yes, saturation - testinstru (from eBay) is a great seller - good communication - fast shipment - and well-packed.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on July 21, 2011, 06:31:32 pm
I will try it with your source code base sometime in the next day or two - but if you manage to do it first, let me know!!
sorry i'm not in the "state" or mood. i'll be looking forward for your result. but iirc, the signal wont get changed/updated even at frequency level by calling DDSSetFrequency only. you have to call both including the DDSDownload, ie change both frequency and data to get the signal or sweep working/updated. and i suspect there will be usb latency/delay issue that make zero crossing sweeping unreliable. but i hope u'll get different result. i can see hack possibility by feeding the digital output to trigger in your last picture. keep it up, and dont blow anything. :P
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on July 22, 2011, 01:04:18 am
Quote
keep it up, and dont blow anything.

I thought I did earlier  :o  It's really possible to lock this thing up so badly that you have to unplug the power for awhile to bring it back to working order.

Quote
the signal wont get changed/updated even at frequency level by calling DDSSetFrequency only. you have to call both including the DDSDownload

Did you play around with the undocumented commands: DDSGetDivNum and DDSSetDivNum?  They are clearly effecting the clock divisor somehow, but I haven't been able to figure them out.  One thing I did discover though - if you use DDSSetDivNum, you can use DDSSetFrequency immediately after to change the frequency (without using DDSDownload), but the frequency is not exactly what you expect - it's some combination of SetDivNum and SetFrequency which I can't comprehend.  I haven't been able to manage to call DDSGetDivNum correctly to retrieve data or I could probably figure out the combination. 

There are also these other undocumented commands in the DLL (most likely related to Hantek's 8060 Scope/DMM/Signal Generator):

DMMAC_10A
DMMAutoACV
DMMAutoAC_mA
DMMAutoDCV
DMMAutoDC_mA
DMMAutoOHM
DMMCap
DMMContinuity
DMMDC_10A
DMMDiode
DMMManualAC_600V
DMMManualAC_600mA
DMMManualAC_600mV
DMMManualAC_60V
DMMManualAC_60mA
DMMManualAC_60mV
DMMManualAC_6V
DMMManualAC_800V
DMMManualDC_600V
DMMManualDC_600mA
DMMManualDC_600mV
DMMManualDC_60V
DMMManualDC_60mA
DMMManualDC_60mV
DMMManualDC_6V
DMMManualDC_800V
DMMManual_600KOHM
DMMManual_600OHM
DMMManual_60KOHM
DMMManual_60MOHM
DMMManual_6KOHM
DMMManual_6MOHM
DMMReStart
DMMRead
DMMRel
DMMTest
DMMsAC_10A
DMMsAutoAC_mA
DMMsAutoDC_mA
DMMsDC_10A
DMMsManualAC_600mA
DMMsManualAC_60mA
DMMsManualDC_600mA
DMMsManualDC_60mA
DMMsRead

It seems possible that Hantek, to save design and programming time, might be using the Multiprocessor Link pinouts (3X25) on the FPGA for the ADC conversion pins (8060).  Figure out the pins and circuitry and you could add even more hardware onto our little box  ;D
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on July 22, 2011, 01:20:22 am
i did notice DDS*etDivNum function but dont know how to call with correct parameters. i didnt notice though the many list you provided, i dont have the tool. but since i dont have the proper parameters type and count, so i just leave them. i dont have enough time and power to reverse all of them. i hope you can come up with something.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on July 22, 2011, 01:28:47 am
I sent Hantek an email saying my company needs more accuracy in the software we are writing for the device, and is it possible to know how to use the DDS*etDivNum functions.  I don't really expect a response - but who knows - stranger things have happened.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on July 22, 2011, 03:50:04 pm
Well, as I start to play around with controlling the DDS-3x25, I start to realize why it is so much cheaper than other devices in the same range.  I hadn't really looked closely at the software before, but now it starts to become clear.

I don't think the Hantek could be described as true DDS (Direct Digital Frequency Synthesis) at all - that is, if you define important processing blocks like a phase-accumulator and a waveform look-up table to be integral parts of DDS. The Hantek is lacking those things, but it seems it tries to mimic those functions (which should be in hardware) with the upper level software.  Hence the source of the glitching and the jitter and the lag times.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on July 23, 2011, 12:17:58 am
yes its just fpga, dac and an op amp. do you have link to a proper DDS architecture?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on July 23, 2011, 12:48:35 am
Quote
do you have link to a proper DDS architecture?

Link? you mean like: http://zone.ni.com/devzone/cda/tut/p/id/5516 (http://zone.ni.com/devzone/cda/tut/p/id/5516)  - or -  http://www.analog.com/library/analogDialogue/archives/38-08/dds.html (http://www.analog.com/library/analogDialogue/archives/38-08/dds.html)  - or -  http://en.wikipedia.org/wiki/Numerically-controlled_oscillator (http://en.wikipedia.org/wiki/Numerically-controlled_oscillator) ?

I didn't understand exactly what the Hantek was doing until I started trying to control it.  I thought they had implemented the phase accumulator inside of the FPGA. Whoever designed the circuitry and wrote the firmware for the Hantek are idiots!  The functions are so badly implemented; I thought you could at least set a sample length (up to 4096) and a frequency - instead, it tells you how long the sample length has to be!  Plus, there is no direct control of the clock or a lookup table or... well, pretty much all the stuff of DDS.  But you already know all of this.

They aren't really being truthful in their promotional material; for example, the manual says:
"DDS-3X25 adopts the DDS technology so that it has the advantages of high frequency accuracy, high waveform resolution, high reliability, and wide software support."

Now I have to decide whether to keep it or resell it and get the Velleman, which is true DDS (see attached block diagram), but slower,  and costs about € 15 more.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on July 23, 2011, 11:57:12 am
oo ok. quite a rant, if you happen to get the velleman, dont forget to do a review and tear down ok? ;)
btw, what do you expect the black box (below) will be, ie the phase accumulator, look up table and frequency selector (in another link)? a bunch of discrete components? or another specialized chip?
(http://zone.ni.com/cms/images/devzone/tut/dhall_dds_image2.JPG)

and yes i agree, their firmware and pc software writers are idiot they dont have a clue on signal generator usage, no user frequency tunable while maintaining waveshape, and the DDSSetFrequency returns strange number of points value to be used, it doesnt use full potential 4K points, mostly only half of it. but there's workaround for the later, ie you can pass the DDSDownload with any number of point you want up to 4096 points, but the drawback you have to calculate the Output frequency will be on your own and not in synch (your hack might give some hope). on hardware side i'm not sure about their idiocy, but i believe its the simplest design we can have, hence probably the cheaper price albeit high frequency capability, since i've made a tear down photos and not get any bad reply from experts. rufus here (https://www.eevblog.com/forum/index.php?topic=4188) did teardown photos on his £900 AWG showing proper circuitry.

btw off topic, while looking for logic analyzer, hantek also got LA5034, 34 channel at whooping 500MSa/s, $200++ reused their 3x25 housing just different printing. i wonder whats inside, maybe just another fpga feed by 34 LA input. dont ask about their SW crappiness, its proven here. but will it be a good buy? if we really need a fast sampling LA? i dont know but i would like to hear some advice.
http://cgi.ebay.com.my/34CH-500MHz-USB-PC-Digital-Logic-Analyzer-HANTEK-LA5034-/310278713967?pt=BI_Analyzers&hash=item483e0d726f (http://cgi.ebay.com.my/34CH-500MHz-USB-PC-Digital-Logic-Analyzer-HANTEK-LA5034-/310278713967?pt=BI_Analyzers&hash=item483e0d726f)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on July 23, 2011, 12:20:35 pm
Quote
oo ok. quite a rant

Ha, ha... yes... up too late last night frustrated with trying to control the damn thing.  But I'm back at it today - testing some more  ;D

Quote
btw, what do you expect the black box (below) will be, ie the phase accumulator, look up table and frequency selector (in another link)? a bunch of discrete components? or another specialized chip?

Definitely hardware -- it can just be a cleverly programmed FPGA - that's how Velleman does it - their schematics are public and published.  That's why I thought that the Hantek did something similar.

Quote
and the DDSSetFrequency returns strange number of points value to be used, it doesnt use full potential 4K points, mostly only half of it.

Yes, when you use DDSSetFrequency, it actually sets a clock divider (immediately) then tells you what sample length to create for that clock rate.  But I thought we could get around the latency problems a bit by creating a lookup table in software memory, then just appplying amplitude and offset before DDSDownload. What do you think?

Quote
on hardware side i'm not sure about their idiocy, but i believe its the simplest design we can have, hence probably the cheaper price albeit high frequency capability,

Well, as I mentioned above, they could have programmed their FPGA for true DDS - but you're right that they probably couldn't have gotten the high speeds if they had done that.  And I think for the sales, they were just interested in the highest speed numbers - not true or perfect DDS.

Quote
btw off topic, while looking for logic analyzer, hantek also got LA5034, 34 channel at whooping 500MSa/s

Yes, I saw this... check your messages for more.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: alm on July 23, 2011, 12:39:42 pm
The specs for that LA sounds close to the Intronix LogicPort (http://www.pctestinstruments.com/logicport/specifications.htm), I wonder if it's a clone.

Note that software is critical for a PC-based LA, triggering, decoding and searching through signals are essential for operating an LA. I wouldn't buy a LA without first trying the software. I hated the Zeroplus software, for example.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on July 23, 2011, 01:19:17 pm
Nice discussion.  I see it a little differently, what we want out of the 3x25 is a function generator with defined distortion and stability in its frequencies, how this is done is another thing.

If this can be done cheaply by a hodge podge approach yet still provides the primary functionality, then its really a good thing.  I think we've seen its strengths and weaknesses as we continue to dissect it.

I've seen 'bad' analog designs by Horowitz and Hill's criteria such as in preamp stages that are in real products, but they work, so time has proven these to be cost effective.   One example of those is the fan speed controller on the Atten 858D workstation, dissecting it to make it safe also made me laugh.

The Atten 858D workstation is well discussed on eevblog, it really provides stable output heat but not a true scaled measured flow rate, but it drops the cost of hot air workstations 10X against a true brand name, and its 1/3 cheaper than a even knock off Chinese hot air workstation ... its a design unique to Chinese gear as this Hantek is.  All they did is take the controller circuit similar for the Hakko 936 soldering station, and used it to control the heating element of a hot air gun; then they put a variable wire wound pot in a 24VDC circuit to simply drop the supply voltage for the fan, for 'variable' control, how goofy is that?  But it works!  Excess power is dropped into the pot and is wasted,  but the total power of this DC circuit is < 1 watt, and the pot never becomes hot to touch at the lowest speed setting, so it should be reliable if the transformer doesn't fail.

Of course, it has its unfixable problems.  You have line voltage in the handle, which is not allowed in many industrial setting to avoid shock hazard, they prefer DC in hand tools.  But then, hot air guns are allowed by industry for commercial paint stripping, in many powertools, and in consumer items as hair dryers, so why not in a hot air workstation in a non non-ISO certified setting?

Which brings us back to the 3x25.  What more can be squeezed out of it to improve or extend its function generator capabilities?  But if you need it to study true DDS technology I think you've shown its not.




Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on July 23, 2011, 01:39:19 pm
Quote
If this can be done cheaply by a hodge podge approach yet still provides the primary functionality, then its really a good thing.  I think we've seen its strengths and weaknesses as we continue to dissect it.

True.  If I can just get it to output a stable sweep sequence, I will be fine with everything else.  And it may end up working - I'm trying a few tricks today.

But it is important to point out that Hantek is saying they use DDS technology in the device - and they're not really doing so.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on July 23, 2011, 01:55:02 pm
But if you need it to study true DDS technology I think you've shown its not.
i think it is, from all my (limited) reading and latest links above. DDS only convert digital data into analog data (wave) what else does it do? the only thing lacking imho in 3x25 are:
1) adjustable frequency or gain whatever on hardware level (not in fpga)
2) filtering on the output analog signal to reduce noise.
3) good fw implementation in fpga (or pc? ie dll or usb comm) to mimick/simulate (whatever your definition) a DDS.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on July 23, 2011, 02:05:53 pm
I hope you succeed, we will all be merry!  For the bolded items, I couldn't agree more, but we read so many untruths in advertising and worse the spec sheets, from many China branded items that its not worth your effort to take their specs seriously; we all ended up reconfirming performance to see its true capabilities, its a similar story with the Atten 858D workstation story I posted. 

Before I bought mine, early in this thread, I scouted other users who did the initial testing for me.  I think a Japanese radio restorer was using it to repair AM/FM radios, which at least told me it provided a usable output to the top of FM,  ~ 100 MHz.


Quote
If this can be done cheaply by a hodge podge approach yet still provides the primary functionality, then its really a good thing.  I think we've seen its strengths and weaknesses as we continue to dissect it.

True.  If I can just get it to output a stable sweep sequence, I will be fine with everything else.  And it may end up working - I'm trying a few tricks today.

But it is important to point out that Hantek is saying they use DDS technology in the device - and they're not really doing so.

Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on July 23, 2011, 02:07:08 pm
True.  If I can just get it to output a stable sweep sequence, I will be fine with everything else.  And it may end up working - I'm trying a few tricks today.
as long as sweeping function is concerned, its workable, unless during the transition, you just have to wait a little bit before analyzing your circuit behaviour. you get what you pay, you've been warned by me (previous post) about the sweep function long before you buy this stuff. are you sure the velleman is truly stable on sweep? you may end up having unperfect sweep with slower frequency signal :P who knows. to get a perfect sweep i think you need to pay multiples of 3x25 price. maybe our next mission (hack) is to rewrite the fpga! and usb communication :P
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on July 23, 2011, 02:40:09 pm
Quote
DDS only convert digital data into analog data (wave) what else does it do?

No, no... Mecha - you're wrong.  You're just talking about digital to analog conversion.  DDS is more specific - there aren't multiple definitions - and there are certainly parts of the process missing from the Hantek, such as:

1) No lookup table -- every true DDS device I've seen has this as a base - minimum: sine, square, and triangle at full sample length stored in the device.  No need to download data except for AWs.
2) No phase register and accumulator of 2^44 minimum -- think of this kind of like the clock divider plus the bits of vertical resolution -- this is the most important part, since true DDS yields precision in at least the 0.01% realm - not 0.1% like the 3X25 - which is a factor of 10 worse - and accounts for the "non-stable" frequencies.  The 3X25 has a clock divider of approx. 2^16 plus 2^12 bits of vertical resolution.

True DDS works like this in software:  Tell device what waveform you want (e.g. triangle) and the amplitude, offset, and frequency to 6 digits of resolution (e.g. 1.2378Hz) - it does the rest.  Or download AW at full sample depth (e.g. 4096) and tell the device the amplitude, offset, and frequency - it does the rest.

Quote
you've been warned by me (previous post) about the sweep function long before you buy this stuff.

Ha - one always likes to believe one can find solutions where others have not  ;)

Quote
you sure the velleman is truly stable on sweep?

Oh yes, well documented.  But I will continue to see what I can do with this device before seriously thinking about jumping ship.

So, in that realm - attached are some PNGs of the digital outs of the Hantek clocked by the DAC.

1) The setup
2) 1MHz sine wave output - 3.5V pp - 0V offset -- notice sine wave of combined Generator outputs - and Gen11 as nice sync signal.  Also notice all the activity on the bottom 4 pins of the Multiprocessor link.
2) 1MHz sine wave output - 1.75V pp - 1.75V offset -- now there are glitches occurring in the Generator outputs - I have no idea yet why that is happening with a voltage offset.

Edit:  Just shrinking the images a bit for BW considerations
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on July 23, 2011, 03:20:09 pm
Ha - one always likes to believe one can find solutions where others have not  ;)
i know how that feels like ;) i hope you will
nice picture on your logic probing. strange i havent seen the glitch on 1.75V offset there, does it tally with digital data? ie can you see glitch in digital data as well?
you are tapping the dac pin? what is it clock? have you figure out what dac it is?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on July 23, 2011, 03:48:41 pm
Quote
strange i havent seen the glitch on 1.75V offset there, does it tally with digital data?

Actually, I'm seeing other glitches now even without the offset - I'm starting to believe it's caused by the unbuffered, unpulled pins of the FPGA - but I will investigate further.  It might be crosstalk.

Quote
you are tapping the dac pin? what is it clock? have you figure out what dac it is?

Yep, pin 28 is the clock.  I think it is the DAC you discovered earlier (ISL5857 or ISL5861).
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on July 24, 2011, 03:23:37 am
I've been trying to work out how the hardware clock divider works on the Hantek...

It seems any frequency > 48,828Hz,  which is the maximum frequency the hardware could clock the full sample buffer (i.e.  clock / sample buffer = 200MHz / 4096 = 48,828Hz) follows the formula:

clock / (sample length / sample step) = fOUT
   where
sample length is an integer >= 2000 && <= 4095  [12 bits - it rolls to 4096 at 25MHz or above]
   and
sample step is an integer >=1 && <= 2047  [11 bits]

You can easily determine the frequencies the device can handle - for example:
200MHz / (2000 / 1) = 100,000Hz
The next highest frequency the device can do is:
200MHz / (3999 / 2) = 100,025Hz
then
200MHz / (3998 / 2) = 100,050Hz
and so on.  You can test this easily by feeding the output back into the frequency counter and trying to set the device to 100,010Hz in the Hantek software - it will instead go to ~100,025Hz.

The sample length and sample step numbers are what you get back when using the DDSSetFrequency command.  But I'm not sure how the divider works for <= 48,828Hz since the numbers returned in that case don't make sense in a formula.  I think that the undocumented DivNum setting is a part of the divider chain that's missing (in terms of math) for lower frequencies.  When you try to SetDivNum (undocumented - I'm not sure how to call it correctly so I just send it a Long variable), the clock gets very slow and the frequency drops very low.  Then you need to use SetFrequency to get it dividing correctly again.

Any thoughts, Mecha?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on July 24, 2011, 05:22:07 am
nop. i'll refer back to this formula when i'm working back on it.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on July 30, 2011, 04:18:57 am
I found another weird little bug in the Hantek while writing my software for it:  there seems to be a range of frequencies that cause the clock to lose a divider bit - but I'm not sure how this happens (some firmware bug or  incorrect design inside the FPLA) or if it's just confined to my unit.

Could someone (Mecha???  :D ) see if this exists on their unit as well? I'd appreciate it.

It's easy to test: just hook the output into the count input = start the Hantek software - set the frequency for exactly 50,000Hz.  This should be a perfect frequency for the Hantek running a 200MHz clock. It's suppose to use a 4000 pt sample length to get the correct frequency (200MHz /400 = 50MHz) but instead it drops a bit and uses 3999 and ends up precisely on the frequency 50012.5Hz  On my unit it appears to do this with all frequencies in the approximate range of 30kHz to 60kHz.  This is definitely something happening inside the device, since it does the same thing with my software or with the Hantek software.

On another note, the first version of my control software is almost done - just ironing out bugs in the logarithmic sweep routing - it incorporates Mecha's stable sync feature - with a function generator interface.  Hopefully I'll get it posted in the next day or two.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on July 30, 2011, 04:27:35 pm
some mistake in your calculation, please clarify. i assume its 50kHz you are asking. so i tried that no problem, as my little tool reported (data length) below, its using 4000 points (returned from DDSSetFrequency), not 3999. and my "poor" rigol's frequency counter says 49.992kHz. set hantek to 30kHz, read by rigol as 30.0026kHz (3333pts), 40k = 39.9995k (2500pts), 60k = 60.0053k (3333pts). anyway does your software looks like in the 2nd picture? ;) i'll be looking forward to it.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on July 30, 2011, 05:51:01 pm
Quote
some mistake in your calculation

Thanks for the test!  Hmmm... it must be a blip in the frequency counter on my Hantek (I don't have a new scope yet to try test on) - it was just so repeatable, I assumed it was a settings bug.

Here's the first version of the new software... I borrowed code from you and from another person's AWG interface - I will put credits in the About box in the final version.

I don't have time at the moment to write help for some of the features - but the only things which are still unfinished:  About/Help (of course), a waveform display, and the arbitrary wave editor library functions, but all other settings and features of the DDS-3X25 are implemented.

Main thing to note: when you set a frequency, you get returned the actual closest frequency the Hantek can respond with - or, with Stable Sync (shafri's code) selected, the closest frequency the device can do with a stable Sync output.

I will post more info about the features and pictures of a test rig later tonight or tomorrow.

Enjoy.

Edit: Fixed "comm failure" bug; changed sweep output to no pause between waveforms; enabled frequency tuning in Display Controls (double-click Current Settings): allows tuning of frequency or voltage data sent to the Hantek (or frequency1 display in the software) to correspond with real world data.

DDS3X25Ctl_0_9.zip (74.78 kB - downloaded 8 times.)

Edit2:  Removed this version - and posted newer version (with bug fixes and some added help) in post on Page 19 of this thread.

DDS3X25Ctl_0_9_1.zip (75.17 kB - downloaded 14 times.)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on July 30, 2011, 06:50:57 pm
ok tried that, cool, esp the 7 segments display on bottom left. tried the 50kHz freq, no problem my rigol still read 49.9993kHz.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on July 30, 2011, 07:39:30 pm
If you double-click Current Settings, you can change all displays to 7 segment exponent display.

You could test the sweep and log sweep for me - i don't have a scope at the moment to see the output.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on July 30, 2011, 08:01:41 pm
You could test the sweep and log sweep for me - i don't have a scope at the moment to see the output.
for your sake. there one peculiar though about your sweep. there's a "pause" in your sweep, i dont know if its intentional. its like you leave the remaining points with zero volt. and i dont like when i unplug the hantek, your software keep saying "comm failure" without giving me chance to abort. i dont think its a good way, i have to use "end process" button in task manager now. :P
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on July 31, 2011, 04:19:30 pm
Quote
there one peculiar though about your sweep. there's a "pause" in your sweep, i dont know if its intentional.

Looking today at your scope snapshot with fresh eyes makes me realize that the "pause" is waaaay too long - it should only be the time it takes to DDSSetFrequency and DDSDownload, which can't possible be 250ms - so it must be a bug.  That's the problem with programming without a scope to check output  :D

I'll try to find it - then post the new version with that correction and the "comm failure" correction - and write a little bit of help for some of the features.

Posted bug fix above.

Quote
anyway does your software looks like in the 2nd picture?

I don't mind mimicking a physical button layout from the real world in software to make it easier for entry (or learning), but I'm against the trend of making software programs "look" like actual objects (perhaps started by Apple with the original QuickTime player). I think it's often non-intuitive and ugly.  I'm also totally against using software "knobs" to set values (like in the Hantek software) - it's ridiculous.  Knobs are a real world device that are easy for life-forms with opposable digits - they are totally nonsensical for a virtual interface using a moving pointer.  He, he... that is my interface rant for the day  ;)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on August 01, 2011, 12:52:49 am
the "pause" is waaaay too long - it should only be the time it takes to DDSSetFrequency and DDSDownload, which can't possible be 250ms - so it must be a bug.
Posted bug fix above.
now better no more pause but, transition glitch is inevitable (first picture) :P . while playing around with Tektronix ArbExpress, i see one way to implement smooth sweep is by calculating the whole sweep frequencies in one whole data points, i mean in 2nd picture, send that data once and let the "DDS" AWG do the dancing.

Quote
anyway does your software looks like in the 2nd picture?
but I'm against the trend of making software programs "look" like actual objects.. I'm also totally against using software "knobs" to set values (like in the Hantek software) - it's ridiculous.
funny thing is i think you are right. the fact is i've been developing that "goltek" controller interface (previous post) and everything (buttons, knob, UI) are now working, button blinks when clicked, knob rotating etc. but try to develop the real functionality of the controller drove me crazy. i had to think the real device operation and how the OS work. i have to think in "state machine" mode try to mimick it as close as possible and its just nuts. i think i'll revert to simpler interface and concentrate more on practical functionality. forget the funboys geek that will whine when they see ugly UI (grey rectangle buttons), they are aesthethical evangelist that i should ignore :P

*<@&------------'^()^'------------&@>*

i think its time for me to ask the OP (saturation) if we really should create another thread to discuss and publish the software side of this hantek device, since i'm expecting there will be more and i'm afraid it will contaminate this thread which purpose is mainly "hardware" discussion. some people will not expect this "software" discussion here i think. or can we just carry on here?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on August 01, 2011, 02:17:41 pm
Quote
now better no more pause but, transition glitch is inevitable (first picture)

O.k., I hoped that the Hantek was clever enough to finish the current waveform then pause until the new waveform was downloaded - but it clearly isn't.  I will go back to my original method and stop the output first.  But I will try to improve the timing... gosh, working in VB6 is kind of exhausting.

Quote
while playing around with Tektronix ArbExpress, i see one way to implement smooth sweep is by calculating the whole sweep frequencies in one whole data points, i mean in 2nd picture, send that data once and let the "DDS" AWG do the dancing.

I saw that in ARB Express and thought about it too, but I don't think 4096 points is long enough to do any serious sweep with.  Most of the Tektronix AWGs have over 64kpts and many have over 8Mpts.

Quote
and publish the software side of this hantek device, since i'm expecting there will be more

Good point.

Edit:  I just timed the downloads to the Hantek - wow, they are slower than I expected! ~262ms for 2048pts - no wonder I have that long gap in the sweeps.  That is even 10 times slower than the rated low-bandwidth speed of USB 1.1 (why can't these companies implement USB 2.0???).  That points out the big problem with not having a lookup table built-in to the device.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: tinhead on August 01, 2011, 03:45:02 pm
That is even 10 times slower than the rated low-bandwidth speed of USB 1.1 (why can't these companies implement USB 2.0???).  That points out the big problem with not having a lookup table built-in to the device.

maybe it is time to write new firmware for the STM32.

Btw, the DSO8060 does have complette DDS 3x25 on board, did someone tried this software with 8060 too already?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on August 01, 2011, 05:56:21 pm
Quote
maybe it is time to write new firmware for the STM32.

That would be nice  :)

Quote
did someone tried this software with 8060 too already?

I don't know about that, but I did take a look inside the DLL for the 8060 to see if I could find any undocumented commands I might use with the 3X25, and I noticed that they only implemented 4 functions for the AWG: DDSSetFrequency, DDSDownload, DDSSetPowerOn, and DDSSetSyncOut (which isn't implemented on the 3X25).
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on August 02, 2011, 04:50:52 pm
After much data-sifting, I think I've finally cracked the internal logic and formula for exactly how the DDS-3X25 sets the DAC clock and decides on the number of points for any given frequency.  I've written a little piece of software to demonstrate.

Normally, to generate a certain frequency, you first send the desired frequency to the DDS-3X25 with the DDSSetFrequency command - which causes the MCU to set the DAC clock rate, and returns to you the number of points you should use to create the waveform and the number of cycles of the wave within that given number of points (since, as discussed previously, the DDS-3X25 is missing a built-in lookup table of simple waveforms).  Once you create the waveform sample, you download it to the device with the DDSDownload command, specifying again the number of points, which in turn sets the actual frequency generated by the device (DAC clock rate / (points / cycles)).

But once you do the above, you can actually change frequencies again by just altering one or the other settings, but up until now, I've been unable to figure out exactly how to do this predictably.

To test the software, just hook the Output to the Count In (no 50ohm termination required):
1) Enter a number in 'Current frequency'
2) Click 'Calculate data based on current frequency' - this will cause the software to calculate the real frequency, number of points, and DAC clock rate the 3X25 will use.
3) Click 'Set frequency and download points' to send the data to the device and see the actual output in the Frequency Counter box.
4) Then play around with either changing only the frequency or the number of points, clicking the associated 'Calculate' button first before sending to the device, then downloading only that new frequency or new number of points to see the actual change.

To test the precision of the calculation, enter 195312.49 as 'Current Frequency' and calculate. Note the real frequency and number of points, then download to the device. Then unlock and enter 195312.5 as 'Current Frequency' and calculate. You'll notice that the real frequency produced by the device is exactly the same, but the number of points which will be requested by the Hantek has changed, based on it's internal logic.

Notes:
1) On my Hantek, it appears that the DAC clock divider drops one bit on frequencies < 60kHz (@Mecha - this has nothing to do with the number of points returned by DDSSetFrequency - it's internal to the FPGA) or else my Count In is drifting on those frequencies.  In any case, I've included a setting (Drop Bit < 60kHz) to include that in the calculation.  It's off by default, but the software starts with a nice slow test frequency of 100Hz already entered and calculated.  Download it to the device and check the Counter box; test by clicking the Drop Bit On and re-calculate to see if it is more precise.

2) Some combinations of frequency and points will cause some drifting of the frequency - this is just inherent in the design of the hardware.

3) Some changes of frequency and/or points will not change the output frequency because they are not altering the DAC clock rate; for example, if you start with a frequency > 48828.125Hz then the DAC clock will be set to full speed (200MHz) - so trying to change the frequency by only giving the device another frequency > 48828.125Hz won't work since the clock is already running at full speed.  Instead, change the frequency < 48828.126Hz or change the number of points.

4) I'd appreciate feedback from anyone who tries this - just let me know if it's working correctly on your device or not - and if the Drop Bit was needed for precision.  Thanks!

Edit:  Added another small piece of software that tests running an (almost) logarithmic sweep (using the technique detailed above) by just changing the DAC clock rate - not the points - so no delay, no pauses, and perhaps no glitches.   I'm currently without a scope, so I can't look at the output, but perhaps Mecha or someone else can check what it looks like when it changes frequency.  Just start, chose a waveform, and click 'Run Sweep' (use 'Repeat Sweep' for continuous).

SweepTest.zip (73.7 kB - downloaded 2 times.)

Edit2:  Refined the sweep test - it now does an almost perfect audio logarithmic sweep - from 10Hz to 40kHz - by reverse calculating dividers to set the DAC clock to in order to generate the desired output frequency, but without downloading points (which causes delays and glitches).   It gets as close as possible given the hardware limitations, and only misses a couple of frequencies.  Hopefully it will be glitch free.

DDSClock.zip (15.64 kB - downloaded 5 times.)

Edit3:  Fixed a bug I just noticed in my clock test software which overwrote the original number of points (internally) when downloading just the frequency - causing subsequent changes to just the frequency being calculated incorrectly.  I think (err... hope  ;) ) it's bug-free now.

SweepTest2.zip (74.33 kB - downloaded 5 times.)

Edit4:  Attached working... um, I think  ;) SweepTestv3.  Also, accuracy of clock formula hack confirmed by another 3X25 user - so here it is:

To get the DAC clock rate for any frequency:

HantekClock = 200000000
divisor = Int((HantekClock / freq) / 4096) * 2
If divisor = 0 Then divisor = 1
DACclock = HantekClock / divisor

'To get the number of points and periods which the Hantek will return for a given frequency - and the real frequency the device will output (not what you give it):

periods = 1
points = DACclock / freq
If points < 2000 Then periods = Fix(4096 / points )
points = Fix(periods * points )
realFrequency = DACclock / (points / periods)

'The following code corrects the drop bit error (if your device has it) in the software output, and gives me an exact frequency count at any setting. The code is done this way because sometimes the real frequency calculated is > 59988Hz,  while the original frequency requested was below:

If realFrequency < 59988.003 And periods = 1 Then realFrequency = HantekClock / (points * divisor - 1)
If realFrequency >= 59988.003 Then realFrequency = HantekClock / (points * divisor)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: onlooker on August 05, 2011, 02:14:49 am
I have been following this thread for a while and bought the device based on the recommendations here. I really appreciate all the info provided here.

But, I also feel the info here is a little scattered, often implied or side tracked by off topics. For this, I am here trying to summarize my understanding of what is said/known in terms of software control of the device with some of my takes (Please correct).

1). The two functions that really matter are
  DDSSetFrequency(F_user/*IN*/,N_use_a/*OUT*/,Pr/*OUT*/);
and
  DDSDownload(N_use_b/*IN*/);

The two are independent in that N_use (and Pr) from DDSSetFrequency() do not have to be used in any way in DDSDownload.

In fact, the key role of DDSSetFrequency() is to set the clock frequency (F_clock), while the role of DDSDownload() is to a). upload a waveform to the device and b) tell it the data length (N_use). There are no builtin waveforms of any sort.

At all times, the device is just repeatedly running through the N_use data points with N_use and waveform set by the last call to DDSDownload(). Each data point consumes one clock tic, where the clock frequency (F_clock) is set by the last call to DDSSetFrequency().

2). Now, what do we know about the calculation part of DDSSetFrequency():
--Terminologies:
  F_user  -- (real) frequency the user wants. MAX 100MHz.
  N_full  -- (int)  MAX num of data points of the device(=4096).
  F_clock -- (real) clock frequency.  MAX 200MHz.
  N_use   -- (int)  DDSSetFreq suggested num of data points to use. 
  Pr      -- (int)  DDSSetFreq suggested num of periods in N_use pts.
  F_out   -- (real) effective frequency the device is outputing.


--The calculations done in DDSSetFrequency():
  2.1). First, based solely on F_userDDSSetFrequency() sets F_clock (detail later). F_clock can only take its value from the set below,
  200MHz, and (100/n) MHz for n=1 to something > 50k
 
  2.2). Then, the set of equations
     F_out * N_use = F_clock * Pr
and,
     2000(?)>Pr>=1
are solved in a special set of steps (note, the equation set is under-defined).

  2.3). Solving steps
   a). Pr    = INT(N_full * F_user / F_clock);
   b). N_use = INT(Pr * F_clock / F_user);
   c)  F_out = F_user * N_use / Pr;
       F_out = F_clock*Pr /N_use;  //should be just a rewrite of 2.2)

 
  2.4). Error analysis:
   (F_out - F_user) / F_user ~< 1 / N_use
 
3). The F_clock setting part of DDSSetFrequency().
The value must be 200MHz, or one of (100/n) MHz for n=1 to something > 50k as mentioned.

Apparently, the F_clock shift-down was driven by the requirment of fitting at least one period in 4096 data points, and I actually expect to see the transition value of F_use being where 1 period of F_use fits exactly 4096(5) data points for the current F_clock. I did not yet do a detailed check, other than just listed the empirical transition locations from DDSClockv2.exe

OUT="F_clock"     IN="F_user"
     200MHz    >48,829Hz
     100MHz   (24,415Hz<->48,828Hz)
      50MHz   (16,277Hz<->24,414Hz)
 (100/3)MHz   (12,208Hz<->16,278Hz)
      25MHz   ( 9,766Hz<->12,207Hz)
      20MHz   ( 8,139Hz<-> 9,765Hz)
 (100/6)MHz   ( 6,976Hz<-> 8,138Hz)
 (100/7)MHz   ( 6,104Hz<-> 6,975Hz)
 (100/8)MHz   ( 5,426Hz<-> 6,103Hz)
 (100/9)MHz   ( 4,883Hz<-> 5,425Hz)
      10MHz   ( 4,439Hz<-> 4,882Hz)
     .........
 (100/n)MHz  ~ (44,390/nHz<->44,390/(n+1)Hz)
      .........
 (100/100)  =1MHz   (    484Hz<->    488Hz)
 (100/1000) =100kHz (  48.78Hz<->  48.82HZ)
 (100/10000)=10kHz  (4.88233Hz<->4.88281HZ) 


 4). Implications to  frenquency sweeping:
  4.1). If one can accept <20% frenquency step as good enough, one can use F_clock (<)2k to 20MHz for sweeping with the same waveform. This means a sweeping range of 4 decades.
  4.2). A single waveform can have 1 to (>)1000 periods. That is for a single waveform one can either sweep from 1Hz to 10kHz, or from 1kHz to 10MHz or any 4 decades range in between. For example, to sweep (1k to 10MHz), one needs to
     a). call DDSDownload() to upload a waveform of 1000 periods.
     b). seqentially calling DDSSetFrequency(F_use), with a set of F_use's that each sets a new F_clock according to the table above.   
  4.3). if 20% steping is too big, one can always use a small number of waveforms with different offsets to fill the gap.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on August 05, 2011, 08:08:14 am
Quote
4.1). If one can accept <20% frenquency step as good enough, one can use F_clock (<)2k to 20MHz for sweeping with the same waveform. This means a sweeping range of 4 decades.
No, this is incorrect.

I'd be happy to answer all questions and post all of the data for how I calculate the DAC clock/frequency/points/periods exactly like the device - if someone else would post:

a) whether my clock test software correctly calculates the frequencies and periods on their 3X25.  I believe it does, but I've gotten no confirmation or contradiction here - which is frustrating.
b) whether my sweep test software correctly performs a glitch-free sweep.

Even though my test software has been downloaded >12 times, I have gotten zero responses about it - which does not encourage continued effort here.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on August 05, 2011, 11:34:55 am
a) whether my clock test software correctly calculates the frequencies and periods on their 3X25.  I believe it does, but I've gotten no confirmation or contradiction here - which is frustrating.
in order to confirm this, i need to do thousands of test, and automated. with only few clicks of testing frequencies, the confirmation will not be strong. clicking thousands time from your software will be frustrating and without able to contribute/implement to improve your formulation. please post/PM your algorithm/formula if you will, i will embed it in my test software and confirm your method "standard deviation"

b) whether my sweep test software correctly performs a glitch-free sweep.
as i PMed you, your sweep software cannot run, there's ActiveX object you didnt provide, i suggest you make complete installation files including all necesssary supporting ActiveX. i also looking forward for glitch free sweep, even though implemented at lower range of frequency, but as you said, very well enough/applicable in audio region.

i understand your frustration of cold reply. with many hours of sitting infront your pc coding and then people would not appreciate what you are doing is like you are doing it for a waste, but its not. other people are just busy or not in the mood to look at this subject. but relax and enjoy. if you need to take a break this is the time, withdraw your method here let me continue while i'm at full scale mission on this right now ;D. a good days of break/holiday will make you come back with a brilliant mind. Cheers ;)

ps: thanx to onlooker for posting his formulation... and dont mind about others. they just want to try out and if they dont like they will go into silence lurking. they only appear to tell how "off topic" you are!
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: onlooker on August 05, 2011, 11:36:22 am
Hi,

I do appreciate your work. But, Your Sweep_test crashs (snapshot attached).

I may also add that, if the device designer was taken a minimalist approach, the only communication DDSSetFrequency() needs to send to the device is the clock frequency divider which I called it "n". All the calculation done is on the PC side. DDSSetFrequency() do not need to receive anything from the device. "n" is something like,
  n = INT( 100MHz  /  ( F_user*4096) );
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Bored@Work on August 05, 2011, 12:20:20 pm
The point is, you should never do such hacking to impress others or to compete with others. As you have just learned, it only ends up in frustration. If you aren't motivated on your own then just stop doing it. Look for something that is fun and do that instead. I have free software projects out there that have been downloaded by less than five people. I don't care, because I needed the software myself and I known there aren't many people out there who also need it.

By the way, I am surprised that no one until now seems to have used a USB protocol sniffer to figure out what these magic DLL functions really send to the generator. For example to figure out if they do some own special math or if the generator gets the values more or less as provided to the functions.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on August 05, 2011, 02:52:03 pm
Please don't be discouraged. I was one of the ones who downloaded it. Just trying to get some time to try it out for you -- I was away from home yesterday and I am babysitting the grandkids right now. But I am eager to beta test as soon as I can.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on August 05, 2011, 03:42:18 pm
n = INT( 100MHz  /  ( F_user*4096) );
golden! with little tweak i managed to get a satisfactory working function to get both hantek clock and frequency. so feel free to use or test it for bug. its 100% accurate for clock <= 100MS/s from my non-extensive testing (onlooker's method). for higher freq (clock = 200MS/s), there some discrepancy compared to values returned by DDSSetFrequency, but satisfactory enough for me for wave generation.

edit: code moved to formula_report.zip below
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on August 05, 2011, 03:56:45 pm
Quote
in order to confirm this, i need to do thousands of test, and automated.

Hmm, this seems a little strange. When I downloaded your software to create a stable sync signal out, I didn't do thousands of tests - I just tried a few known unstable frequncies to see if it worked.  All I was looking for here, as mentioned in the original post, was someone to test a few frequencies to see if it worked, so that I could move ahead in my development.  Anyway, it's fine... another 3X25 user PM'ed me earlier today that it works perfectly on their device, so he confirmed it was the correct clock formula and reverse logic for 3X25.

Quote
as i PMed you, your sweep software cannot run, there's ActiveX object you didnt provide. i also looking forward for glitch free sweep, even though implemented at lower range of frequency, but as you said, very well enough/applicable in audio region.

Yes, as noted below, if I had gotten feedback anytime in the last 3 days, I would have removed the unintended ActiveX reference. But, again, I've confirmed the glitch-free sweep myself with my new scope - see attached .png.

Quote
i understand your frustration of cold reply. with many hours of sitting infront your pc coding and then people would not appreciate what you are doing is like you are doing it for a waste, but its not. other people are just busy or not in the mood to look at this subject.

Actually, it's fine if people are not looking at the subject - I was just asking for help from owners who read the post and downloaded the software.

Quote
if you need to take a break this is the time, withdraw your method here

I'm not sure what this means.

Quote
I do appreciate your work. But, Your Sweep_test crashs (snapshot attached).

Thanks. This is 'feedback'; exactly what I was looking for.

Quote
The point is, you should never do such hacking to impress others or to compete with others. As you have just learned, it only ends up in frustration.

I'm not sure what this has to do with what I was talking about - I have, in no way, done any of this to impress or compete - I hack because I need to create tools to get hardware/software to perform functions I need for what I'm doing in my life - and I enjoy it.  I post here because I want to share information and get feedback and help with stuff I'm working on.  The two are not related - I was hacking for years before the web; i.e. before blogs and forums - although we did have community boards on the net - but it took a hell of a lot longer, if it all, to get feedback  :)

Quote
By the way, I am surprised that no one until now seems to have used a USB protocol sniffer to figure out what these magic DLL functions really send to the generator. For example to figure out if they do some own special math or if the generator gets the values more or less as provided to the functions.

I'm decompiling the DLL.

Quote
Please don't be discouraged. I was one of the ones who downloaded it. Just trying to get some time to try it out for you -- I was away from home yesterday and I am babysitting the grandkids right now. But I am eager to beta test as soon as I can.

Thanks, Torch.  You don't need to test those modules above anymore - they have been confirmed.  But I will have more stuff later ;)

Edit:  Moved formulas and software back to the original post where they belong,
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on August 05, 2011, 04:44:41 pm
Just a headsup, you guys are doing a great job.  Consider where this device was when we started.  Will feedback later.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on August 05, 2011, 04:58:07 pm
Quote
4). Implications to  frenquency sweeping:
  4.1). If one can accept <20% frenquency step as good enough, one can use F_clock (<)2k to 20MHz for sweeping with the same waveform. This means a sweeping range of 4 decades.
  4.2). A single waveform can have 1 to (>)1000 periods. That is for a single waveform one can either sweep from 1Hz to 10kHz, or from 1kHz to 10MHz or any 4 decades range in between. For example, to sweep (1k to 10MHz).

As I mentioned in my post of this morning (but did not have time then to respond in-depth), this is not possible with glitch-free sweeping (although you can do any kind of sweep you want if you don't mind pauses and/or glitches).  Since the DDSSetFrequency command sets a divider on the 200MHz clock, any frequency <= 48828.12 sets the DAC clock to between 2.048kHz and 100MHz - and any frequency >= 48828.13Hz sets it directly to 200MHz - after which you need to change number of points to change frequency.  So any sweep crossing that boundary will immediately double in frequency.  In fact, because of the design of the divider, DAC clock rates change exponentially as the frequency rises - for example, my audio log sweep produces the following numbers because it misses a couple of frequencies towards the end because of this property:
10 20 30 40 50 60 70 80 90 100 200 300 400 500 606 701 800 909 1000 2000 3076 4000 5000 6666 8000 10000 20002 40008

Quote
Just a headsup, you guys are doing a great job.  Consider where this device was when we started.  Will feedback later.

Thanks for the words of encouragement...  They're appreciated!
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on August 05, 2011, 07:02:14 pm
Quote
in order to confirm this, i need to do thousands of test, and automated.
someone to test a few frequencies to see if it worked,
for few frequencies it work! but i still dont fully understand how your program works.
Quote
so he confirmed it was the correct clock formula and reverse logic for 3X25.
you havent share it yet. thats only between you two.shared! :P
Quote
Quote
if you need to take a break this is the time, withdraw your method here
I'm not sure what this means.
it means share your code pls. as i'm also working on this right now.

edit: i saw your formula already thanx. i will investigate it in alot more extensive way than mouse click method ;)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on August 05, 2011, 07:19:01 pm
while testing your sweeptest3. i saw this picture. it happened for square wave while sweeping at 10-50 Hz. pls check whether this is your app mistake generating square wave or artifact from the hardware (yellow=signal, blue=synch out). you have extended the possibility of stable sweep at lower frequency, great work!
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on August 05, 2011, 08:06:17 pm
Quote
for few frequencies it work!

Great! Thanks! That's all I was looking for. I already logged many many frequency tests on my own machine and it worked well every time; I just needed some confirmation from other devices.

Quote
you havent share it yet. thats only between you two.

Sorry, I posted the formula I used here along with a changed version of SweepTest (minus the ActiveX problem) - then realized it made more sense back with the original DDSClock and SweepTest software in the previous post.  But I will put the source code here as well - it's just a modified version of the demo software that came with the 3X25 (uncommented too  :o  ...sorry!).

Quote
pls check whether this is your app mistake generating square wave or artifact from the hardware

Oh, that is just a leftover from my previous non-glitch attempts.  When you use DDSSetSingleWave to stop output - the voltage output stops exactly at the end of the waveform - if it's the crossover (like a natural sine wave), that makes 0 volts out - if it's the top of the square wave, that makes ~ +1.75V.  So I adjusted the waveform creation of the square to start and stop on 0 volts for testing - so it's just slightly offset - my fault - easy to correct.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on August 05, 2011, 08:31:16 pm
i've made testing to both "modified" onlooker and marmad report in attached zip file, 2 csv 1 code.txt file. it doesnt took me long to come up with my conclusion, maybe its just my system got different "number round off" method compared to marmad's. dPts & dPr column show how much calculation deviates from value returned by DDSSetFrequency, blank means spot on (0 deviation).

ps: the previous code will be deleted to avoid messy thread, the code is in the zip file.
edit: report file deleted for INVALID (BOGUS) report.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on August 05, 2011, 08:43:45 pm
Quote
i've made testing to both "modified" onlooker and marmad report in attached zip file, 2 csv 1 code.txt file.

I don't understand how you generated these numbers, but they're not correctly related to my formula - unless of course, every 3X25 is slightly different with the output frequencies - which would seem odd  ;)   If you like, I can publish numbers later - I can't get to it at the moment  - but I have been testing this for almost 7 days now.

But what is "onlooker"?  Oh, you mean the poster?  But his code was clearly incorrect:   n = INT( 100MHz  /  ( F_user*4096) )  is provably wrong - as is the idea of sweeping from 1kHz to 10MHz with < 20% frequency step.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on August 05, 2011, 09:28:38 pm
ok ok, "modified onlooker" i prefer because his quote gave me idea for the code earlier that i tested and improved this whole night. i can see different usage of data type in your code, i suspect rounding off error, will try next "night". now is almost dawn, time to sleep :P
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: onlooker on August 05, 2011, 10:19:39 pm
marmad,

I would be happy if you can prove me wrong in general (of course, typos  or small details or any other non-conceptual level omitions  do not count).  If you really want to do the proving, you need to test the (psuedo) program below in real life and say: "the necessory tweaks are done and the idea can't work for sure".  I will accept that I too can be wrong (just kidding :) ).

In fact, I have already outlined the idea in my early post, but I guess detials do help sometimes to make sure we are talking about the samething.


a). create a waveform of 4000 data points that repeat the sequence (0, v, 0, -v) 1000 times (v is the peak voltage value of your choice).

b). call DDSDownload(waveform, 4000);

c). loop calling DDSSetFrequency(F_user) with F_user stepping through the freq sequence listed in your post: 
 10 20 30 40 50 60 70 80 90 100 200 300 400 500 606 701 800 909 1000 2000 3076 4000 5000 6666 8000 10000 20002 40008

d). tweak these steps to make it glich-less.

About:
Quote
i saw this picture. it happened for square wave while sweeping at 10-50 Hz.
I just realised it was answered already, but still it rised interesting quastions about the hardware limitations. Anyone know what is happening on the device side when a freq resetting request is received? Will the device pause? For how long? Will it interupt the data point set stepping (say, start over again from point 0) or will it wait until a full set of data points are through?

Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on August 06, 2011, 03:33:44 am
Quote
If you really want to do the proving, you need to test the (psuedo) program below in real life

I don't understand... didn't I do this with my sweep test already?  I cracked the formula days ago, and have been testing sweeping, changing frequencies without downloading, various combinations of sample points and clock settings, etc, ever since.

Quote
Anyone know what is happening on the device side when a freq resetting request is received?

Again, you can see clearly in my sweep software and .png that there is no pausing or glitch when changing just the frequency.  There is a newer version of it back at the original post.

Quote
you have extended the possibility of stable sweep at lower frequency, great work!

Thanks. Yes, glitch-free sweeping from 1 - 40kHz is relatively easy to do.  The difficulties begin above that frequency.

Quote
i can see different usage of data type in your code, i suspect rounding off error

Yes, I looked at your version of my code - and it's certainly incorrect.  I use all Doubles until sending data to the device - Long does not work properly.  The formula is VERY susceptible to if/when you drop decimals or round.  It's been tested for much more than just a day.

Trust me - I've spent MANY hours on this.  I looked at every doubler crossover frequency, e.g. 48282.13, 24414.07, 16272.05, 12207.04, 9765.626, etc., as well as every frequency that caused a change in logic behavior, such as 195312.5  - mentioned in my original post - and many others.  I KNOW how the device decodes extremely well.

Quote
I would be happy if you can prove me wrong in general

I'm not really sure if it's worth my time to try to prove you wrong - I think it would have to be the other way round since I am ahead in this area :D  My software is already at the point of reverse calculating any parameter, such as the next actual frequency from a change in the number of points plus the last set frequency.

My sweep software starts by downloading 2500 points to the device.  Why 2500?  Because I already know, after tests, that for the most accurate frequency-only sweeping, it's best to start with the sample length of the highest multiple frequency (40kHz = 2500pts) - not 4000.  I then reverse calculate what 'fake' frequency to give the Hantek in order to generate each desired frequency in the sweep with the same 2500 points (such as 12.205Hz in order to generate 10Hz).

When I ask your code to calculate the actual output frequency for 100Hz, it says the output frequency will be exactly 100Hz (which is wrong).  But, even if that were correct, how exactly is that possible?  As mentioned, the DAC clock rate is normally created by dividing 200MHz by the SetFrequency.  This is easily provable - and supported by the specs - which list a programmable DAC clock rate of the device of 2kHz - 200MHz.  So how does the 3X25 generate 1Hz - 2kHz?

When I ask my software to calculate what frequency the Hantek will ACTUALLY output when asked to do 100Hz - it returns 100.008801Hz - which is EXACTLY what my frequency counter reports - and my math and logic support.

Another example: when you set the device and download a 10kHz frequency, the Hantek uses 2500 points. What is the new frequency when you then only download 100 points? And what happens to the Sync line when you do that?

Anyway, these are the things I've been working on over the last couple of weeks, and I'm sorry you've been so busy  :o and missed my post of 4 days ago (which onlooker read, tested and extrapolated from), but this nut was cracked already  ;)  So I'm not sure it's really worth it for me to continue pouring time into something I've already done, if you know what I mean - and I've already moved on to other problems to solve - such as an alternate scheme for the Sync Out problem that I'm working on - and more complex sweep logic - and... well, you understand.

My formula seems to work perfectly in every task I use it for, and it's easy to reverse calculate any parameter.  If you need any clarification or help with anything just let me know.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on August 06, 2011, 06:14:45 am
Another test in a fresh new day with a good sleep:
- My previous report is bogus (the attachment is deleted), its bug in my test program, so sorry for misinformation, now its corrected.
- New report is attached (zip) for test freq 1KHz - 1MHz step 100Hz, i've change name from "onlooker method" to "my method" to avoid conspiracy
- code for both estimation function are provided in code.txt. my marmad's function has been changed due to wrong data type implementation (late night job)
- code for my test setup/loop is in tester.txt, but i dont include all class needed such as CsvClass and awg Hantek325 Class. by request.

conclusion from test data set: refer to dPts, dPr column (d stand for delta or deviation, blank means zero)
both estimation function are 100% accurate at low frequency ~100KHz
for all frequency, marmad's accurately estimate "period" where mine is not due to "period otimization" included
even though periods are correct, marmad's records highest point length deviation at frequency 990100Hz (deviate at 19 points). its confirmed from his original DDSClockSource.zip and the translated version by me. other (larger than 1) deviations are also scattered mostly on higher frequency set > 100KHz

Quote
Anyone know what is happening on the device side when a freq resetting request is received?
Again, you can see clearly in my sweep software and .png that there is no pausing or glitch when changing just the frequency. 
we cannot be sure since we (or me only?) used cheapo dso to measure, there's blind time during trigger. but looking at your owon picture, the sweep is pretty promising. about the square, i believe its marmad's implementation of square wave, since i havent seen like that in my square wave. even at highest frequency of his sweep, zooming in reveals slight rise time abberation.

edit: i just noticed, DDSClockv2.exe can accurately estimate point length (esp at 990100Hz), but in DDSClockSource.zip is not. so they are not the same code/compilation.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: onlooker on August 06, 2011, 08:16:55 am
marmad,

I am not here to fight for credits, instead, if I can, I would just like to promote more openness. Indeed, your code motivated me to start experimenting and make "educated" guesses, since I am too laze to start from scratch and do the coding, but interested enough when something can be play with and, at the same time, that something does not have enough openness (and is also easy enough for "guess" making).

If you have published your code or steps before my 1st post, I probably would not be even interested to spend any time on posting, instead of, just waiting a little longer for the matured code from all, including yours. I guess I am lucky in that I did not spend more than several hours so far and not coded a single line yet.

A related quastion is: did you or can you publish your SweepTest code? Or Could you add to your Sweeping code  two more fields one for the data length and the other for the number of periods in the data. Your code then can setup the data points accordingly.

some more comments:

1). I had just realized I had a obvious mistake in an eqn. in my earlier post, the step c) should be just another version of my item 2.2). 

2). In my last post, one can as well do DDSDownload(waveform,4) with just 0,v,0-v in the data. On this point, I feel we are still not understanding each other.

You said you can sweep 1-40kHz glichless and using 2500 pts. May I ask how many periods (of a given "frequcecy") have you placed in this 2500 pts waveform? One?

Did you try placing 2 or more periods  (upto >1000) from the same "frequency" and waveform into your 2500 pts data set. If you put 2 periods there,  the sweeping range will be 2-80kHz. Right?  Then, you see glitchs? 

Along a similar line,  what one can also try or maybe you have already tried is to use short data length when calling DDSDownload() assuming, for example, 1000 periods placed in 4000 data points is indeed equivalent to 1 period placed in 4 data points. In this setting, one can do one DDSSetFreq() call, then do multiple DDSDownload() calls. With properly selected freqencies, all the data sets can be short (say < 50 pts), and one may be able to do a proper sweeping with a range of one decade.

ADD: "frequency" was used to qualify the word 'period' to avoid misunderstanding. But, it is actually a confusing term on itself. Ok, "frequency" (in double quotas) here is the one in data points domain, not the usual one in the time domain.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on August 06, 2011, 08:59:55 am
Along a similar line,  what one can also try or maybe you have already tried is to use short data length when calling DDSDownload() assuming, for example, 1000 periods placed in 4000 data points is indeed equivalent to 1 period placed in 4 data points. In this setting, one can do one DDSSetFreq() call, then do multiple DDSDownload() calls. With properly selected freqencies, all the data sets can be short (say < 50 pts), and one may be able to do a proper sweeping with a range of one decade.
this is the essence of my "stable synch" concept, and hence faster and more efficient sweep (and signal generation as a whole) at high frequency. let say DDSSetFrequency returns 4011 data point, 100 period. i will just round off to integer to get the "stable synch length"... myLength = Int(4011 / 100) = 40 data point, and period become 1. if we try to fit 100 period of a wave, say sine in 4011 data points and send to hantek, what we get is nonsynchronized signal.

this is the reason why i've included period optimization in "modified onlooker" function, to watch out for multiple integer (exact integer division of data point /period) and reduce the data points to (data points / period and period become 1) to efficiently send signal to hardware during DDSDownload call. (opps did i just say "modified onlooker" function?, it should be "my" function right? :D :P)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: onlooker on August 06, 2011, 11:56:05 am
Mecha,

Thanks for the explaination. I had naver gotten to understand the essence of this "stable sync" vs non-"stable sync" thing. I thought it was a software bug, instead of, a hardware limitation(?). At 1st when I saw the discussion, I did not have the device. After I got the device, the problem was already remidied and the method was published. Then, I just took what is there and did a few tests to see the phenomeno and the remidied results, and afterwards, placed the device aside until a few days ago.

What you were saying was that N_use must be an integer multiple of Pr to avoid any problem. Interesting. From a harware point of view, do you have an explaination as to why placing 100 periods in 4011 points should cause problems. I always thought any data set both starting and "ending" at phase zero should work without needing any complicated exoatic hardware in its design. Then I am not an expert on hardware either.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on August 06, 2011, 01:33:17 pm
Ok, I the little guys were still asleep so I downloaded the DDS3X25Ctl_0_9_1 version from page 16, hooked the output to the count in and to my Rigol and started to play. Unfortunately, they didn't stay asleep long, so I had limited time to play, but this is what I noted:

The count often differs from the generated frequency slightly. EG: 1.00000kHz produced 1.00016khz with the occasional flicker to 1.00017kHz. The Rigol displays 1.000kHz, but flickers betweeen .992 to 1.004. 3MHz produces 3.03030MHz. (Rigol displays 3.030MHz) But 4MHz produces 4.00000MHz and the Rigol agrees.

The Rigol does not agree with the voltage setting. EG: 3.5v p-p is measured as 3.6v p-p.

There is an error in setting the RMS amplitude function: Parameter input of 1.72 produced a "Human Error" message informing me that "RMS amplitude must be between 0.035355V and 3.5355V"

I think a digit gets lost when setting the sweep step. Set to 100.0Hz, it seems to climb by 1000.0Hz instead, according to the Sweep Data log.

There is a slight distortion during the transition between certain frequencies, but nothing like the earlier screenshots posted, and not detectable between some frequencies.

"Reset All" cause an error message then program crash. Couldn't catch the error message -- something not found, I think.

I tried entering "48828.125" for frequency 1, but it displayed 97.6562 kHz and output 48.8400kHz.

Ok, now I have a 2 year old d`rivi`ng his truck on my k24eyboar988d.



Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on August 06, 2011, 03:39:43 pm
Quote
we cannot be sure since we (or me only?) used cheapo dso to measure, there's blind time during trigger.

Yes, I can see with my 10Mpt scope that the entire sweep is glitch-free.

Quote
about the square, i believe its marmad's implementation of square wave, since i havent seen like that in my square wave. even at highest frequency of his sweep, zooming in reveals slight rise time abberation.

This has been answered once already, but here is the square wave sweep with 2 fixed bits - see attached .png.

Quote
edit: i just noticed, DDSClockv2.exe can accurately estimate point length (esp at 990100Hz), but in DDSClockSource.zip is not. so they are not the same code/compilation.

Yes, when you asked me to release the code for the DDSClock, I tried to quickly clean it up a little bit for you (it was a mess) - and I see now that a small piece was accidentally deleted - I didn't have time for re-testing the cleaned code.  But if you understood the logic - or had compared it to my code posted yesterday - you would have seen the error immediately:
yesterday: lpLength = Fix(lpPeriod * lpLength)
source:    dLength = Fix(dLength)
I will make sure I release ONLY bug-free, test-resistant source in the future.  :)

You didn't respond to any of my thoughts or answer any of my questions from my previous post, and your code still gives me (for my device) the wrong answer for such things as, for example, actual output frequency at 1kHz.  I haven't heard from any other user that says my DDSClockv2 delivers incorrect answers about anything.  But if you want to duplicate/improve/develop previous work with newer versions of code, fine, but PLEASE stop publishing these comparison charts - it feels like some contest - and a bit strange.  Thanks.

Quote
Ok, I the little guys were still asleep so I downloaded the DDS3X25Ctl_0_9_1 version from page 16, hooked the output to the count in and to my Rigol and started to play. Unfortunately, they didn't stay asleep long, so I had limited time to play, but this is what I noted:
The count often differs from the generated frequency slightly. EG: 1.00000kHz produced 1.00016khz with the occasional flicker to 1.00017kHz. The Rigol displays 1.000kHz, but flickers betweeen .992 to 1.004. 3MHz produces 3.03030MHz. (Rigol displays 3.030MHz) But 4MHz produces 4.00000MHz and the Rigol agrees.

Thanks very much, Torch. I will go through your bug-list later. Please note however, that the DDS3X25 doesn't always provide perfect frequencies - if you ask for 1.000kHz, you actually get 1.00016kHz due to the clocking formula and the logic of the device.  I have been trying to explain this to Mecha to no avail. The frequency counter on the Hantek is more accurate than the one in the Rigol - because it's easier to count frequencies if that's all you're doing with a hardware input.  The Hantek corresponds perfectly with my Fluke counter - trust the count on the 3X25 - not the Rigol.

Edit:  Whoops - forgot the CSV files...  :-[

Edit:  Got rid of the stupid stuff...  :P
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on August 06, 2011, 04:57:15 pm
Quote
I am not here to fight for credits, instead, if I can, I would just like to promote more openness.

Absolutely, I thought that's what it was about as well.

Quote
A related quastion is: did you or can you publish your SweepTest code?

The Sweep Test is a big mishmash of un-commented, altered code from the DDSControl software I published even earlier - I think it is 175k with 2k being actually used  :P So it's worthless to try to sift through all of it.  But I can publish the relevant sections if you'd like - but I need some time to extract it and make it bullet-proof - once bitten twice shy  ;)  But given the info in the thread, it's really easy to make your own.

Quote
You said you can sweep 1-40kHz glichless and using 2500 pts. May I ask how many periods (of a given "frequcecy") have you placed in this 2500 pts waveform? One?

Yes.

Quote
2). In my last post, one can as well do DDSDownload(waveform,4) with just 0,v,0-v in the data. On this point, I feel we are still not understanding each other.

Quote
Did you try placing 2 or more periods  (upto >1000) from the same "frequency" and waveform into your 2500 pts data set. If you put 2 periods there,  the sweeping range will be 2-80kHz. Right?  Then, you see glitchs?

Ok, yes, sorry, I wasn't getting your meaning until now.... yes, it's totally possible to increase the number of periods and get glitch-free sweeping above >50kHz in this fashion - it's just that the Sync Output would not correspond.

I will do a sweep like that for you now.  :)

Edit:  @onlooker - So here is a .png of a small portion of glitch-free log sweep from 1kHz to 800kHz using extra periods to increase the DAC frequency - it works fine, but notice the Sync out is locked to total periods, not frequency.   But in this regard, your original proposal was technically correct - and I was wrong - I stand corrected  :)

Edit2:  @onlooker - Here it is finally - now that I finally understand what was asked of me  :P - a portion of your requested sweep with 4000 points and 1000 periods - it sweeps from 100kHz to 50MHz glitch-free, but with the Sync locked to periods.  The .png shows the changeover from 100kHz to 200kHz.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on August 06, 2011, 05:33:16 pm
Just stole a few minutes while SWMBO had the boys outside. It won't accept 1,000,000 but rounds up to 100.000MHz if you enter 999,999. The really cool thing is that it actually displays a fairly decent sine wave at that frequency -- something that didn't happen with the Mechatrommer software! The display on the Rigol is a bit jittery when set to real time aquisition but pretty stable when averaged 16x. The counter shows "0.00000 Hz" at that frequency, but the Rigol measures it to be 100.0MHz with the odd flicker to 99.9MHz.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on August 06, 2011, 05:45:44 pm
Quote
It won't accept 1,000,000 but rounds up to 100.000MHz if you enter 999,999.

He,he... yeah - sorry - that's just lazy coding to avoid dealing with > 8 digit numbers  ;)

Quote
The really cool thing is that it actually displays a fairly decent sine wave at that frequency -- something that didn't happen with the Mechatrommer software!


Hmm... I'm pretty sure Mecha's software did the exact same sine at that frequency.

Quote
The counter shows "0.00000 Hz" at that frequency, but the Rigol measures it to be 100.0MHz with the odd flicker to 99.9MHz.

Yes the Hantek counter starts to craps out above 50MHz - I think the logic is sampling the input pin at master clock (200MHz) / 2.  Which would give it the Nyquist limit of 50MHz accuracy.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: onlooker on August 06, 2011, 05:47:36 pm
marmad,

Thanks for checking it out. Hopefully, the device can be eventually hacked to be more useful for everyone.

The other thing is : instead of, using square waves to show sweeping to check for glichs, using sine waves could also be useful to see if the waves are really transitioning at zero voltage and zero phase crossings. For square wave, small changes in modulation factor are hard to see graphically.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on August 06, 2011, 05:53:36 pm
Quote
The other thing is : instead of, using square waves to show sweeping to check for glichs, using sine waves could also be useful to see if the waves are really transitioning at zero voltage and zero phase crossings. For square wave, small changes in modulation factor are hard to see graphically.

True... I had it set to square waves from previous post.  I'll redo the 4000/1000 sweep right now with sine wave.  Well, actually, that will be only a 4 point sine - kind of a Empire state building shape instead.  I'll leave that .png and instead add one here with slightly less periods for a reasonable sine shape.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on August 06, 2011, 06:12:27 pm
Here is a sweep from 10kHz to 5MHz, using total points of 4000 with 100 periods (i.e. 40 point sine wave shape).  First .png is start of sweep - output starts at 0v - sync starts at ~+3.5v. The second .png is a close-up of a transition.  You can actually count the points on the sine wave  :D
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: onlooker on August 06, 2011, 06:24:06 pm
madmad,

Very good and promising. Hopefully this will be held true to the highest frequency setting. I guess now I can sit back and wait for your software release with all other tweakes and hacks.

Thanks


Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on August 06, 2011, 06:26:57 pm
Quote
Very good and promising. Hopefully this will be held true to the highest frequency setting. I guess now I can sit back and wait for your software release with all other tweakes and hacks.

Thanks onlooker.  I'm happy to release the source when I get it cleaned-up and commented a bit.  I'm a sloppy coder - old school and bad form ;)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on August 06, 2011, 09:18:00 pm
Hmm... I'm pretty sure Mecha's software did the exact same sine at that frequency.

Ooops. Yes, you are right, it was square waves that got seriously un-square at high frequencies.

I am seeing a strange modulation that I don't understand:
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on August 06, 2011, 10:11:09 pm
I should add that this only occurs following a sweep from a lower frequency up to a higher frequency, and varies in intensity depending on the frequencies -- most noticable above 75MHz final frequency.

But if I start from 99,999,999MHz and go to 99,999,999MHz, it doesn't happen. Then I get a stable output with no modulation:
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on August 07, 2011, 04:40:44 am
But if I start from 99,999,999MHz and go to 99,999,999MHz, it doesn't happen. Then I get a stable output with no modulation:
if you input 71.0134e6, ie 71.0134MHz in hantektest.exe and press start, you'll see data points length and periods as follow:

data length: 4095
period: 1454
point/period: 2.816

if you do your own calculation to fit evenly 1454 periods of sine wave in 4095 data points, you'll get modulation in the picture you posted. if wave is sampled at near nyquist sampling frequency (~>2), without proper reconstruction (sincx) algorithm, you'll start to see the effect of aliasing.

for frequency 100MHz (or near it), its only 2 points for 1 wave cycle (2 points / period), so i've decided to choose one point at sine peak, and another one at sine bottom, and then they will keep repeating that nice sequence (peak-bottom) over and over. thats why you'll get better at near 100MHz. another word 2points / period is in harmonics or resonance with 100MHz sine (my term :P), if you choose the right phase.

What you were saying was that N_use must be an integer multiple of Pr to avoid any problem. Interesting. From a harware point of view, do you have an explaination as to why placing 100 periods in 4011 points should cause problems.
yes N_use must be integer multiple of Pr to get in synched. from hardware point of view i'm not sure but i suspect the implementation of FPGA, maybe it cannot divide fractional and just round off to output "synch signal", but how exactly the hardware generate "synch" is still a mystery. things like "dajones" glitch and "leap year" effect mentioned long time ago still unexplained. if you try frequency of 0.5 > f > 1 in hantektest.exe, let say f = 0.86Hz, and show both "output" and "synch" signal on your scope, you'll see funny "synch signal".

but PLEASE stop publishing these comparison charts - it feels like some contest - and a bit strange.
i'm not competing, i'm only looking for a better formula and hope someone can help, if not then i will just shut up. you think i am? ???
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on August 07, 2011, 01:27:40 pm
Quote
i'm not competing, i'm only looking for a better formula and hope someone can help, if not then i will just shut up. you think i am?

Mechatrommer, if that's true, your methodology seems a little odd from my point of view.

I noticed that your Hantek software did not report the actual correct output frequency (e.g. input freq = 3.300000MHz; your software reports freq: 3.300000MHz, stable freq: 3.332592MHz; instead of correct = 3.300492MHz, stable freq: 3.333333MHz).

I wrote a post on July 23 detailing the formula for frequencies above > 48.828125kHz, and saying that I was working on the entire formula. On July 30 I released Control software that includes that formula - and returns the correct output frequency (stable or non-stable) for every frequency > 48.828125kHz.  I did not mention your incorrect formula, or release CSVs detailing your software vs mine.  I did, in fact, the opposite: I gave you credit in the post for being the one to come up with the idea and formula for making the sync out stable.

Then, on August 2, I posted software saying that I cracked the whole formula, asking for confirmation from another user. I had already tested my formula for a few days; not just one.  On August 5, 3 days after this, you have an idea for a formula and then start posting comparison spreadsheets, 5 hours later, of my one-week old, well-tested formula (incorrectly implemented by you!) vs your 5-hour old formula - posting that my formula isn't as accurate as yours!

My friend, that does not seem to me to be the cool way to go about supporting, appreciating, and building on other's work here.  If the situation was reversed, I would have just assumed you had the correct formula unless/until I saw data that proved otherwise. And then I would go about trying to improve it quietly, and then just release code with the fix - which is exactly what I did, as mentioned above, on July 30.  But perhaps thats just me.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on August 07, 2011, 03:09:20 pm
ok ok! dont take it seriously pal. ok i admit my formula is incorrect. it was very sloppy! btw, i've spotted the bug in the code you gave that you said you've cleared things up but infact screwing things up :P cool man! now with the corrected formula, i dont have to post another report file, all i have to say is... your formula is perfect! only its miss at 550KHz (4000 vs 3999 points). errr, just skip that, the bottom line is... YOUR FORMULA IS PERFECT! no doubt about it! savvy? what next?

btw i dont know how you get the line "If calcWavePointNum < 2000 Then" i think thats the magic in your formula. and FWIW, the correction i made in you code is "calcWavePointNum = Fix(calcWavePointNum)" -> "calcWavePointNum = Fix(calcWavePointNum * periods)"... you know... GIGO thing.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on August 07, 2011, 04:09:56 pm
Quote
only its miss at 550KHz (4000 vs 3999 points). errr, just skip that

Ha, ha... you realize that's a VB6 floating point error, don't you?  363.636363636364 * 11 = 4000.  But in the math, Visual Basic 'fixes' it to 3999.  You can get around this by:
calcWavePointNum = calcWavePointNum * periods
calcWavePointNum = Fix(calcWavePointNum)

which should, theoretically, be equal to:
calcWavePointNum = Fix(calcWavePointNum * periods)

but is not in Visual Basic 6.

Or, alternatively, you can use this line:
calcWavePointNum = FormatNumber(DACclock / freq, 4)

instead of:
calcWavePointNum = DACclock / freq

Quote
YOUR FORMULA IS PERFECT! no doubt about it!

I would never say that... in fact, your 550kHz example shows that it can be refined - at least in Visual Basic 6  ;)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on August 07, 2011, 05:10:22 pm
in fact, your 550kHz example shows that it can be refined - at least in Visual Basic 6  ;)
not your and my fault. its bill gates fault. and i dont die if i miss one point at that particular freq. thanx to your code its already included in my goltek controller for "offline simulation". dont worry i'll put you in the credit (and other contributors that i think appropriate)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on August 07, 2011, 11:23:53 pm
@torch (bug fix):

Quote
The count often differs from the generated frequency slightly. EG: 1.00000kHz produced 1.00016khz with the occasional flicker to 1.00017kHz. The Rigol displays 1.000kHz, but flickers betweeen .992 to 1.004. 3MHz produces 3.03030MHz. (Rigol displays 3.030MHz) But 4MHz produces 4.00000MHz and the Rigol agrees.

As mentioned previously, the Hantek can't hit every frequency precisely, because of the way the hardware works.  The DAC clock is adjustable from 200MHz to 2kHz, but it does some binary-division tricks to get below this frequency.  For example, what's the closest number to 1000 (Hz) you can get by trying to divide 200000000 with a multiple of a number between 2000 - 4096?  1000.160026 - which is 200MHz / (2083 * 96).

Quote
The Rigol does not agree with the voltage setting. EG: 3.5v p-p is measured as 3.6v p-p.

I think this is either your Rigol's measurement - or the output of your Hantek is greater than normal. My scope measures 3.44Vp-p for 3.5Vp-p output.  But there is an adjustment built into the software for this.  Double-click 'Current Settings'label, and set the Fine Tuning (multiplier): Amplitude to 0.972 (3.5 / 3.6 - or whatever the precise voltage measured is).  This will correct the offset between my software and measured values elsewhere.

Quote
There is an error in setting the RMS amplitude function: Parameter input of 1.72 produced a "Human Error" message informing me that "RMS amplitude must be between 0.035355V and 3.5355V"

That's a mistake in my message - the RMS setting must actually be between 0.035355V and 1.237425V. This is now fixed in the new version. Well found!

Quote
I think a digit gets lost when setting the sweep step. Set to 100.0Hz, it seems to climb by 1000.0Hz instead, according to the Sweep Data log.

I couldn't replicate this bug. For example, if I set freq1 = 1kHz, freq2 = 10Khz, step = 100Hz, it sweeps with 100Hz steps correctly. Do you know what your freq1, freq2 settings were?  BTW, if you have log sweep set to ON, it sweeps at 10 ^ x multiples of any given frequency.

Quote
"Reset All" cause an error message then program crash. Couldn't catch the error message -- something not found, I think.

Hmm... I couldn't replicate this either. If I try to "Reset All" without a config file (the software looks for a folder in it's folder called "cfg" [where you can save different setting configuration files; e.g. "logsweep_10Hz_40kHz.cfg"] for a file called "default.cfg").  If it doesn't find that file, I get the message "Configuration file not found", but no crash.  But I've now changed the code to use the default start-up settings as an alternative - so maybe that will prevent your crash.  Please give it another try when you can.

Quote
I tried entering "48828.125" for frequency 1, but it displayed 97.6562 kHz and output 48.8400kHz.

Wow! Nicely spotted bug! I've now changed the formula to my latest - to correctly display the actual output frequency for all entered frequencies.

BTW, since I didn't post any help file with the software, some of the features are a little hard to understand.  For example, if you'd like to trigger single shot waveforms from the software:
1 ) Decide what digital output you want to use for the external trigger. I tend to use DO11, because it's closest to the edge.
2 ) Make a jumper wire between that and the trigger input. It's very easy - I've included a photo below of how I do it on mine.
3 ) In the software, turn off 'Repeat Wave"
4 ) Make sure 'Digital Out' is set to the option: 'PROG[gramable]' (not 'PAT[tern]G[enerator]')
5 ) Set the last bit on the left (below Digital Out 7-segment display) or the bit for whichever output pin you're using; MSB...LSB [11...0] - so that it displays '1'
6 ) Make sure all LSBs are off (e.g. with DO11, make sure all other bits are Reset to '0'). The Trigger Bit logic will use the lowest Set bit.
7 ) Click 'Trigger Bit'
8 ) Confirm you want to change the Trigger Bit to what you've Set with 'OK'
9 ) Set 'Trigger' to 'External'
10) Set your scope for triggered single sweep.
11) Click 'Trigger Wave' for each desired single shot and have fun.

Note: Because of the way the Hantek creates frequencies > 100kHz (it adds multiple cycles), a single shot with those frequencies will actually produce the number of cycles in the point length.  This is caused by the Hantek firmware, not the software.  For example, try a single wave output with 100.050kHz ('Sync Stable' OFF); you will actually get 2 cycles of the wave. You can get around this by keeping 'Sync Stable' ON, which will only create waveform point tables with single cycles - but it won't be able to do every possible frequency.  In a later version of this software, you'll be able use your own edited waveform as the single shot one, which will get around this problem.

Shortcut keys:
S   = Sine wave
Q   = Square wave
T   = Triangle wave
W,R   = Sawtooth/Ramp wave

Numpad   = Entry for input box       
*,e,E   = Exponent in input box
/      = Backspace in input box
Delete   = Clear input box
Enter   = [F1] Set output frequency
   
F1   = Set output frequency (or sweep start frequency)
F3   = Set output voltage peak-to-peak
F4   = Set output voltage RMS
F5   = Set output voltage offset
F6   = Set output phase

F2   = Set sweep end frequency
F7   = Set sweep interval
F8   = Set sweep step
F9   = Set digital outputs (when in 'Prog' mode)
F10   = Copy digital inputs as decimal number to input box

F11   = Trigger (Single Shot) Wave - parameters must be set as mentioned above
F12   = Repeat Wave ON/OFF

Thanks again for your debugging efforts, torch!  I've attached a bug-fix version below, and will post an improved version with my glitch-free sweeping developments, as well as other stuff, next weekend or so.

DDS3X25Ctl_0_9_2.zip (87.03 kB - downloaded 14 times.)

Edit:  Bug fix to v0.9.3 - deleted ActiveX reference.  Sorry everyone (and thanks to Mecha)!
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on August 08, 2011, 01:01:18 am
@torch (bug fix):

As mentioned previously, the Hantek can't hit every frequency precisely, because of the way the hardware works.  The DAC clock is adjustable from 200MHz to 2kHz, but it does some binary-division tricks to get below this frequency.  For example, what's the closest number to 1000 (Hz) you can get by trying to divide 200000000 with a multiple of a number between 2000 - 4096?  1000.160026 - which is 200MHz / (2083 * 96).

Makes sense.

Quote
I think this is either your Rigol's measurement - or the output of your Hantek is greater than normal. My scope measures 3.44Vp-p for 3.5Vp-p output.  But there is an adjustment built into the software for this.  Double-click 'Current Settings'label, and set the Fine Tuning (multiplier): Amplitude to 0.972 (3.5 / 3.6 - or whatever the precise voltage measured is).  This will correct the offset between my software and measured values elsewhere.

Either is entirely possible. When I have time I'll check the actual voltage output with a meter to verify. Nice to know there is a means to compensate.

Quote
I couldn't replicate this bug. For example, if I set freq1 = 1kHz, freq2 = 10Khz, step = 100Hz, it sweeps with 100Hz steps correctly. Do you know what your freq1, freq2 settings were?  BTW, if you have log sweep set to ON, it sweeps at 10 ^ x multiples of any given frequency.

Sorry, I neglected to record those details. However it's entirely possible that it has to do with the 10x multiple, since I think I had the log set to ON pretty much the whole time. I'll have to play with that again.

Quote
Hmm... I couldn't replicate this either. If I try to "Reset All" without a config file (the software looks for a folder in it's folder called "cfg" [where you can save different setting configuration files; e.g. "logsweep_10Hz_40kHz.cfg"] for a file called "default.cfg").  If it doesn't find that file, I get the message "Configuration file not found", but no crash.  But I've now changed the code to use the default start-up settings as an alternative - so maybe that will prevent your crash.  Please give it another try when you can.

I never saved a configuration file, so that may be what wasn't found. I am running 64 bit Vista, which doesn't always play nice with 32 bit compatible software. That may be related to the crash. I will make sure to try this again and see what happens now.

Quote
Thanks again for your debugging efforts, torch!  I will post a newer version with all the latest developments in glitch-free sweeping, as well as other stuff, later this week.

I'm not much of a programmer, so debugging is one of the few ways I can give back to those that are. Thanks for sharing your work.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on August 08, 2011, 10:38:37 pm
Here are the results from my attempt to do a glitch-free logarithmic sweep from 100Hz to 10MHz.  I'm not going to post more .pngs to show the sweep - it's glitch-free like the rest; what's more interesting is what frequencies I'm able to hit.

I started with a point length of 4080 with 204 periods (cycles), since that is what the Hantek normally uses for 10MHz - I then reverse calculated the frequency I would have to send (>= 1Hz) to generate as close as possible the desired output frequency.  If one sweep step output duplicated the last, it was skipped, and the sweep was stopped as soon as the real output frequency was >= 10MHz.  It almost works, but gets off the desired mark in the higher frequencies.  Also, of course, the Sync Out does not sync to periods, but instead to the point length.

Desired Frequency ------DDSSetFrequency ------Output Frequency ------
1001102.40032Hz
2001.953125200.00020Hz
3002.92971679716797300.01245Hz
4003.90625400.00080Hz
5004.8828125500.00125Hz
6005.85960938437537600.02580Hz
7006.8362793139657700.08646Hz
8007.8125800.00320Hz
9008.78915039150391900.09406Hz
10009.7656251.00001kHz
200019.531252.00002kHz
300029.2998049804983.00125kHz
400039.06254.00008kHz
500048.8281255.00013kHz
600058.61719687875156.00980kHz
700068.38672969187687.00305kHz
800078.1258.00032kHz
900087.89941494149419.00941kHz
1000097.6562510.00050kHz
20000195.312520.00200kHz
30000293.26201201201230.12502kHz
40000390.62540.00800kHz
50000488.2812550.51781kHz
60000588.29066265060260.24200kHz
70000687.72007042253570.42400kHz
80000781.2580.64400kHz
90000879.78603603603690.90800kHz
100000976.5625102.04200kHz
2000001953.125208.33400kHz
3000002959.2803030303312.50000kHz
4000003906.25416.66600kHz
5000004882.8125555.55400kHz
6000006103.515625625.00000kHz
7000006975.44642857143714.28600kHz
8000008138.02083333333833.33200kHz
9000008877.840909090911.00000MHz
10000009765.6251.25000MHz
200000019531.252.50000MHz
300000032552.08333333335.00000MHz
600000097656.2510.00000MHz

@Mecha and others - the formula I used for reverse calculation was this:
Dim points As Long = 4080
Dim periods As Long = 204
Dim neededFrequency as Double

I first DDSSetFrequency(x, 10MHz, y, z) and DDSDownload(x, points, periods) the wave points..

Then run this for each desired frequency, starting with 100 as desiredFrequency:

neededFrequency = hantekClock / ((Int(hantekClock / (desiredFrequency * (points / periods ))) / 2) * 4096)
if neededFrequency < 1 then neededFrequency = 1
DDSSetFrequency (x, neededFrequency, y, z)

And the usual loop with increment, check, blah blah.

It may not be perfect.. I banged it out quickly.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on August 09, 2011, 01:51:56 am
just beautiful! however its past 9AM, am at work and have not had a good sleep, will digest this later. is it copyrighted? will i get sued by you if i do this method in my software? :D
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on August 09, 2011, 02:26:28 am
Quote
will i get sued by you if i do this method in my software?

Yes! That's why I stuck my formula there.... to tempt you into using the code so I could get you later!  ;)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on August 09, 2011, 03:40:24 am
perusing several posts/pages back...

Quote
But in the math, Visual Basic 'fixes' it to 3999.  You can get around this by...
i just stumbled with another bug, Int(Log(1000)/Log(10)) = 2! f*ck! 15 years i programmed in VB, i never saw this annoyance until now. coding a simple log sweep is a hell of job! i'm thinking maybe i should make external dll using VC++ to do arithmetic but not sure if its worth it, any suggestion?. may as well just live with this vb bug and keep finding the workaround.

Quote
I noticed that your Hantek software did not report the actual correct output frequency...
i posted the test tool long time ago and NO ONE bothered to report this, so... i dont care, and yes its a bug i just found out, it was before the formulation is decoded by you. and i never try hard to crack that. and other wont ask, and i'm just lazy, so what should i expect? nothing.

Quote
Quote
Quote
The Rigol does not agree with the voltage setting. EG: 3.5v p-p is measured as 3.6v p-p.
I think this is either your Rigol's measurement - or the output of your Hantek is greater than normal.
Either is entirely possible. When I have time I'll check the actual voltage output with a meter to verify. Nice to know there is a means to compensate.
neither. its just hantek output is "unprofiled" and "not flat" (not to mention unsynched, glitching you name it). try to input 3.5Vpp @ 100MHz and look at your scope whats the Vpp, you (my dear Mr Torch) should use that as argument ;) i've done some "sloppy effort" using "poor man" method in attempt to profile the hantek in https://www.eevblog.com/forum/index.php?topic=2170.msg48982#msg48982 (https://www.eevblog.com/forum/index.php?topic=2170.msg48982#msg48982) and another related thread at https://www.eevblog.com/forum/index.php?topic=3678 (https://www.eevblog.com/forum/index.php?topic=3678) and https://www.eevblog.com/forum/index.php?topic=3577 (https://www.eevblog.com/forum/index.php?topic=3577) compensator and flat respond solution i'm still working on. the only question is when will i publish for alpha test... if anyone care :P

at dear mark: your DDS3X25Ctl_0_9_2.zip still the same crash ActiveX not found error. and forgot to tell earlier due to my ignorance that your DDS3X25Ctl_0_9_1.zip keep complaining config file not found at startup, but luckily not crashed. i think its getting serious now, i'll find time to do your trigin single shot wave method, and lo frew stable sweep technique. btw... i'm still coding. soon i will sleep. :P

Quote
Quote
will i get sued by you if i do this method in my software?
Yes! That's why I stuck my formula there.... to tempt you into using the code so I could get you later! ;)
BIG :P :P :P come get me you have to dig through the earth core to get straight to me! if you want to find the most unethical criminal that me! :P nyanyanyanyanyaaa!
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on August 09, 2011, 12:02:42 pm
Quote
i posted the test tool long time ago and NO ONE bothered to report this

Sure, it's all about where your interests are.  I've been trying to crack Divnum for awhile now, but I don't expect anyone will care if I do or not  - except maybe you  ;)

Quote
your DDS3X25Ctl_0_9_2.zip still the same crash ActiveX not found error

Damn...  that's why I need feedback!  I hate that... it's a reference to the CCRP high-performance timer, which I use for testing, but not in the actual running software - but then I forget to disable the reference, and of course, no error on my machine since the timer object is installed.  Ok... thanks... fixed.

Quote
i'll find time to do your trigin single shot wave method, and lo frew stable sweep technique.

Great, thanks.  I haven't had a chance to incorporate the glitch-free sweep stuff in the main software yet.  I need to rewrite the whole sweep section - with options for selecting glitch-free or normal - where, if you select glitch-free it first reports what the output freqs will be, then gives you the option of fine-tuning reference frequency/points/periods and seeing how that would effect the sweep -- or maybe you want to write something like that for us?  :D  Please!

BTW, I was hoping to find a different output as reliable alternate Sync out - that works in every possible scenario.  DO11, when used as pattern generator for simple waveforms, works better than normal Sync out, but won't work for certain other things (like Arbitrary Wave, etc).  I thought I had found a good alternative with Multiprocessorlink pin 5 output (see Pulse.png below) - which puts a pulse out at the end of the waveform - but unfortunately it follows the same behavior as Sync when you use multiple periods in the sweeps - you can see in MPL5.png that it's pulsing after every 10 cycles (4000pts/10per).  But I keep looking at other possible pins.  Eventually, I'm going to mount a switch on my Hantek to choose between different Sync outputs internally and route them to the BNC - because certain outputs work better for certain tasks - and, because of what I consider poor layout on the PCB (running Sync out trace between the DAC and Count in traces!),  the normal Sync output is more noisy than it needs to be.

Quote
you have to dig through the earth core to get straight to me! if you want to find the most unethical criminal that me!

Hah! I used to believe in copyright when I was much younger - but I think it's such a 19th century concept now in the digital age. How can you even copyright a formula?  My great-great-...great-grandfather came up with 2+2=4, but our family never got any royalties  ;)  And the big companies, even though they protest and sue each other, continually 'steal' from each other, if they can get away with it.  Almost all the ground-breaking ideas which personal computing hangs on came out of Xerox PARC  (windows, mouse, etc). Then Apple 'took' the windows idea from them - and then MS from Apple, and on and on. Of course, I don't particularly like the idea of someone selling my -exact- work as theirs - but aside from that, feel free to borrow, appropriate, cut and paste, reconfigure, etc. But the intelligent way to deal with the change in the playing field (the ability to make a 100% exact 'duplicate' of something else) is by a paradigm shift, not by trying to apply old laws and ways of thinking even more fiercely.  We have to become more like sharks - keep moving forward with newer and newer ideas and solutions - instead of expecting to survive off 'royalties' (hell, even the term 'royalties' sounds so old-fashioned).  Is it a harsher, more cut-throat, creative and research environment than it was before?  Yes, but's it the world we've re-invented with digital technology - and the upside is: more access to information, other ideas, inspiration, and potential audience than ever before.  So try to make 1 cent from 1,000,000 people all at once, instead of $1 from 10,000 uses of your 'idea' over time.

Edit:  BTW, here is the exact same sweep (DO11.png) using DO11, instead of Sync Out or MPL5 - and it's a perfect Sync signal.

Edit2  Added the same sweep again, this time with Sync Out below (SYNC.png), to make the comparison complete.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on August 09, 2011, 12:38:27 pm
I've been trying to crack Divnum for awhile now, but I don't expect anyone will care if I do or not  - except maybe you  ;)
yes i do, feel glad to post here or just PM if you dont want the risk to be told as off topic. :P
I need to rewrite the whole sweep section - with options for selecting glitch-free or normal - where, if you select glitch-free it first reports what the output freqs will be, then gives you the option of fine-tuning reference frequency/points/periods and seeing how that would effect the sweep -- or maybe you want to write something like that for us?  :D  Please!
great! looking forward to see the glitch free effect. me write software? maybe yes after you publish your code. you are the expert on this.
How can you even copyright a formula?
copyright is a real thing, for big players. with good money you can copyright air (so someone said). however, thats politic i prefer to skip that. interesting story to hear though.
BTW, here is the exact same sweep (DO11.png) using DO11, instead of Sync Out or MPL5 - and it's a perfect Sync signal.
i cannot read time div in you last picture so i cannot read its frequency?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on August 09, 2011, 12:48:42 pm
i have published my GolTek Controller software. its the first "almost" complete functionality, hence in alpha stage. i'm publishing to ask for alpha (or beta?) testers (hantek 3x25 owners everybody, even without hantek this program still can run in offline mode). i dont think its a good idea to publish the source code yet since i'm still under development, modification and update. but the software is working as it should, only bugs to find, with help from alpha testers, the bug fix process can be quicken as i'm still busy with the development. and its not meant for test tool only, its a real application i made esp for myself. except the help file system (details on specific technical terms) is not completed yet. i hope you can enjoy and benefit the software. cheers.

Download Page (http://www.soasystem.com/eng/goltek/download.htm) - to download and install first for supporting files (esp CommDlg.ocx)
Online Help Page (http://www.soasystem.com/eng/goltek/control.htm) - offline help is available in software file by clicking The Yellow GolTek name
Main Page (http://www.soasystem.com/eng/goltek/index.htm) - my non realized plan yet

features (just to make you tempted to download it) :P:
1] edit any ArbExpress csv wave file you like from other software (Tektronix, Hantek DDS3x25 software etc), load it in goltek controller and send to our awg
2] DUT impedance compensated display (info)
3] synch stable (and phase correction) feature (can be on and off)
4] force clock mode. to ensure whats in your csv file (clock and number of points) get feed into the hantek. again, a big thanks to marmad on this!
5] signal boost (to ensure max amplitude from down sampled data) yet to analyze the effectiveness
6] normal and log sweep (once, repeat, cyclic forward and reverse, like before)
7] flatness control and bandwidth limit. to ensure flat output from hantek (profile not good enough yet. online explanation on the concept not done yet. i'll asap)
8] 12 memory button to store and recall your favorite waves.
9] online (device connected) and offline live simulation of signal and synch, can help if you dont have enough dso channel to probe your signal or want to see if your signal in synch or not in online simulation. but dont trust it 100%, as i said i need alpha testers.
10] a rotatable knob! please tell me if its good or what. as usual, if you dont like it, dont use it.
11] near "true" awg hardware front panel interface, can be good for learning if you plan to get the "high end" one (can you guess from what awg interface i'm cloning it?)
12] lastly, beeps when send data to hantek :P (dont worry, can be turned on or off of course, default to off)



hope to hear some suggestions. thanks
Regards,
Shafri.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on August 09, 2011, 12:51:54 pm
Quote
i cannot read time div in you last picture so i cannot read its frequency?

Time div is 2.0ms - the frequency when the 'image' is snapped ist 900Hz - early in the sweep, which, as mentioned, was done using 4000points, 10 periods.

But I JUST noticed for the first time that Sync Out is actually doing (almost) 2 pulses per 10 periods of the waveform - instead of one - like MPL5 is doing.  Why the hell is that?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on August 09, 2011, 12:58:46 pm
Quote
hope to hear some suggestions

Just used full installer... no exe file after it said it completed installation  :P  - Win7 Ultimate SP1 x64 - or maybe intention was that we use full installer... then exe download?  Anyway, doing that now.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on August 09, 2011, 01:29:02 pm
Quote
GolTek Controller

First impressions - very nice!  Better than the Hantek software in many respects - except for the rotating knob  ;) just kidding, don't mind knob as long as I have numpad input as well.

One obvious display glitch (or not?) - bottom of controller (drawing) has large border (~100 pixels) of white hanging off it.

I'll give it a thorough testing later with more time... and report back. Cheers - and thanks for your efforts!


Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on August 09, 2011, 01:39:34 pm
Time div is 2.0ms - the frequency when the 'image' is snapped ist 900Hz - early in the sweep, which, as mentioned, was done using 4000points, 10 periods.
well, for unsynchronized signal, try freq greater than 1MHz, all freq below that are in-synch (or almost) whether you use or not the "stable synch code"

Just used full installer... no exe file
yes the installation setup is only to copy and register the "supporting files into your system" thing like "ActiveX not found error" that i try to avoid. in my case CommDlg.ocx. after its done, you need to download the executable file, extract and run from anywhere in yor harddisk.

Quote
GolTek Controller
One obvious display glitch (or not?) - bottom of controller (drawing) has large border (~100 pixels) of white hanging off it.
can you PM or link somewhere to me? the display should looks like in help file. top sim yellow trace of signal, middle is blue trace of synch signal, bottom, IO info green text, all fo them black background. try restarting program is it fixed? maybe vb6 getting too old right now in new OS, last time i had problem with screen api when first installing XP. if i got time i'll go steal someone PC with vista or 7 in it for testing.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on August 09, 2011, 02:20:00 pm
Quote
well, for unsynchronized signal, try freq greater than 1MHz, all freq below that are in-synch (or almost) whether you use or not the "stable synch code"

Well, as mentioned, the .pngs are just a tiny capture from a long glitch-free sweep using the 4000/10 parameters - but it doesn't matter about the frequency, because whatever behavior you see in the .png is what the particular output (MPL05 - or - DO11 - or - Sync Out) is doing the entire sweep.

I posted .pngs awhile ago of DO11 being stable at 3.3MHz (i.e. other frequencies that have an unstable Sync Out); so it's handier for me to use that as Sync Out with simple waveforms, so that I can use almost any frequency the device can output - as opposed to only frequencies that are: points/periods = integer.  So I am making a hardware switch to that end  :)

Quote
can you PM or link somewhere to me? the display should looks like in help file.

Sorry, maybe my description was not good.  See attached .png of the GolTek running on my desktop.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on August 09, 2011, 04:20:12 pm
I posted .pngs awhile ago of DO11 being stable at 3.3MHz (i.e. other frequencies that have an unstable Sync Out);
how could i forget that! your message is not suitable for people with lack of sleep like me. urghh!

Sorry, maybe my description was not good.  See attached .png of the GolTek running on my desktop.
shoot! i forgot to include some files (region files *.rgn) here attached is quick fix for you. just extract into the goltek app folder and restart and tell me how it goes. that white border should dissapear and when you move the window it should leave some gap at the bottom of your screen. which on my screen just nicely sit on my taskbar. but i can see your dont have. i've updated the file in my site. thanx for pointing my careless mistake.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on August 09, 2011, 06:14:00 pm
Unfortunately, the skin is rather garbled on my display (1920 x 1200, 32 bit) and I seem to get some rather random results clicking on controls!

See attached screen shot.

I'll try to play with it a bit more when I get home.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on August 09, 2011, 06:44:57 pm
Quote
how could i forget that! your message is not suitable for people with lack of sleep like me. urghh!

One problem is that we're located 6 hours apart in time  ;)

Quote
just extract into the goltek app folder and restart and tell me how it goes.

Yep, that fixed it for me... thanks!
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on August 09, 2011, 08:13:55 pm
Unfortunately, the skin is rather garbled on my display (1920 x 1200, 32 bit) and I seem to get some rather random results clicking on controls!
I'll try to play with it a bit more when I get home.
thats very bad! have you tried changing screen resolution? try removing *.rgn files and see what happened? using keyboard key instead of mouse click etc. but still thats very bad. give me time to figure out, i never see such a thing my entire life. until further investigation, sorry it happened to you.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on August 09, 2011, 11:41:10 pm
thats very bad! have you tried changing screen resolution? [/quote]

Ok, I've tried every available screen resolution from down to 800x600. Same thing, only larger and fuzzier.

Quote
try removing *.rgn files and see what happened?

Renamed them all to .bak and its better -- sort of. See the screenshot below. Basically now I have two images overlaying each other. The larger one works and now I can tell which button to click. I think before, the area that had to be clicked had shifted, even if the button image had not.

Quote
sorry it happened to you.

I demand a refund! I was overcharged for this piece of ALPHA test software!  :'(

 ;D

Edit: I forgot to attach the screenshot.  ::)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on August 10, 2011, 12:06:53 am
Ok, I figured out what is happening. I have the windows system fonts set to "Larger scale" (120 dpi) instead of the default scale (96 DPI). (My arms are getting too short to read this hi-res screen :( ) If I change it to 96 DPI then the two images overlap properly and the mouse clicks the sweet spots. In other words, I can't see what I'm clicking, but now I can click on it!  ;D
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on August 10, 2011, 01:14:28 am
I've managed to crash it:

"The exception Privileged instruction.
(oxc00000096) occurred in the application at location 0x00248da6.

Click on OK to terminate the program"

I was playing around with the sweep function.
Sine wave, 50MHz to 100MHz, 500ms, Cyclic.
Impedance:10MOhm
Stable Synch:On
Force Clock: Off
Signal Boost On
Flatness Ctrl. Off
Flatness BW: 10MHz
Phase Profile: phase3x25
Signal Profile: profile3x25
Beep On Comm: Off

This all worked OK.

Then I used the utility to switch Flatness Ctrl. to On and switched back to sweep. Start and Stop changed to 10MHz automatically.

I hit "Run" and it ran for about 2 seconds before crashing.


Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on August 10, 2011, 03:11:40 am
@torch (bug fix):

Quote
Hmm... I couldn't replicate this either. If I try to "Reset All" without a config file (the software looks for a folder in it's folder called "cfg" [where you can save different setting configuration files; e.g. "logsweep_10Hz_40kHz.cfg"] for a file called "default.cfg").  If it doesn't find that file, I get the message "Configuration file not found", but no crash.  But I've now changed the code to use the default start-up settings as an alternative - so maybe that will prevent your crash.  Please give it another try when you can.

Ok, "Reset All" now produces the error message:

"Run-time error '-2147024770 (8007007e)':
Automation error
The specified module could not be found."

Click "Ok" and the program closes.



Quote
Wow! Nicely spotted bug! I've now changed the formula to my latest - to correctly display the actual output frequency for all entered frequencies.

Yup, that's fixed.

It is still producing that AM pattern in a high-frequency sweep (similar to Mecha's "Radio" pattern). It's particularly noticeable if sweeping above about 75MHz up. EG: there is a 3.4kHz modulation overlaid on the 100MHz base frequency when as it sweeps from 75MHz to 100MHz. However, the pattern is considerably different if one sweeps from 100MHz to 100MHz. The modulation drops to 1.7 kHz and is sinusoidal. Weird. I wonder if it's a result of the frequency transitions -- I notice they are much longer in this version than in the previous version at lower frequencies and  there is a noticeable spike at each transition.

Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on August 10, 2011, 10:33:32 am
Quote
Ok, "Reset All" now produces the error message:

"Run-time error '-2147024770 (8007007e)':
Automation error
The specified module could not be found."

Click "Ok" and the program closes.

Thanks, torch!  I'll look into that later in the week.  Keep up the good work revealing our pathetic mistakes  ;)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on August 10, 2011, 09:39:08 pm
goltek101a (http://www.soasystem.com/eng/goltek/download.htm) available now, more info there. monitor problem fixed. engine updated. crash it if you can. note: delete old waves.dat. it will be incompatible with ver101. have a nice day.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on August 10, 2011, 10:10:08 pm
Display is perfect. I can still crash it as described on page 20 though. Consistently and repeatedly.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on August 11, 2011, 09:45:15 am
Torch's crash routine crashes for me as well   ;)

Also, why, after I've set the frequency of, for example, sine wave output, does it not carry over to other simple waveforms?  For example, I set sine wave to 100kHz - get good output - change to triangle wave - frequency jumps to 48.828kHz.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on August 11, 2011, 01:17:27 pm
Torch's crash routine crashes for me as well  ;) Also, why, after I've set the frequency of, for example, sine wave output, does it not carry over to other simple waveforms?  For example, I set sine wave to 100kHz - get good output - change to triangle wave - frequency jumps to 48.828kHz.
torch crash was fixed. it was log(0) error. i'll publish when i fix the other things, he asked for "set wave as default device output during startup" sensible to me, so i'm adding some menu. frequency not carry over across wave buttons is intentional, each wave shape got their own frequency setting. so i can work with different frequency for different wave quickly. maybe i'll figure out how to make it "carry over". for now the workaround is to set every wave to same frequency, or save it in memory button. thanx.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on August 11, 2011, 01:35:59 pm
Also, why, after I've set the frequency of, for example, sine wave output, does it not carry over to other simple waveforms?  For example, I set sine wave to 100kHz - get good output - change to triangle wave - frequency jumps to 48.828kHz.

Yes, but when you click sine wave again, the frequency jumps back to 100kHz. I can see where this would be particularly useful in cases where one has redefined the standard waveforms with a custom waveform and need to jump back and forth between a couple for testing purposes.

I can also see where it might be handy to lock the frequency between waveforms, but the input mechanism is so quick and easy (I especially like the way you can short cut using alpha keys: eg type "10k" and it instantly changes the frequency to 10kHz) that it's not really an issue for me. Personal preference.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on August 15, 2011, 02:04:29 am
In playing with Mecha's and Marmad's software, I have discovered that my DDS3x25 does not faithfully generate certain waveforms (square, triangle and sawtooth) at low frequencies. Here's a "square" wave:

(http://picturehosting.verhey.org/DDS3x25/1hz_square.jpg)

The maximum voltage is ~2 times what it should be and the shape will be nothing like it should be. Increasing the frequency, the amplitude is almost correct by 25hz

This happens with any control software (including Hantek's) and stand-alone on start-up when saved as the default waveform.

Oddly enough, it does not happen with sine waves. Sine waves have reduced amplitude at reduced voltage but maintain the correct shape.

Talking to Mechatrommer by PM, his DDS3x25 does not exhibit this curious flaw. Is this just mine or can anyone else reproduce this behavior?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: amspire on August 15, 2011, 03:11:03 am
It all looks OK.

Your Rigol is probably spec'ed for a 50 ohm output. If so, an open circuit output will be double in voltage to the amplitude settings on the Rigol. That is normal for a 50 ohm output from a generator.

The waveform is OK to. You probably have the scope set to AC coupling, and that would be the correct waveform for AC coupling at 1 Hz squarewave.

Richard
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on August 15, 2011, 03:34:55 am
Your Rigol is probably spec'ed for a 50 ohm output. If so, an open circuit output will be double in voltage to the amplitude settings on the Rigol. That is normal for a 50 ohm output from a generator.

The Rigol has 1Mohm inputs. The Hantek was also set to 10 Mohm impedance. I was using co-ax (RG58/U) and tried it with and without a 50 ohm terminator. Yes, it affects the amplitude, but does so consistently. That is, this variation in amplitude:frequency occurs with or without the terminator.

Quote
The waveform is OK to. You probably have the scope set to AC coupling, and that would be the correct waveform for AC coupling at 1 Hz squarewave.

Ding ding ding ding ding!!! WE HAVE A WINNER!

And I have egg on my face.  :-[

Yes, the Rigol was indeed set to AC coupling, and yes, setting it to DC corrects the waveform -- AND corrects the voltage fluctuation.

Thanks Richard.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: TT89 on August 16, 2011, 05:14:57 pm
Heya,

Been watching this conversation for a few months and now I decided to open my mouth and say: great job done! Really appreciate all the efforts done to make this potential device even more potential.

Although  ;D I have a bit of a problem that I thought sharing with you.

After having done the setup installation as instructed, and with different windows support settings, and used administrative priviledges, just to close possibility of typical windows related installation issues, I am still having problem with the startup of the program. On a side note, there were no any visible problems/errors with the installation. Even the installation file that the installer made looked error free to my eyes.

So to the main issue:

When I start Goltek controller, despite of it's installation location C:\ or D:\, despite of what settings I used, it starts up with series of an errors:

Code: [Select]
"Error while reading data 1. Type mismatch. Aborting and save read data. File=C:\xx\xx\xx\goltek101\sine.csv" (attachment 1)

And it basically goes through all those csv files, except square.csv

Then it says:
Code: [Select]
[i]Type mismatch. Resetting phase profile. Please restart application.[/i]
[i]Type mismatch. Resetting signal profile. Please restart application.[/i]

After this, only square wave form works, and it seems to work perfectly. All other forms does not work, but show the same signals.
(Attachment 2. Plain signal on output channel, yet synch channel seemed to produce correct square signal at correct frequency as far as it stays as square.)

My OS would the mother of all software problems: Windows 7 64-bit Ultimate.    ::)
Hantek driver seems to work fine, since I used DDS-3x25 USB application, a.k.a the Hantek's one they supply. All waveforms there looked decent, but only examined that swiftly.
Been excited to play with my new Hantek DSO5120B oscilloscope so I haven't had much time to examine this problem any further yet.

Again thanks for the time spend on this little magicbox!

Regards,

Almost happy EEstudent.  :P
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on August 16, 2011, 07:06:57 pm
PM'ed you TT89. we'll see whats your problem. btw, i've finished goltek capture 100a and modify a bit goltek controller 103a. :P http://www.soasystem.com/eng/goltek/goltek103.zip (http://www.soasystem.com/eng/goltek/goltek103.zip)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on August 17, 2011, 08:52:09 am
@mecha

I create a CSV file in Arb Express of exactly 4000 points with 2 cycles of a square wave - I open Goltek, switch to ARB, and set the frequency to 25kHz or 50kHz (both 4000 point settings for Hantek). I read my 4000 point CSV into Goltek and it resets the frequency to 62.5kHz?

Also, the name of the CSV file you've loaded should be displayed somewhere; i.e. good file handling practice, etc.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: TT89 on August 17, 2011, 10:19:39 am
Here is the pictures that I promised Mecha.

In the Interface picture, sine waveform setting seems to produce only some kind of spikes. Those spikes seem to follow the frequency setting though. (Spikes seem to be at the location where the sine wave's peaks supposed to be.)

The other photos show what the waveform looked on my scope.
A closer looked shows that those spikes are pretty nicely formed square wave pulses.

And on a side note, now that I noticed, don't mind the volts setting... wrong attenuation setting. :P

These spikes only come after the program restart after the first start it creates those waves.dat and waves.ini files.

Dunno if this helps anything, but I hope it does.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on August 17, 2011, 12:59:22 pm
1) I create 4000 points with 2 cycles, I open Goltek, and set the frequency to 25kHz or 50kHz (both 4000 point settings for Hantek). I read my 4000 point CSV into Goltek and it resets the frequency to 62.5kHz?
2) Also, the name of the CSV file you've loaded should be displayed somewhere; i.e. good file handling practice, etc.
1) during each csv read. the program will calculate the data "natural frequency" i may call it, and put it in the freq parameter. ie freq = clock / number of points. so from your info, the clock in your csv file is 250MS/s. duh, should i disable that? and leave your input freq as is during each csv read? vote anyone? i like it that way ??? workaround (step) is load any files that you like, set your desired freq (after program reset it to natural freq), and save it in memory button if later you want to load another file. loading from memory button wont reset to natural freq, but to the last set/saved frequency (popped up in tooltiptext, refer to (2) below). i designed this app with capability to replay/replicate exact arbitrary waveform that we've captured/created somewhere, not just as "classic" signal generator that we used to have for centuries. since tektronix csv format provided clock info, so i think i want to use it in the app... what do you think?

2) refer to pic below. in the app, below the simulation windows, there's io info (2 lines green text) top showing output frequency and #points that sent to/produced by hantek (estimation using your algorithm), below that, is the input file name (#points read from file), since its very little space, long filename will be cropped out of view, solution is hovering your mouse on the info text, the full text will pop up (tooltiptext), you can do the same with any wave and memory buttons. it will show [wave id], [filename], [latest set freq]. wave id is the 7 wave buttons there, 1=sine, 2=square ... 7=arb. recalling any memory button will switch the "wave button" to its id. hence let say you are playing with sine wave (id 1), and then later load memory button whose id is 2, then dont be shocked if your "square" wave button (id 2) turns green, and sine button deactivated grey! :P

hint: if you want to play with classic wave (sine, square, triangle, saw etc), i suggest load your best csv wave file into those 4 top buttons, lock or unlock the frequency setting if you like (your wish granted replacing beep setting in util) and play. but if you want to play with things like radio, noise generation, and any other arbitrary data, then i think you should concern of the famous sampling equation: clock = points * freq, which is what the hantek is designed for... arbitrary, not just simple wave generator which only concern freq alone... is that sensible?

and not to forget, if arbitrary wave replication is your concern (like my current project), you should care to click the "force clock" mode in util menu. and see how the program will try to match the clock and number of points from your csv file to be generated by hantek (marmad's estimation, or law? is the golden rule here!). 2 mode, boost and non boost, further info... pls refer to the help file (click the yellow goltek name topmost the app) or utility help (http://www.soasystem.com/eng/goltek/utility.htm). there also different downsampling method/fix for square and sawtooth (for extreme rise/fall time signal) briefly explained in easter.htm (http://www.soasystem.com/eng/goltek/easter.htm), i'll find time to update those. cheers ;). for now i think i'm tired coding/typing, need some rest :P want to sneak a peek on my halted project before and using goltek for it, who knows i may find more bugs while in "real application". will keep fixing and using and fixing, as always...

@TT89: we'll look into your problem. i suspect you have different number system set in your OS. the same case different dpi monitor resolution as Torch had before. i admit thats my limitation, i'm not pro programmer and i never program global level compliance software, was only for myself and still is :P
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on August 17, 2011, 01:18:16 pm
should i disable that? and leave your input freq as is during each csv read? vote anyone? i like it that way ??? workaround (step) is load any files that you like, set your desired freq (after program reset it to natural freq), and save it in memory button if later you want to load another file. loading from memory button wont reset to natural freq, but to the last set/saved frequency (popped up in tooltiptext, refer to (2) below). i designed this app with capability to replay/replicate exact arbitrary waveform that we've captured/created somewhere, not just as "classic" signal generator that we used to have for centuries. since tektronix csv format provided clock info, so i think i want to use it in the app... what do you think?

Workaround is fine for me... just wanted to report the behavior it case it wasn't planned.

Quote
2) refer to pic below. in the app, below the simulation windows, there's io info (2 lines green text) top showing output frequency and #points that sent to/produced by hantek (estimation using your algorithm), below that, is the input file name (#points read from file), since its very little space, long filename will be cropped out of view, solution is hovering your mouse on the info text, the full text will pop up (tooltiptext)

My bad... I didn't see that!   :P

Quote
for now i think i'm tired coding/typing, need some rest :P want to sneak a peek on my halted project before and using goltek for it, who knows i may find more bugs while in "real application". will keep fixing and using and fixing, as always...

Take a break, my friend.  You've earned it... excellent work!  ;)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on August 17, 2011, 01:56:04 pm
i think (as mentioned) i want to take a rest from goltek dev a while to make room for other stuffs (and night sleep :P) except if there's bug report coming in (PM invited). if anyone interested in the source code (VB6) i can share it but not as freely, i only share to "Full Member" status with "usefull" contributions (review, advice info etc). the reason, i dont want rigol and hantek people come in and just copycat my code because its so damn good :P (and they are so poor) and trust me, nothing interested in there, just a strangled bunches of messy codes try to cope with the messy GUI... mostly. and @marmad, thanks pal, you've given your piece of "gem" in that software.

edit: and not to forget to onlooker previously, for publishing "partly" usefull data.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on August 21, 2011, 12:17:15 am
i've completed the technical issues (concepts) in goltek software and Hantek 3x25 specifically, and DSS and signal generator, generally...

1) Stable Synchronization and In-Synch Signal (http://www.soasystem.com/eng/goltek/synch.htm)
2) Flatness Control and Bandwidth Limitation (http://www.soasystem.com/eng/goltek/flat.htm)
3) Phase Profile Concept and File Format (http://www.soasystem.com/eng/goltek/phaprop.htm)
3) Signal Profile Concept and File Format (http://www.soasystem.com/eng/goltek/sigprop.htm)

all of them can be found in Goltek Main Page (http://www.soasystem.com/eng/goltek/index.htm) and can be downloaded at Goltek Download Page (http://www.soasystem.com/eng/goltek/download.htm) besides with other update. FWIW...
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on August 21, 2011, 12:47:37 am
Nice!  Isn't writing documentation fun?  ;)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on August 21, 2011, 01:07:45 am
Nice!  Isn't writing documentation fun?  ;)
yeah 2 nights fun! :D i hate it but i dont know why its fun :D
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on August 21, 2011, 01:13:51 am
Fun or not, it explains the issues in a concise and understandable format. Very nice.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: msraya on August 31, 2011, 08:04:45 am
Hello!

I am Manuel from Spain. Mechatrommer, I read your good explanation in your web and then I get my DDS working via MATLAB 32bits to generate narrow pulses for my studies in Nuclear Spectroscopy.

I am assitent Teacher in University and I am very interested in your work and in the chinese cheap instrumentation. I will go to make my students more proficient in their work in Electronics and Informatics via MATLAB and Digital Signal Processing studies. This cheap generator mixed with a USB cheap oscilloscope wich can aboord my students may account for a good basic electronics course.

I will go to Hantek DSO3064A. It is much more expensive, but it has a DDS generator buitl-in and a 200MSPS, 60MHz, 4 chanel oscilloscope, wich is more interesting for Microcontroler and Digital Electronics developement..

If interest you I can post my MATLAB source code for others to go, but it is very simple.

Greetings
Manuel
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: ElektroQuark on August 31, 2011, 08:50:07 am
Hola Manuel:

Please, share the code. I'm interested in it.

Un saludo.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: msraya on August 31, 2011, 09:13:59 am
ok, it will go.

This is a Matlab function wich takes as arguments, the amplitude of the signal, the frecuency of the signal and the rise time and the fall time and sintetize a triangular periodic waveform.

The timeline of the signal is a+b+c+d. a is the pre-signal time, b is the rise time, lineal function, c is de fall time, linear function and d is the "trail" time or post-signal. In my sintesis I made arbitrairly a=d/10 . na,nb,nc,nd are the number of digital samples that form the signal.

The signal generation in MATLAB is a lot more easy than for VISUAL BASIC. I hope you understand the code.

This code does not work in MATLAB 64 bit over Windows 7 64bits. I right now use a Virtual Box Windows XP Machine over Windows Seven 64 bits. It works with Hantek via USB 100%. The noise with low amplitude signal is bad (environ 4mV), but if we use the maximun amplitude and use a external atenuator, noise is lower.

If I have time, I will make a 32bits application in Visual C++ for MATLAB 64 bits compatibility. It will translate TCP/IP inquiries to the HANTEK DDS 32bits DLL. The better solution is than we have a Hantek 64bits DLL. But I dont know if the company will supply this.

IMPORTANT: This DLL use the _stdcall calling convention. It must use a modificated mHeader file. Here explain how to create and use the mHeader file: http://www.mathworks.es/support/solutions/en/data/1-671ZZL/index.html?product=ML&solution=1-671ZZL (http://www.mathworks.es/support/solutions/en/data/1-671ZZL/index.html?product=ML&solution=1-671ZZL)

function pulso(amplitud,frecu,tsub,tbaja)
%UNTITLED pulso(amplitud,frecu,tsub,tbaja) frecu en Hz, tiempo en useg
%   Detailed explanation goes here

loadlibrary('DDS3X25Dll.dll',@mHeader);
error=calllib('DDS3X25Dll','DDSSearch');
if error==0
    unloadlibrary('DDS3X25Dll');
    disp('Error con dispositivo.');
    return
end

error=calllib('DDS3X25Dll','DDSCheck',0);
if error==0
    unloadlibrary('DDS3X25Dll');
    disp('Error con dispositivo.');
    return
end
nPer=0;
nPoints=0;
pnp=libpointer('int32Ptr',nPer);
pnpoin=libpointer('int32Ptr',nPoints);
[error respoin resPer] =calllib('DDS3X25Dll','DDSSetFrequency',0,frecu,pnpoin,pnp);
if error==0
    unloadlibrary('DDS3X25Dll');
    disp('Error con dispositivo.');
    return
end

freqm=respoin*frecu;
d = ((1/frecu)-tsub*1E-6-tbaja*1E-6)*10/11;
a=1/10*d;

na=floor(a*freqm);
nb=floor(tsub*1E-6*freqm);
nc=floor(tbaja*1E-6*freqm);
nd=ceil(d*freqm);

may(1:na)=0.0;
mx=na+1:1:na+nb+1;
may(na+1:na+nb+1)=((double(mx)/(double(nb)+1.0))-((double(na)+1.0)/(double(nb)+1.0)))*(double(amplitud)/3.3);
[x ptr]=size(may);
mx=ptr+1:1:ptr+1+nc;
tmp=(1.0+(double(ptr)+1.0)/double(nc));
may(ptr+1:ptr+1+nc)=(tmp-double(mx)/double(nc))*(double(amplitud)/3.3);
may(ptr+1+nc+1:respoin)=0.0;
%plot(may);
y=2048-2047*may;
py=libpointer('uint16Ptr',y);
 error= calllib('DDS3X25Dll','DDSDownload',0,py,respoin);
 if error==0
    unloadlibrary('DDS3X25Dll');
    disp('Error con dispositivo.');
    return
 end
 
 unloadlibrary('DDS3X25Dll');

end
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on August 31, 2011, 02:24:52 pm
Gracias too Manuel.  And all those contributing to help hack the software better.  Its great when we can squeeze so much out of it, and realize its potential.



Hola Manuel:

Please, share the code. I'm interested in it.

Un saludo.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: msraya on August 31, 2011, 05:04:34 pm
 
Ok, To share is To Live!! HI!

I do not know if my code has bugs in the sintesis of the signal. By Now It work for my purposes. I am generating more and diferent pulses and it works. But the AWG does not work in single mode, only work in repetitive mode. In this way I lost resolution when my signal is more length and complicated.

The generator in single mode only outputs 5ms of repetitive signal, actually nosense..

I am looking for a reputed ebay seller for get the hantek 3064A. The 3064 and 3064A oscilloscopes are much similar and new products.
 
Manuel
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: ElektroQuark on August 31, 2011, 07:57:57 pm
Gracias too Manuel.  And all those contributing to help hack the software better.  Its great when we can squeeze so much out of it, and realize its potential.


Yes, thank you all. (Sorry for a "thank you" only post).
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on September 01, 2011, 12:07:25 am
Sorry for a "thank you" only post.
apologize accepted :D

at msraya, do you really need 4 channel? and hence opt for usb dso (3064)? why dont get a proper dso with screen and control. or at least Hantek DSO8060 60MHz Five-in-one Handheld Oscilloscope. it got 3x25 generator (i believe), dso, multimeter (not to mention monitor and controls and handheld"ness") in one package for the price just a little bit higher than a proper low end dso alone or your suggested usb hantek 3064 oscilloscope. but if you split the price, you can average about $100+ only for each functionality. which is what i pay for the hantek 3x25 alone. if i'm looking for a generator and a scope, (with multimeter as a bonus) i may want to look at this unit. i've made a post on this sometime ago but i believe its lost in space. and since you are educating young people, in my opinion, its better not just teach the functionality, but the working with the real device interface (monitor or graticule, buttons, knobs, cabling etc), usb device only for budget limited or another alternative for people/hobbiest (or Uni?), recommending (promoting) it as real device is not a good idea... in my humble opinion.

http://cgi.ebay.com.my/Hantek-5in1-Handheld-Scopemeter-DMM-DSO-AWG-DSO8060-60M-/260839953809?pt=BI_Oscilloscopes&hash=item3cbb45d591 (http://cgi.ebay.com.my/Hantek-5in1-Handheld-Scopemeter-DMM-DSO-AWG-DSO8060-60M-/260839953809?pt=BI_Oscilloscopes&hash=item3cbb45d591)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: msraya on September 01, 2011, 07:24:21 am
Thank You Again, Mechatrommer. I dont know all chinese oscilloscope, I am getting the picture, HI.

In my desk, I have a old Instek GDS-820C, 150MHz wich I use all day and I want to replace. For my home and my project I  need more chanels more depth memory and MATLAB conection, then I think in the Hantek 3064A, but then I re-think than I could need more bandwith in lieu of more channels... The new OWON SDS8202 atract my attention at twice 3064A cost, 650eur, but I not find review of the more interesting OWON MSO8202T wich is also expensive for my hobby work.

Yes, the Instek has SCP Language and MATLAB conection, that Hantek does not has, then..  In the univ lab we have lots of GDS-810 with serial interface. I also have a Agilent MSO6052A in the univ lab wich I use in MATLAB via GPIB, but it is in another ligue, HI.

In the other hand, I want my students can abbord a AWG and Oscilloscope at home to practice himself. I want to build a basic electronics and DSP practice tour based in MATLAB and SCP (hantek or other). I dont know the hantek 8060. Can be the solution, but it is more expensive at aprox 370eur, vs Hantek DDS 3X25 + Hantek DSO2090 = 250eur. It has more capabilities, too..

Sorry for the OFF-TOPIC!
Greetins
Manuel

Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Kozmyk on September 03, 2011, 04:25:59 pm
I'm that impressed by the GOLTEK software that I've gone and bought a Hantek 3x25.
Excellent work.
Thank you.

Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Kozmyk on September 14, 2011, 03:37:03 pm
3x25 arrived today.
The GolTek Controller makes it infinitely more useable.
No more stability problems.

Thanks for all your efforts. 
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on September 14, 2011, 04:02:34 pm
Glad you like it Kozmyk, give us a review if you can; I know you recently had issues with the Siglent but your impression with your Kikusui, your upcoming new scope, comparing it to your current FG and any photos you can share would be nice.

3x25 arrived today.
The GolTek Controller makes it infinitely more useable.
No more stability problems.

Thanks for all your efforts. 

Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on October 22, 2011, 07:57:54 pm
i've made some simple note while i'm at it. FWIW. DDS3X25 as Digital Generator (http://www.soasystem.com/eng/goltek/digital.htm)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on October 26, 2011, 03:12:55 pm
Nice!  Thanks for that mecha. 

i've made some simple note while i'm at it. FWIW. DDS3X25 as Digital Generator (http://www.soasystem.com/eng/goltek/digital.htm)

Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Tectonic on November 24, 2011, 07:17:21 pm
You can add me to the list of 3x25 owners. Praises to you Mechatrommer, for your GolTek Controller (http://www.soasystem.com/eng/goltek/). Also thanks to all the helpful contributions from other members.

So far the 3x25 is exceeding all my expectations. I've been searching for a decent function generator to play with while I'm learning Robotics and this is a true gem in its price range. I searched for affordable used bench top models as well as new devices at entry level pricing. This proved to be more complicated than I had anticipated by a few orders of magnitude!

I do have a few questions for you guys in regards to the signal output I see on my scope. The first Picture is of a 5MHz square wave. Output impedance from the GolTek Controller is set to 50ohm. The oscilloscope is an 400MHz analog Tektronix 2465B calibrated about 3 years ago.

(http://i.imgur.com/1myjcl.jpg)



This second picture is of the same square 5MHz wave. This time I'm using a P6139A probe connected to a Pomona BNC to minigrabber test clip, which is plugged in directly to the 3x25. Impedance is still set to 50ohm.

(http://i.imgur.com/5dIKFl.jpg)


And now the same signal using the probe but reducing impedance to 1ohm.

(http://i.imgur.com/rQQY1l.jpg)









In the first picture, what I think I'm seeing is over input impedance. I believe I'm seeing something similar to what's noted in Linear Technology's AN47-14 (pdf) (http://cds.linear.com/docs/Application%20Note/an47fa.pdf). The third picture using the probe and the impedance set to 1ohm also shows the curve at the top of the rising edge and bottom of the fall.

If this is indeed caused by over input impedance, is there a way to compensate even further via software? Also of note is the amount of ringing.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: alm on November 24, 2011, 10:31:55 pm
I do have a few questions for you guys in regards to the signal output I see on my scope. The first Picture is of a 5MHz square wave. Output impedance from the GolTek Controller is set to 50ohm. The oscilloscope is an 400MHz analog Tektronix 2465B calibrated about 3 years ago.
Rise time of about 5ns, seems reasonable (not sure what the rise time spec is). Is the scope set to 1 Mohm or 50 ohm? A 50 ohm input impedance should give the best performance. The impedance setting in the generator will probably only change the amplitude calibration. Eg. if the output impedance is 50 ohm, you expect half the amplitude with 50 ohm load, and the full amplitude with 1 Mohm load.

This second picture is of the same square 5MHz wave. This time I'm using a P6139A probe connected to a Pomona BNC to minigrabber test clip, which is plugged in directly to the 3x25. Impedance is still set to 50ohm.
I wouldn't expect a great signal when using some flying leads, I would only use coaxial connections. If you don't have a probe tip to BNC adapter, try putting the probe tip directly in the BNC socket and make a short ground connection (not the alligator clip) between the probe sleeve (unscrew the plastic part) and BNC shell. Twisting a cut off resistor lead around the ground sleeve might work. The less inductance, the better.

And now the same signal using the probe but reducing impedance to 1ohm.
Reducing impedance to 1 ohm? You mean putting a 1 ohm resistor in parallel with the probe? Or some setting in the software?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Tectonic on November 24, 2011, 10:42:57 pm
With the BNC cable, the scope is set to 50ohm. With the probe the scope is at 1Mohm. I reduced it to 1ohm via software.

Edit: The adapter was the problem as you suggested. I used the probe directly on the 3x25 and the wave looks similar to the one I get in the first picture with the BNC cable.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: alm on November 24, 2011, 10:55:55 pm
Shafri would know for sure, but I would expect the only result to be that the software does some mathematics to convert the amplitude display. 1 ohm output impedance sounds unlikely, that would suggest a huge short circuit current. It's also very uncommon for generators to actually have a variable output impedance.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Tectonic on November 24, 2011, 11:11:20 pm
As far as I know the Spartan 3 has digitally controlled impedance functionality. I can't be certain if this is how the GolTek Controller varies output impedance though.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on November 25, 2011, 12:03:44 am
With the BNC cable, the scope is set to 50ohm. With the probe the scope is at 1Mohm. I reduced it to 1ohm via software.

preface:
software is a software, it got nothing to do with hardware. goltek cannot control the hardware impedance, there's no API for that. if you look at teardown in the early page, dds3x25 only has fixed 50ohm output impedance, ie small resistor just before the bnc connector output. by changing impedance in software, it will not affect anything in the hardware.

"postface":
what impedance means in goltek is that... in reality, at what impedance you are loading the generator? (a resistor between the 3x25 output and the ground, it also called termination) if you set your scope to 50ohm (scope's input impedance), then you are loading the 3x25 with 50ohm, then you should put 50ohm value in software. if you put a 1 ohm termination at the probe, then put 1ohm in goltek, not the other way around, dont expect by putting 1ohm in software, there will be a 1 ohm resistor popped out somewhere in reality.

impedance value in software is only try to display/simulate/predict the signal magnitude correctly... you have to match the impedance in real world, with the impedance value in software so that the little "monitor like" figure simulating output signal in your PC, will show you the closest thing with the real signal out of the 3x25. i hope i understand your problem correctly and answered it. ;)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on November 25, 2011, 12:27:34 am
as of your picture. the 1st picture is scope impedance set to 50ohm (software at full magnitude), the 3rd picture the scope is set to 1MOhm impedance (and again software at full magnitude), and the 2nd picture is some reflection from the pomona lose wires probe or else the goltek already change amplitude setting to lower value due to you are playing around with "software impedance". am i right? i suggest you redo test in 2nd picture, but make sure magnitude setting in goltek is set at maximum, if the pomona+scope impedance = 1MOhm, you should see 6Vpp (similar to 3rd picture, or 3Vpp like in 1st picture if your probe+scope "real" impedance is 50ohm) but noisy wave (noise due to improper probe setup, ie lose wires), hint: to get max magnitude in goltek, just type crazy large value such as 1000V and hit enter, goltek will automatically set to max magnitude sensible by the API (hence DDS hardware). and make sure Flat Ctrl is turned OFF if you want max 6Vpp out of 3x25 (Hi-Z output)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: rev0 on November 28, 2011, 07:18:34 am
as of your picture. the 1st picture is scope impedance set to 50ohm (software at full magnitude), the 3rd picture the scope is set to 1MOhm impedance (and again software at full magnitude), and the 2nd picture is some reflection from the pomona lose wires probe or else the goltek already change amplitude setting to lower value due to you are playing around with "software impedance". am i right? i suggest you redo test in 2nd picture, but make sure magnitude setting in goltek is set at maximum, if the pomona+scope impedance = 1MOhm, you should see 6Vpp (similar to 3rd picture, or 3Vpp like in 1st picture if your probe+scope "real" impedance is 50ohm) but noisy wave (noise due to improper probe setup, ie lose wires), hint: to get max magnitude in goltek, just type crazy large value such as 1000V and hit enter, goltek will automatically set to max magnitude sensible by the API (hence DDS hardware). and make sure Flat Ctrl is turned OFF if you want max 6Vpp out of 3x25 (Hi-Z output)

I'd like to suggest the addition of a PWM waveform option on your Goltek program. I don't yet own a 3x25, but just ordered one, and I think that a variable frequency and duty cycle PWM output would be extremely useful (I usually end up programming an AVR to do this, but I waste a lot of time hooking one up and digging out the right config register values).
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on November 28, 2011, 02:38:57 pm
I'd like to suggest the addition of a PWM waveform option on your Goltek program.
very good idea! i'll see what can i do and how to fit it in the program.
edit: about the AVR, i think you can program it with one adc input (trimpot) and the pwm output duty cycle will change based on the trimpot value.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: RJSC on December 04, 2011, 11:53:31 pm
This topic is getting a bit long to read straight from the beginning, but I understand that with the GolTek software, the jitter and sync issues are resolved, right?

Has anyone designed an amplifier so that we can use the DDS 3X25 over an wider amplitude and offset range?

Maybe we can design an amplifier that can be connected to the pattern generator port and be controlled by the Goltek software.
Hows that?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on December 05, 2011, 10:10:53 am
but I understand that with the GolTek software, the jitter and sync issues are resolved, right?
synch issue solved, with limitation (freq res/step). jitter? no, its inherent in fpga dds hardware.

Has anyone designed an amplifier so that we can use the DDS 3X25 over an wider amplitude and offset range?
if you have a taste for it, you may ask me for schematics... http://soasystem.com/eng/goltek/amplifier.htm (http://soasystem.com/eng/goltek/amplifier.htm) its just normal 3-5X gain opamp using ths3095

Maybe we can design an amplifier that can be connected to the pattern generator port and be controlled by the Goltek software.
already has, in the dds3x25 hardware. whats the point building what you already have? the only sensible to me is for digital generator (bus, spi or such). but i have a hardtime finding time for sw dev for it sorry :P
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Amerlock on January 14, 2012, 06:57:14 am
Hello everyone,

First off I would like to say what a great Forum. Now a little about myself.. I am doing a double major in Engineering (computer and Electronic).. And I have decided to build my own lab at home so that I may be close to my kids while I am doing my homework.

Anyways, within the last couple of weeks I have purchased all of my equipment and everything seems to work fine except the DDS 3x25.. I have realized that we cannot regulate the impedance. The equipment at school lets us put a HIGH Z function on route for the impedance control. And it is too late for me to return my function generator. So my question is this..

Would it be possible for you to incorporate a similar HIGH Z function into your Goltek program?  And if not could someone recomend some way of getting around this problem with the DDS 3x25. If I cannot find a solution for this I might as well resell this piece of equipment because it will be useless to me and find another one that suits more my needs..

Thanks for any help..
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: alm on January 14, 2012, 07:41:05 am
Anyways, within the last couple of weeks I have purchased all of my equipment and everything seems to work fine except the DDS 3x25.. I have realized that we cannot regulate the impedance. The equipment at school lets us put a HIGH Z function on route for the impedance control. And it is too late for me to return my function generator.
Did that actually change the output impedance, or did it just scale the displayed voltages to be correct for an unloaded output, like most of the function generators? I find it hard to understand how this can be a critical feature, didn't they teach Ohm's law in school?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on January 14, 2012, 01:11:03 pm
Typically a Hi-Z switch on a FG, effectively replaces the 50 ohms in series with 1 megaohm resistance.  To emulate the same simply put a 1 megaohm resistor in series with the Hantek 3x25 output.  The only reason to have this is so the function generator output voltage matches the output scale of the FG, otherwise, it typically 2x larger than the FG scale.  It uses 1 megaohm to match what its commonly used for; to see on a scope.

In theory, Hi-Z can mean infinite impedance such as in tristate buffer ICs.  But if that were so, anything in series with it will see zero output. 

The 3x25 is best used by someone who enjoys hacking and exploring how to stretch gear without fear.  Its not the ideal instrument for teaching, because it does peculiar things that had to be hacked around.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: alm on January 14, 2012, 01:38:28 pm
Typically a Hi-Z switch on a FG, effectively replaces the 50 ohms in series with 1 megaohm resistance.  To emulate the same simply put a 1 megaohm resistor in series with the Hantek 3x25 output.  The only reason to have this is so the function generator output voltage matches the output scale of the FG, otherwise, it typically 2x larger than the FG scale.  It uses 1 megaohm to match what its commonly used for; to see on a scope.
Do you have an example of a function generator that actually does this, preferably with schematic? This sounds like a dumb thing to do. Where do I buy the 1 Mohm coax cable that matches the impedance of this supposed 1 Mohm output impedance? Assume I use a 1 meter RG-58C cable to connect the function gen to the scope, and the function generator is set to its max (3.5V) amplitude. This unterminated piece of coax will have a capacitance of about 100 pF, so the impedance at 75 MHz will be about 20 ohms. This will load the function gen and will reduce the amplitude at the output of the function generator from 3.5 Vp-p to about 70 uVp-p.

Plenty of function gens have the ability to switch between 50 ohm and 'hi-Z' load, the only thing it usually does is multiply the displayed voltage by two, since it was calibrated for a 50 ohm load. The output impedance is usually a constant 50 ohms. Some may be able to switch to 600 ohms for audio applications, but not 1 Mohm.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on January 14, 2012, 02:04:02 pm
novel construction.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on January 15, 2012, 02:04:59 pm
Sorry alm and mecha, brain faxt on my part, although it was partly factious in that the Hantek hack was made for people to play with, and get more value from it, not getting something very basic spoon fed to everyone. 

What I meant effectively is it forms a 1:1 voltage divider with the scopes impedance, fixing the voltage but not its effect as a transmission line.

Adding 1 megaohm could work at low frequencies, but it will play havoc as frequencies rise for all the reasons alm already makes clear, the impedance is still mismatched at least for the cable and the connectors.

Hi-Z as an abbreviation for "high impedance" is an ambiguous term ; tristate on one hand, non-50 ohm devices on another, anything over 10kohms for microphones; there could be more.

I've heared the term 'hi-z' used in conjunction with scope probes meaning specifically 1 megaohm probes.

http://www.home.agilent.com/agilent/product.jspx?nid=-34025.0.00&lc=eng&cc=US (http://www.home.agilent.com/agilent/product.jspx?nid=-34025.0.00&lc=eng&cc=US)

There was once a signal generator with adjustable output impedance, as in mecha napkin'd schematic:

http://www.emchire.co.uk/products/product-code/506 (http://www.emchire.co.uk/products/product-code/506)

Finally hi-z switch on many function generators just means the electronics adjusts the output so the dial scale is what is actually outputted if the DUT is not 50 ohms, it does not really adjust the output impedance of the function generator to 'high impedance'.  It can just blatantly halve it, or better, may have a voltmeter at the output that will sense, feedback and adjust the output regardless of what the DUT impedance is.
 




Typically a Hi-Z switch on a FG, effectively replaces the 50 ohms in series with 1 megaohm resistance.  To emulate the same simply put a 1 megaohm resistor in series with the Hantek 3x25 output.  The only reason to have this is so the function generator output voltage matches the output scale of the FG, otherwise, it typically 2x larger than the FG scale.  It uses 1 megaohm to match what its commonly used for; to see on a scope.
Do you have an example of a function generator that actually does this, preferably with schematic? This sounds like a dumb thing to do. Where do I buy the 1 Mohm coax cable that matches the impedance of this supposed 1 Mohm output impedance? Assume I use a 1 meter RG-58C cable to connect the function gen to the scope, and the function generator is set to its max (3.5V) amplitude. This unterminated piece of coax will have a capacitance of about 100 pF, so the impedance at 75 MHz will be about 20 ohms. This will load the function gen and will reduce the amplitude at the output of the function generator from 3.5 Vp-p to about 70 uVp-p.

Plenty of function gens have the ability to switch between 50 ohm and 'hi-Z' load, the only thing it usually does is multiply the displayed voltage by two, since it was calibrated for a 50 ohm load. The output impedance is usually a constant 50 ohms. Some may be able to switch to 600 ohms for audio applications, but not 1 Mohm.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: alm on January 15, 2012, 03:33:40 pm
Hi-Z as an abbreviation for "high impedance" is an ambiguous term ; tristate on one hand, non-50 ohm devices on another, anything over 10kohms for microphones; there could be more.
No worse than high frequency or high voltage. High frequency may be anything over 20 kHz to an audio guy, anything >> 60 Hz for a power supply designer, ~30 MHz for a ham or 100 GHz for someone working in the microwave spectrum. High voltage may mean anything > SELV for many low power electronics people, but may be > 1 kV for an electrician or > 35 kV for a lineman.

In this context it means >> 50 ohm (assumed to be infinite), similar to the open terminal voltage of a Thevenin circuit.

I've heared the term 'hi-z' used in conjunction with scope probes meaning specifically 1 megaohm probes.
With scope probes they basically mean >> 50 ohm, although the essential difference between hi-Z and lo-Z is that lo-Z are resistive transmission lines, while hi-Z are essentially capacitive dividers at higher frequencies. A Hi-Z probe may have an input impedance of 10 Mohm // 10 pF (10x probe), or 20 kohm // < 1 pF (active probe connected to a 50 ohm scope input). A lo-Z probe may be 5 kohm (100x probe).

There was once a signal generator with adjustable output impedance, as in mecha napkin'd schematic:
http://www.emchire.co.uk/products/product-code/506 (http://www.emchire.co.uk/products/product-code/506)
A fair number of them have a switch between 50 and 600 ohm. Some HP generator were available in both 50 ohm and 75 ohm versions, although changing this requires you to replace some components.

Finally hi-z switch on many function generators just means the electronics adjusts the output so the dial scale is what is actually outputted if the DUT is not 50 ohms, it does not really adjust the output impedance of the function generator to 'high impedance'.  It can just blatantly halve it, or better, may have a voltmeter at the output that will sense, feedback and adjust the output regardless of what the DUT impedance is.
The majority of them will just double the voltage, external leveling is usually reserved for specialized applications that require it, like the Tek SG504.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on March 04, 2012, 08:35:52 pm
update:

1) my 3x25 went wacky this night. it happened when i screwed (burnt) some opamp circuit, probably some kickback making the fpga (i believe) intermittently hanging more than before. opened up, resolder everything, now better, but still happening sometime. morale, fondle your 3x25. any idea how to protect the opamp/fpga output from things like esd and spikes? any idea on how to download, save or upload and refresh the fpga FW?

2) latest SW version 3.2.1.9 available http://www.hantek.com/Product/DDS-3x25/DDS3X25USB(3.2.1.9).rar, (http://www.hantek.com/Product/DDS-3x25/DDS3X25USB(3.2.1.9).rar,) for who want to try, i wont bother to download (i owned ver 3.2.1.7) but would love to hear if any major changes.

edit: forgot to tell, i disabled the "set wave on device startup". enabling it making thing worst, ie the unit will hang even if we disconnect and reconnect it to usb, even several time.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on March 05, 2012, 12:01:01 pm
Hey Shafri -

Thanks for the heads-up about the new software version - I will check it out and report back if there are any noteworthy changes.

Quote
edit: forgot to tell, i disabled the "set wave on device startup". enabling it making thing worst, ie the unit will hang even if we disconnect and reconnect it to usb, even several time.

Yes, I tried to use this feature many times - and it's REALLY buggy... best to avoid unless desperate for the functionality.

Edit: BTW, your link address has a comma in in - causing a 404 error - corrected is:  http://www.hantek.com/Product/DDS-3x25/DDS3X25USB(3.2.1.9).rar (http://www.hantek.com/Product/DDS-3x25/DDS3X25USB(3.2.1.9).rar)

Edit2: I don't see any changes in the software - and there's no change log provided - so I assume it's just bug fixes in the new version.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on March 05, 2012, 12:50:11 pm
BTW, when using "set wave on startup device", are you following the manual's instructions for disabling it when you don't want to use it anymore (quoted below)?  Since it assumes you are not using the USB (for control or power) it seems to 'lock' out the interface, requiring manual override:

"If you don’t want to generate the waveform which is saved in the hardware memory, connect the “CONTROL” BNC end to ground before inputting power to this instrument. You can use a Short-Circuit Cap as shown in below."
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on March 05, 2012, 01:10:17 pm
One other funny thing I noticed when comparing different versions of the manual for the device:

The users guide that comes with the software has, in the Hardware Specifications section:
Frequency Resolution = 0.1%

The users guide which is downloadable separately at the Hantek site has:
Frequency Resolution = ....

I guess there are different ways we could interpret that  ;D
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on March 05, 2012, 05:23:05 pm
good to hear from you Mark. i thought you'ar dead :D

Quote
BTW, when using "set wave on startup device", are you following the manual's instructions for disabling it when you don't want to use it anymore (quoted below)?
not sure. i enable/disable it by software/api discussed last time. i did use 0ohm terminator at the back all the time, and wave is saved in HW memory all the time, ie if i pull the terminator away, the wave will start on startup. i have no issue whatsoever with goltek software "wave on startup" before, until last night.

i suspect the fpga is vurnerable to spike/transient from outside (output port or usb power? connection), and now mine is more vurnerable than before. it happened several time this night, but luckily i can revive it by unplug/plug usb. i remember i had to unplug/plug 3 times on one occasion and/or unplug and wait a moment and plugin again to make it work. i also had an occasion where during changing the square wave to sine wave, the fpga converted it halfway, so the output is half square and half sine and then hanged (wave output still ON but unable to comm with software, ie hanged), i had in another occasion, the fpga simply output random shape when commanded, inverted square, uneven rounded sawtooth wave etc (and ofcourse hanged afterward). another symptom, during usb plugin, the signal goes high and stayed there and hanged. i feel its unlikely the symptoms came out of output opamp or DAC, it must be from the fpga, whatelse? i highly suspect. is it possible the FW inside the fpga got corrupted? i wish there is a way to refresh it. the fpga name has been scratched out, so we dont know what fpga it is, damned Hantek!

i did mod the usb power to add a smd ferrite (after the 0ohm smd jumper), reflow all the fpga caps. but its still happening, but better than last night. last night i thought i've lost the 3x25, but luckily not, i dont know for how long this will stand. thanks Mark for clarifying the newer vendor's SW version. i guess i will skip that. cheers ;)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on March 05, 2012, 06:24:58 pm
Quote
good to hear from you Mark. i thought you'ar dead

The reports of my death are greatly exaggerated.  ;)

Quote
the fpga name has been scratched out, so we dont know what fpga it is, damned Hantek!

I thought we had identified all of the scrubbed chips in the 3x25.  You had figured out the DAC chip, and Tinhead identified the the USB chip as STM32F102Cx or STM32F103Cx - and the FPGA as a Spartan3 AN (way back in an early page of this thread).  He guessed they had used the AN because it had integrated flash to stop clone makers.  So it's highly likely that the FW is locked and not readable - but as far as I know, no one has tested this theory.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on March 06, 2012, 11:42:00 am
iirc, the identification of the chips is just speculation, no hard proof. even if they are known, as you said, its highly probably unreadable. so maybe later, when i permanently brick the 3x25, but hopefully not.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on March 06, 2012, 02:16:05 pm
When I work with my equipment doing designs I isolate the outputs of my signal sources with op amps configured as voltage followers; so if anything snafus they'll be the first to take the error and easily replaced, particularly if the operating voltage of your DUT is greater than that provided by the signal source.   For prototyping, I still use the 741 and work at low frequencies and a 741 is durable, it takes quite a bit of beating to kill it.  Once the basic idea is sound and you are ready to test at higher frequencies, change the voltage follower to one with the needed bandwidth.


update:

1) my 3x25 went wacky this night. it happened when i screwed (burnt) some opamp circuit, probably some kickback making the fpga (i believe) intermittently hanging more than before. opened up, resolder everything, now better, but still happening sometime. morale, fondle your 3x25. any idea how to protect the opamp/fpga output from things like esd and spikes? any idea on how to download, save or upload and refresh the fpga FW?

2) latest SW version 3.2.1.9 available http://www.hantek.com/Product/DDS-3x25/DDS3X25USB(3.2.1.9).rar, (http://www.hantek.com/Product/DDS-3x25/DDS3X25USB(3.2.1.9).rar,) for who want to try, i wont bother to download (i owned ver 3.2.1.7) but would love to hear if any major changes.

edit: forgot to tell, i disabled the "set wave on device startup". enabling it making thing worst, ie the unit will hang even if we disconnect and reconnect it to usb, even several time.

Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on March 06, 2012, 02:47:27 pm
i have the 10x25 remember? but i hate to rig it out and ext psu. i think if the 3x25 frontend opamp is damaged i have one replacement opamp ready for service. and i'm not sure with follower buffer will isolate the unit fully. yes i agree with you about the 741. i'm now rigging up "fully isolated KV approved" relaxation 741 oscillator that doesnt need the 3x25 to power up :P but only for low freq (<100KHz)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: T4P on March 06, 2012, 05:32:39 pm
When I work with my equipment doing designs I isolate the outputs of my signal sources with op amps configured as voltage followers; so if anything snafus they'll be the first to take the error and easily replaced, particularly if the operating voltage of your DUT is greater than that provided by the signal source.   For prototyping, I still use the 741 and work at low frequencies and a 741 is durable, it takes quite a bit of beating to kill it.  Once the basic idea is sound and you are ready to test at higher frequencies, change the voltage follower to one with the needed bandwidth.
You would wonder , because i did kill a 741 before . Or did i ?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Pentium100 on March 08, 2012, 09:33:14 am
Has anyone added output protection to their 3x25? I blew up the output opamp again and while they are not expensive (not cheap either - ~4EUR), the local store does not have them so I have to order it and wait for the store to get it.

At least I made the 3x25 do a 11.5-12.5MHz sweep (sine wave).
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: T4P on March 08, 2012, 10:39:08 am
You requested too much power ?
I guess it's time for you to ... couple a high power opamp as a amplification device .
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: steve_w on March 08, 2012, 10:54:00 am
Have you considered using an attenuator to isolate the the output?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Pentium100 on March 08, 2012, 11:55:38 am
You requested too much power ?
I guess it's time for you to ... couple a high power opamp as a amplification device .
No, connected the output to the screen grid of a tube instead of the control grid.

Have you considered using an attenuator to isolate the the output?
I'll try, assuming with the new opamp the 3x25 will actually give 3V when I specify 3V (has some intermittent problem where it would have reduced output at frequencies >4MHz).
I guess I should buy a couple of BNC sockets, resistors and a cable. Or just add the two resistors inside the unit.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on March 15, 2012, 05:54:59 pm
i wonder how did i miss posts on 9th march. anyway, followup from 7th march, update...
i reflowed usb chips and the neighboorhood components including connection to fpga, the intermittent hanging seems to go away since that. so bad connection on usb chip is another high suspect.

@Pentium100: what output opamp you use for replacement? because the original LMH6702 flatness wont reduced until somewhere 10MHz, the -3db BW is at 30-39MHz. i've (and rfloop iirc) made some report on the 3x25 flatness in earlier page if you havent noticed. if you really need protection, you can try out placing protection diodes at the output to the power rails, but beware you'll risk routing the damage to psu section. or you can use high end opamp such as TI THS3091/5 to act as frontend protection, buffer and magnitude magnifier to ±10Vpp output looking at hi-Z load.

(http://www.soasystem.com/eng/goltek/10X25.png)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Pentium100 on March 15, 2012, 11:03:30 pm
I used the original opamp, while finding datasheet of a part is quite easy, finding a part that is compatible with some other part is usually difficult.
Also, thanks for the schematic, I'll consider building it (hopefully the frequency is not too high for a perfboard).

Hmm... what if I put a couple of 4V zener diodes from the output to ground and then a resistor in series with the output? They should protect the output somewhat without routing the damage to the power supply.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on March 16, 2012, 03:46:11 am
what if I put a couple of 4V zener diodes from the output to ground and then a resistor in series with the output?
for the diode, watch out output attenuation at higher frequency, your output flatness curve could be changed, but i'm not sure, never done that.
for the series resistor, you WILL alter the output impedance to greater than 50ohm, not really matter if you always work with high input impedance device/dut, but for low input impedance could be a problem. the device already has series 50ohm resistor on the output (50ohm output impedance).
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Pentium100 on March 16, 2012, 04:55:37 am
for the diode, watch out output attenuation at higher frequency, your output flatness curve could be changed, but i'm not sure, never done that.
Not really a big problem - if I want a continuous wave, I can just use my oscilloscope to measure the voltage and set the software so the output is what I need. If I want a swept frequency wave, I can measure the drop and a dd the correction to my program.

Quote
for the series resistor, you WILL alter the output impedance to greater than 50ohm, not really matter if you always work with high input impedance device/dut
Yes, the devices that I used this generator so far all had high impedance (at least a few kiloohms).
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: calin on June 01, 2012, 04:34:40 am
I have been looking around on the net but with not too much luck ... Does anyone know if it works under Linux? I mean if there is a USB driver available. Even if there is no software I am fine as long as there is a way to speak with this thing over USB there is hope to get some Linux software for it... Thinking to write something my self just so I have a fun project to do.

Sincerely I am really thinking to buy one of these, it really looks like the best bang for the buck to me.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Bored@Work on June 01, 2012, 11:06:20 am
I have been looking around on the net but with not too much luck ... Does anyone know if it works under Linux?

It doesn't, and Hantek couldn't care less.

Quote
I mean if there is a USB driver available.

No.

Quote
Even if there is no software I am fine as long as there is a way to speak with this thing over USB

Sure, there is a way. Apparently the Windows software/driver is able to talk to it over USB. Therefore any other system knowing the USB protocol should be capable to do so. Only that no one knows the protocol, and the Hantek people, providing the typical Chinese kind of service, don't answer any questions.

Quote
Sincerely I am really thinking to buy one of these, it really looks like the best bang for the buck to me.

Lots of shortcomings, limitations and bugs.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: calin on June 01, 2012, 03:43:27 pm
I know there is a driver on windows but looks to me the protocol is not known and good luck getting Hantek guys to share it. And  reverse engineering USB protocols is out of question, I know how to do it but I first don't have the tools (USB analyzer) and the will to do so :)

I wrote drivers for quite a few devices so for me to hash out a is just a matter of having time, especially on linux is really clean and simple to write an USB driver. I miss my days of serios unix programming and what better way to do something like a driver ... write one for a tool that many hobbyists will appreciate.

As for bugs etc ... I don't need something insanely good, just hobby work  , microcontrollers and stuff.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on June 01, 2012, 05:31:45 pm
B@W has valid points, but if you are aware of its flaws and do not need signals that require the flaws corrected, e.g. the phase trigger signal is off relative to the output signal [ prior to mecha's repair it would not sync past 20 MHz, see the posts regarding jitter..],  or the sweep rate is too slow, etc., it works.   There aren't too many function generators as of this writing that will output up to 100 MHz under $150.

There are no drivers IIRC except for Windows, and how long the drivers will remain compatible with future Windows is anyone's guess.  However, at least we have mecha here to potentially find a fix if that happens.  I've run in on Win7 32 bit, XP, & Vista 32 without issues.

Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: calin on June 01, 2012, 09:44:12 pm
Yeah, not too many generators that go to 100MHZ in this price range. At least I don't know any. Yep what mecha did for this is awesome.

If Hantek leaves the win driver to die ..  probably the best solution is to keep an old Xp machine around. I personally moved everything on Linux a few yars ago that's why I was wondering about Linux drivers. But to work out the USB protocol and reverse engineer it is  not nice. I did my share of reverse engineering.. not really keen in doing it again :) .

Quick question , dos any of you uses this in VmWare or some other VM? Because here is the thing, if it works under vmware hosted on linux then we can read the USB packets without needing an usb analyzer .. and once we read then figuring out how it works (package structure etc) is not extremely nasty. The killer for me is an USB analyzer .. that darn thing is freaking expensive.

If it works in a VM... heck, i-ll buy one and get to work  >:(

Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on June 02, 2012, 03:15:06 pm
Methinks you are going to be the Linux person, if you decide to run it as VM on Linux.  I don't recall Mac users on this thread either.   Since we are preoccupied with hardware, its easier to get any WinXP-Win7 box to dedicate USB instruments too than trying to run in on Mac or Linux, or even Android or iOS, unless spending your time hacking the software is your interest.

If it works in a VM... heck, i-ll buy one and get to work  >:(
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: biot on June 02, 2012, 09:26:34 pm
Sure, there is a way. Apparently the Windows software/driver is able to talk to it over USB. Therefore any other system knowing the USB protocol should be capable to do so. Only that no one knows the protocol, and the Hantek people, providing the typical Chinese kind of service, don't answer any questions.

I do. Never really got around to writing a proper driver for it, but the protocol is easy enough.

I'm one of the people behind the sigrok project. We're moving into devices other than logic analyzers fast, and will get around to function generators at some point. You'll have at least a command-line frontend for it then, or a function generator GUI frontend if you want to write one.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on June 02, 2012, 09:37:58 pm
Quote
I'm one of the people behind the sigrok project
thanks gosh you are here. i went sigrok looking for HANTEK LA5034 logic analyzer driver but sadly none. and your site is "sure" some confusing site for me. do you plan to RE the LA5034? just the windows driver and API?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: calin on June 03, 2012, 04:42:26 am
@saturation - don't be scared of "software" it's just a cookbook !!!. is there anything bad in being an "Linux guy" ? if you did not had any UNIX guys around till now then you may have found one :)

I said I will run it under a VM because that way the USB data stream passes through the  host OS I/O channels,  there is a module called usbmon and I can capture the whole traffic without needing an expensive hardware USB analyzer .. there are few tools on WIN that do something similar with what usbmon does that but they pretty much suck compared with the tools I have @ my disposition on Linux. 

"biot" ... You are saying you got the protocol "decoded" or am I reading wrong ?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: biot on June 03, 2012, 07:59:00 am
i went sigrok looking for HANTEK LA5034 logic analyzer driver but sadly none. and your site is "sure" some confusing site for me. do you plan to RE the LA5034? just the windows driver and API?

Unfortunately none of us have an LA5034, and we do have a ton of other devices in the pipeline, so no concrete plans. You can help to make it a reality -- start by creating a device page on the wiki, with good detailed pictures and description of the device. Writing a driver is really not that hard, lots of example code.

The sigrok project never uses vendor-provided drivers or APIs. We only use vendor firmware if necessary, and not even that for Cypress FX2-based devices -- wrote our own for that.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: biot on June 03, 2012, 08:01:09 am
You are saying you got the protocol "decoded" or am I reading wrong ?

Yes. As you say, running the vendor-provided software in a VM and using usbmon is all you really need.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on June 03, 2012, 12:22:36 pm
Quote
You can help to make it a reality -- start by creating a device page on the wiki, with good detailed pictures and description of the device. Writing a driver is really not that hard, lots of example code.
send me link on how to write a driver, sniffing the protocol etc, what tool/equipment needed etc. if its within my budget, maybe i can get the LA5034. fyi: that device already has an API and driver, but not documented, if there is method/tool to RE the exportable functions in there (how to call functions and its arguments/parameters) i think that is much quicker than rebuilding API+driver from scratch. thanks.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: calin on June 03, 2012, 03:41:41 pm
This will get you started for sure: http://wiki.wireshark.org/CaptureSetup/USB (http://wiki.wireshark.org/CaptureSetup/USB)

If you run an recent Linux kernel then you are set with everything from the beginning as almost all Linux distro-s come with usbmon built/included as a module.  The path is DEVICE <-> "raw" USB driver + usbmon <-> vmware <-> windows driver.

As for writing a driver howto - just a google search away. It may seem like a lot at first look but its not rocket science.  You may also want to look at libusb.org if you want just to test quick "talking" with a device from userspace. I use libusb to test the protocol before putting in a driver/kernel.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on June 04, 2012, 02:52:18 pm
This will get you started for sure: http://wiki.wireshark.org/CaptureSetup/USB (http://wiki.wireshark.org/CaptureSetup/USB)
looks like only for linux guy. i'm out of luck :(
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: calin on June 04, 2012, 05:04:00 pm
There are few tools for Windows, look here http://wiki.wireshark.org/Tools#USB_capture (http://wiki.wireshark.org/Tools#USB_capture) . I think it is called usbsnoopy .

I never tried these and have no idea how well they work; but they may be enough; was never tempted to try the Windows tools as Linux makes it so much easier.

BTW, when you sniff USB most of the clients send status packets very often (order of 10-20ms - an Arduino/FTDI dings the host approx each 16ms for example). Small packets but they a really "noisy" and annoying one; typical can't see the forest because of the trees. With Wireshark you can look for these, they are usually very short few bytes only, and filter them out then capture only what is interesting. That will give you a much more decent captured data stream.

Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on June 04, 2012, 08:00:43 pm
There are few tools for Windows, look here http://wiki.wireshark.org/Tools#USB_capture (http://wiki.wireshark.org/Tools#USB_capture) . I think it is called usbsnoopy .
no luck there as well. DBGVIEW.EXE report couldnt access device driver. nevermind. also tried rawcap, perharps only for network type usb device (not working with my dds3x25)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on June 19, 2012, 09:18:55 pm
how long the drivers will remain compatible with future Windows is anyone's guess.  However, at least we have mecha here to potentially find a fix if that happens.  I've run in on Win7 32 bit, XP, & Vista 32 without issues.

Due to a hard-drive crash, I'm now running it on 64-bit Win 7. The drivers are available on the Hantek website. I installed Goltek, plugged in the 3x25, and installed the drivers via Device Manager. No problems found to date.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on June 20, 2012, 02:33:19 pm
This is good to know, and thanks.  I've not had any problems running 32 bit drivers in Vista 64, and worse case I've done it in compatibility mode.  But its best to get confirmation that the Hantek drivers to indeed work.

how long the drivers will remain compatible with future Windows is anyone's guess.  However, at least we have mecha here to potentially find a fix if that happens.  I've run in on Win7 32 bit, XP, & Vista 32 without issues.

Due to a hard-drive crash, I'm now running it on 64-bit Win 7. The drivers are available on the Hantek website. I installed Goltek, plugged in the 3x25, and installed the drivers via Device Manager. No problems found to date.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: voidptr on June 21, 2012, 12:03:23 pm

hi
i just read part of this long threat and it seems you did a really good job fixing few bugs :)

@Mechatrommer
i'm wondering if your source code are available, can i dowload it somewhere ?

part of what i might find interesting about this  fcts gen its his sdk i might need to take a look in it :)

 :D
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on June 21, 2012, 01:34:09 pm
download the device manual and sdk its all there with program example. i dont think you'll be interesting at my codes.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on June 22, 2012, 03:11:38 am
Ok, this is strange. I can no longer save a waveform to be displayed on power-up. I installed Goltek, then extracted the 1.04a files over the originals. I can save the waveform with the Hantek software.

When I select "Save Wave on Device Startup" the little red indicator "light" near the USB indicator flashes, indicating it has sent something to the Hantek.

I CAN save a waveform using the Hantek software. If I later try to save a different waveform using Goltek, it erases the stored waveform. To ensure it is not related to the increased bandwidth, I switched to 2kHz frequencies for testing.

If I shut down Goltek (or click the USB symbol) the indicator flashes and the waveform disappears from the scope. If I simply unplug the USB cable, the waveform continues as long as the Hantek is independently powered, but does not reappear when the device is cycled even though I tried to save it. (note: it does reapear if saved with the Hantek software, but not overwritten by Goltek).

I installed the 32 bit drivers from the same downloaded package on an old laptop running XP (32 bit Pro, upgraded to SP3), and have the exact same results, so it's not a 32 bit vs 64 bit or a Win7 issue, as far as I can tell. I'm sure that Mechatrommer had this working. I wonder if there could be some slight change in the drivers -- my original CD is damaged, so I'm using the drivers downloaded from the Hantek website. The 32 bit driver file is dated 06/11/2009 and the 64 bit driver file is dated 08/06/2010 in the downloaded package.

Is anyone else having this problem?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on June 22, 2012, 11:46:32 am
Don't put that one on the website!!!

It won't start. Running the program produces the error message "Goltek Controller has encountered a problem and needs to close. We are sorry for the inconvenience." and the typical request to tell Microsoft about the problem (as if they would ever do anything about it anyway!)

I copied just the goltek.exe file and encountered the problem. Then I copied the intmath.dll file and tried again -- no joy. (this was on the Win7 64 bit machine)

So I tried copying goltek.exe alone on the 32-bit XP machine -- same problem. Just to be thorough, I tried copying the intmath.dll too, but again, it just crashes.

I reverted to the 1.04a version of goltek.exe but left the intmath.dll as the newer, larger version on both machines. Goltek starts fine that way. (but of course, will not save the power-on waveform to the Hantek)

EDIT: I forgot to mention that I installed the XP trial from a separate download, just in case the original was corrupted in the download process.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: T4P on June 22, 2012, 06:13:52 pm
Mecha, i read the PDF over again and noticed this multiprocessor link thing for more channels ...
I guess ... man the IDC cables are expensive ... running at 10$ each
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on June 22, 2012, 09:59:47 pm
Quote
Don't put that one on the website!!!
It won't start. Running the program produces the error message "Goltek Controller has encountered a problem and needs to close
i dont know but its working here. must be your system specific issue.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on June 23, 2012, 12:51:10 pm
Two completely different systems, actually. An older laptop running 32 bit Windows XP and a newer computer running 64 bit Windows 7. The file was downloaded separately to each system, eliminating corruption. Unless it could have been corrupted when you uploaded it?

The only thing the two have in common is that I am using the drivers downloaded from the Hantek website instead of the drivers that came on the CD with the unit. I don't know if there is any difference as the CD was damaged.

WinXP reports the 32-bit driver provider as "Hantek" and version as "1.00".

Windows 7 reports the 64-bit driver provider as "Windows (R) Win 7 DDK provider" and the version as "6.1.7600.16385 built by WinDDK"

Do you mind if I ask what OS you are using?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on June 23, 2012, 03:28:59 pm
i'm using Windows XP 2002 SP3 32bit Intel Core 2 Quad "crap" :P. i recompile all necessary files for Goltek attached. try running on different folder. i only can produce a loading error when there's not enough startup files, cant remember which i have to track the code again, so i zipped pretty much all that i can think of... also zipped is the original driver from my CD, you'll need DDS-3X25.sys and DDS3X25Dll.dll installed in your WIndows.
http://www.soasystem.com/private/goltek104b_driver.zip (http://www.soasystem.com/private/goltek104b_driver.zip)
ps: i cant make eevblog attachment, its 8MB.
ps: and also i deleted my previous attachment.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on June 23, 2012, 05:15:51 pm
Thanks! I'm at work right now but will try this at my earliest opportunity and get back to you.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on June 23, 2012, 11:01:55 pm
Ok, first thing I did was to compare the zip contents with what was in my Program Files(86)/Goltek Controller diretory. I noticed some additional files:

mbmputl.dll
mbmplop.dll
mbmpip.dll
soajpg.dll

I copied goltek.exe first, and it crashed as before. Then I started copying the other files, one at a time and deleting them after trial. Copying mbmputl.dll allows Goltek to start. (This is on the 64 bit Windows 7 computer, by the way).  I will now copy the rest of the files and verify that everything seems to be working on both computers then I will report back.

Thanks for all your time on this. Goltek is such a great improvement over the Hantek software!

By the way, I noticed three  extra files (tmarker.rgn rmarker.rgn lmarker.rgn) plus capture.exe in the folder. I assume they are part of the capture program?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on June 24, 2012, 03:15:22 am
Ok, with everything installed, it works, but I still cannot save the startup waveform using Goltek. I looked for those two files (DDS-3X25.sys and DDS3X25Dll.dll) in the Win 7 machine.

Switching to the XP machine, I found those two files in the Windows\system32\ folder. I also found a reference in the install log (from the Hantek software):

"Could not Self-Register: C:\Program Files\DDS-3X25 USB\driver\DDS-3X25.sys"

I overwrote everything in the Goltek program folder, uninstalled the Hantek software, reinstalled Hantek, then manually forced Windows to install the older drivers you provided.

I still can't get Goltek to save the startup waveform.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on June 24, 2012, 04:36:26 am
Quote
I still can't get Goltek to save the startup waveform.
please PM me the specific symptom. is it when you clicked the "save wave at startup" any previous wave (at startup) got deleted and the device is not producing anything at startup? in anyway, sorry it wil be hard to tell since its working for my device. or if you really need the startup feature, you may just use Hantek software and dont use from goltek menu. since this is one time setup, it will seldom for you to switch between them for that feature, at least for me.
Quote
By the way, I noticed three  extra files (tmarker.rgn rmarker.rgn lmarker.rgn) plus capture.exe in the folder. I assume they are part of the capture program?
i didnt provide them in recent zip file, you must have downloaded it from my site, its capture program (+ its mask skins) for rigol ds1052e, another tool, but wont make any harm if in the same folder as goltek controller, but i suggest you put it in different folder to avoid mix up.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on June 24, 2012, 03:12:24 pm
but I still cannot save the startup waveform using Goltek.
here's another delay combo for goltek. fyi introducing delay to each 3x25 command call will affect sweep mode speed. i dont keep version control, this unrelease ver only specifically try to quick fix your problem (i suspect your unit need delayed command to make it stable). so you have to track which file is which latest or older etc. cheers.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on June 27, 2012, 02:04:26 am
I can't get this one to save the waveform either. I don't know why.

And I discovered that while the Hantek software will load the captured waveform saved from Capture, it mangles it in the process. Aaargh!

Regardless, I owe thanks to Meccatrommer for his efforts to figure this out. Maybe there is something slightly different with the hardware of my 3x25 compared to his. Anyway, I've gone back to the earlier version to avoid any issues with the delay and will just have to use the 3x35 connected to a laptop for custom waveforms. It works very well like that and Goltek is soooo much nicer to use overall!
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: asbokid on October 29, 2012, 05:57:34 pm
We need an AWG for generation of Gaussian white noise.   Are these any good for that?  Is there an in-built white noise function?   The sample size is just 4KSa, so for white noise injection for our minimum test period (1 second), the samples would have be transparently looped.  If that's possible.  Also, for this project, bandwidth is needed up to 20MHz really.   Not sure whether it would be suitable for our special needs  :P  which is adding background noise to a transmission channel to test comms transceivers.  If it is good, I will write a Linux driver, if no one has already done/doing so?

Any special deals available?    Saelig sold out long ago at US$100. Though today there are plenty vendors on fleabay charging US$145 shipped.   Taobao (China merchant site) has the DDS 3X25 listed for US$116 plus shipping.

There is also the DDS-3005 at US$230, with a higher bit depth than the DDS-3x25 - (14 bits instead of 12), higher sample size (256 KSa instead of 4KSa) but a lower maximum frequency (5 MHz instead of 25MHz).

Any thoughts?  What about other manufacturers of budget USB-based AWG/FGs?

cheers, a

(http://www4.picturepush.com/photo/a/11283027/640/arbitrary-waveform-generator/DDS-3005-and-DDS-3X25-specs.png)
(Click to enlargify) (http://www4.picturepush.com/photo/a/11283027/img/arbitrary-waveform-generator/DDS-3005-and-DDS-3X25-specs.png)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on October 29, 2012, 08:13:28 pm
Yes, both the supplied software and Mechatrommer's "Goltek" software have noise generators. The supplied software actually has two: gaussian noise and white noise. They both run continuously.  You can run either Hantek or Goltek without the DDS 3x25 physically present in a demo mode to see if that meets your needs.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: alm on October 29, 2012, 09:25:57 pm
As far as I know the DDS-3x25 is not very flat across its spectrum, so the white noise may not be so white. The limited sample size may also limited the low frequency power unless the software can update the sample memory fast enough.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: asbokid on October 29, 2012, 10:17:54 pm
Way-dee-day!   Thanks guys for your insights.  I shall give it some thought.  Dunno how pure white the noise really has to be. It's complex with a (DSL) transmission channel when it undergoes so many transformations to understand the final effect of the noise  :o

I will go and make some f****ing noise with the demo programs!

cheers, a

Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on October 29, 2012, 10:40:28 pm
goltek will not be able to create white noise for you, its only to send arb signal to dds3x25, try using tektroniks ArbExpress to create white noise. if you really serious about white noise, the 3x25 memory might not be enough for you. do you mean your white noise requirement really maxed to 20MHz?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on October 29, 2012, 11:31:07 pm
The following were taken controlling the output with the Hantek supplied software then the Goltek version. Frequency set to 20Mhz, voltage output set to 3.5v.  Input set to 1x. and the DDS 3x25 connected to a modded Rigol scope with a BNC cable and 50 ohm terminator tee.  "Auto" setting used then persistence turned on to show overall effect.

Hantek software, "white noise":

(http://picturehosting.verhey.org/DDS3x25/white__0.bmp)

Hantek software, "gaussian noise":

(http://picturehosting.verhey.org/DDS3x25/gausian0.bmp)

Goltek software, "noise":

(http://picturehosting.verhey.org/DDS3x25/goltec20.bmp)

Goltek definitely seems less random at those frequencies. Hope this helps.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: asbokid on October 30, 2012, 02:22:54 am
goltek will not be able to create white noise for you, its only to send arb signal to dds3x25, try using tektroniks ArbExpress to create white noise. if you really serious about white noise, the 3x25 memory might not be enough for you. do you mean your white noise requirement really maxed to 20MHz?

Well it's for VDSL2 CPE modems which in the UK use sub-carriers up to 17.5MHz, iirc.  The ITU G.992 training period during which the background noise is tested lasts for a minimum of one second (but the test is usually repeated at least once).  So, as you point out, the DDS 3X25 Sample Memory which can hold just 4KSa isn't big enough. And however random that sample set is made to be, it will still end up being repeated many times over during that one second or more of testing.

The alternative, sfaics, is a US$5000+ piece of equipment, with 256MBytes of fast RAM.  A price that is way beyond the budget for a project that is being funded by, erm, me!   :'(

I don't understand why this equipment is so expensive.  The Application Note accompanying the Maxim series of high-speed DACs [1] describes the functional architecture of an Arbitrary Waveform Generator.  It doesn't look that expensive.  The DAC itself costs at most US$30.

(http://www5.picturepush.com/photo/a/11285748/480/arbitrary-waveform-generator/Maxim-40MHz-DAC-in-AWG.png) (http://picturepush.com/public/11285748)

Though, presumably a high-end MCU would be needed to clock in 14-bit samples at 200Ms/s or more. Over at dangerousprototypes, they started chatting about building an AWG, but the initial enthusiasm fizzled out and nothing materialised.  Is it within scope of the hoi polloi?!

cheers, a

[1] http://para.maximintegrated.com/en/search.mvp?fam=hsdacs&tree=master (http://para.maximintegrated.com/en/search.mvp?fam=hsdacs&tree=master)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on October 30, 2012, 03:16:55 am
Is it important that the noise is completely random? Noise usually covers a wide range of frequencies, right? Two thoughts:

1. utilize Goltek's sweep function to cover, say 1KHz to 25MHz with a 1ms step interval and the "noise" (or a custom) waveform.

2. write some software to feed the DDS 3x25 with a constant stream of new waveforms from the computer to get around the memory limitations.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: asbokid on October 30, 2012, 03:20:59 am
heh, Torch!

Thank you very much for going to the trouble of posting these.  You've made the device all the more tempting!

cheers, a
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on October 30, 2012, 05:47:47 am
for random data like this it will boil down to memory size and clock speed. as far as 3x25 is concerned it has 4096 bytes memory and 200M sample/sec thats the limit when you put in your calculation. at that clock rate, you can put in some 100MHz harmonics (not random) and then add up lower freq harmonics etc and so on. if you calculate 4096 samples at 200MSps, that is a 48KHz repetition. from there you'll decide whether 3x25 can do the job or not.

as for goltek, it will "normalized" and "centered" the input data so you may get somehow sometime attenuated signal. agree with torch you may want the original hantek software to produce random data and send to 3x25 to see the difference.

tell you what, if you are sceptic about 3x25 buy, you may send us (or me?) the ArbExpress data to be produced in the 3x25, we'll (or me? whioever comes first) provide signal output capture just tell us which portion you are interested in or we may capture the portion we're interested in ;) bear in mind 3x25 only maxed to ±3.5V magnitude (mind is modded to ±10V) take that into consideration when normalizing or generating your data (i can renormalized your data to suit).
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: asbokid on October 31, 2012, 08:54:20 pm
That's a very generous offer, Mechatrommer! Thank you!  You've opened up another issue.  I don't even know what sort of amplitude of noise is required.   I'm basically replicating for VDSL2 some earlier tests done on ADSL2+ CPE.    All sorts of issues to tackle yet - matching the impedance of the noise injector with the transmission line, while limiting the attenuation, removing or adding the -48v DC bias on the line, etc.

How did you mod yours for +/- 10v ?

cheers, a
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on November 01, 2012, 08:04:50 am
most of us are not expert in your VDSL area so we cant help on that and what kind of noise requirement you need, that one you need to figure out your self. we use 3x25 for different purposes from one person to the other.
Quote
How did you mod yours for +/- 10v ?
put gain amplifier at the output, i hacked the trace and put it in between, that will invalidate the warranty ;). gain opamp info is everywhere you may find so i will not elaborate and claim to be an expert... here may help... http://www.soasystem.com/eng/goltek/amplifier.htm (http://www.soasystem.com/eng/goltek/amplifier.htm) except i embedded it into the 3x25 already so its now permanent.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on December 03, 2012, 07:20:47 pm
Having access to an ovenized 1996 Racal Dana counter stable to .001 ppm I retested the 3x25 frequency stability and was surprised that it easily did 0.1ppm over 6 hours.  By comparison, in the same period the more reputable SFG1003 Instek generator was 1ppm until after 1 hour warm up, then they were on par.  Another plus for this el-cheapo.
Title: Review: Hantek DDS 3X25. Anyone own one?
Post by: zibadun on December 13, 2012, 07:25:57 pm
Finally wrapped my head around using the hantek DLL from a python script. I need to generate a sweep with a step of about 25 kHz  from 1 to 30 MHz. The exact phase and frequency of each step is not important but I need the amplitude to stay as constant as possible through the entire range (into a 50ohm load). Can somebody please point to a post that I need to pay attention to implement this sweep?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on December 13, 2012, 07:47:17 pm
Finally wrapped my head around using the hantek DLL from a python script. I need to generate a sweep with a step of about 25 kHz  from 1 to 30 MHz. The exact phase and frequency of each step is not important but I need the amplitude to stay as constant as possible through the entire range (into a 50ohm load). Can somebody please point to a post that I need to pay attention to implement this sweep?

I was again playing around with coding sweeps on the Hantek just the other day (after Dave's Bode plot post) and I have to say, it's difficult to get perfectly smooth ones. The problem is that there is no published or documented way to change frequencies exactly at zero crossings - so the frequency might step anywhere along the waveform (the number of possible commands in the DLL is really rather abysmal.). Somehow Hantek manages to do them smoothly from the DDS-3X25 control software (although not logarithmically), but I haven't been able to figure out how - perhaps it's time to try a USB protocol sniffer and figure out what that software is sending to the device for certain commands. I was incorrect - the Hantek doesn't do smooth sweeps either.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on December 14, 2012, 02:20:07 am
try to sniff at dll level. i made a dummy DDS3X25Dll.dll and dump anything the hantek software is sending to it. the app layer will be like App->DDS3X25Dll.dll->USB driver. YMMV. freq change at zero crossing is one thing, signal sweep "flatness" is another, that can be a challenge since ds3x25 is not flat at >5MHz. i cant find the post or file in my HDD showing the flatness respond for my ds3x25. my Goltek provides option for flatness control, by carefully tuning and profiling your ds3x25 output curve. i also have not been able to solve the zero crossing freq change (or at least changing freq without changing signal phase or voltage level, i need to study back on this when i have time. i'm counting on marmad and other brilliant members on this.

as for dave's video for bode plot, 1st it cant show phase shift 2nd is not a log scale vertically and horizontally. and 3rd it needs super flat FG. as someone posted in the thread, its a poor man "pocket" method after buying an DSO and FG at premium price.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on December 14, 2012, 02:51:52 am
i also have not been able to solve the zero crossing freq change (or at least changing freq without changing signal phase or voltage level, i need to study back on this when i have time. i'm counting on marmad and other brilliant members on this.

I think I'm done sinking hours into this device - let's face it, it's a pain in the ass to work with - and I've pretty much given up on the Hantek company. Their software is crappy; they don't release needed documentation on interfacing (as evidenced by the fact that their software can do zero crossing changes - but they've never explained how); and they won't release the source code even though they're hardly supporting their own products. And now there's the Rigol DG4062 2-channel AWG for €650 - a much greater value for the money - and I hear that it can be hacked to 160 or 200MHz  :D  It seems more economical in the long run to put the time into something that earns money towards one of the new Rigols  ;)

Quote
as for dave's video for bode plot, 1st it cant show phase shift 2nd is not a log scale vertically and horizontally. and 3rd it needs super flat FG. as someone posted in the thread, its a poor man "pocket" method after buying an DSO and FG at premium price.

But I don't think anyone was suggesting that it was anything more than a simple method for getting a simple picture when you don't have another method immediately at hand.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: T4P on December 14, 2012, 05:33:32 pm
Of course, it's good as a 150$ AWG  ;) No 150$ gen can come even close. in fact there isn't a 150$ AWG apart from hantek but hey.
Crap but it works for 150$ fantastic as a "First AWG"  :P If one is quite broke ATM
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on December 14, 2012, 05:49:40 pm
Of course, it's good as a 150$ AWG  ;) No 150$ gen can come even close. in fact there isn't a 150$ AWG apart from hantek but hey.
Crap but it works for 150$ fantastic as a "First AWG"  :P If one is quite broke ATM

Absolutely! No disagreement at all. It's just that I (and Mecha and others here, of course) have devoted dozens of hours of time trying to 'iron out' the annoying kinks - and add missing functionality - which keep it from being great. Speaking only for myself, I need to consider investing my time elsewhere and upgrade my AWG  ;)  But it certainly got me through some work I had to do with an AWG in the meanwhile.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: zibadun on December 15, 2012, 03:30:42 pm
ds3x25 is not flat at >5MHz. i cant find the post or file in my HDD showing the flatness respond for my ds3x25. my Goltek provides option for flatness control, by carefully tuning and profiling your ds3x25 output curve.

I've tried GOLTEK generator and out of the box it generates a fairly flat sine.  Unlike the Hantek software!  Very good job!  The problem is I need to do some extra things during the sweep every N steps (i.e. retune the LO of an SDR).  Is it possible control the goltek via an API? If I can tell GOLTEK to output Freq X at amplitude Y via a DLL or something - that would solve my problem too, and save a lot of time banging the head against the wall ;)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on December 15, 2012, 04:46:44 pm
Is it possible control the goltek via an API?
no, goltek is a simple app its not designed to provide pipeline for other app. you can code your own by calling ds3x25 api. make your own profile, do some back arithmetic for flat output and call the ds3x25 api. but i believe you wont get nice transition between frequencies, if you can then let us know ;) i did a "quick slap" write up on how to get the flat output... http://www.soasystem.com/eng/goltek/flat.htm (http://www.soasystem.com/eng/goltek/flat.htm) i'm not sure though if you can understand the broken english. and there's the my ds3x25 output profile in bitmapped format. fwiw.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: zibadun on December 15, 2012, 04:56:17 pm
Is it possible control the goltek via an API?
no, goltek is a simple app its not designed to provide pipeline for other app. you can code your own by calling ds3x25 api. make your own profile, do some back arithmetic for flat output and call the ds3x25 api. but i believe you wont get nice transition between frequencies, if you can then let us know ;) i did a "quick slap" write up on how to get the flat output... http://www.soasystem.com/eng/goltek/flat.htm (http://www.soasystem.com/eng/goltek/flat.htm) i'm not sure though if you can understand the broken english. and there's the my ds3x25 output profile in bitmapped format. fwiw.

Yep, I've read your flatness page Mech.   No problem with writing my own, all it takes it time (of which there is a slight shortage :).  Don't really care about transitions between frequencies for now.  But here is an idea for your GOLTEK - add a simple TCP server that will listen on a port and accept commands which are equivalent of key presses in the GUI and would call the same functions as the "buttons" in your generator.  This would make your software easily controllable from the "outside" programs.   Anyway now back to fighting with 3x25 API .. :)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on December 15, 2012, 09:46:23 pm
Of course, it's good as a 150$ AWG  ;) No 150$ gen can come even close. in fact there isn't a 150$ AWG apart from hantek but hey.
Crap but it works for 150$ fantastic as a "First AWG"  :P If one is quite broke ATM

Absolutely! No disagreement at all. It's just that I (and Mecha and others here, of course) have devoted dozens of hours of time trying to 'iron out' the annoying kinks - and add missing functionality - which keep it from being great. Speaking only for myself, I need to consider investing my time elsewhere and upgrade my AWG  ;)  But it certainly got me through some work I had to do with an AWG in the meanwhile.

As a dilettante just getting into this field, I have to thank you and Mecha for your efforts. I couldn't justify an expensive full-featured AWG, but I could afford the Hantek. In point of fact I'm still scratching the surface of what one can do with one of these but have found it to be an almost essential compliment to the oscilloscope in many cases. And the improvements you guys have achieved just add even more value. I can't understand why Hantek seems to have orphaned the DDS 3X25.

I think they dropped it just as it was at the cusp of greatness to rival the popularity of the Rigol 1052 with amateurs like me. All they really have to do is give talented people like you the source code and/or specs and they could be selling these like hotcakes.  I point to the Linksys example: They wanted to keep their corporate secrets until they were forced to release the source code (because they borrowed from Linux). Once the firmware was open, fans took over writing customizable firmware and sales of the WRT54G took off, leading to a whole family of similar routers that are still highly sought. So Linksys was selling lots of product without the cost of developing firmware. Why can't Hantek understand the benefits of that sales model is beyond me.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on December 15, 2012, 09:55:13 pm
I can't understand why Hantek seems to have orphaned the DDS 3X25.
Well, as mentioned in the other thread (https://www.eevblog.com/forum/reviews/hantek-1025g-new-usb-generator-or-the-dds-3x25-in-new-clothes/msg160050/#msg160050) I recently started, they are producing more of them - just putting them in a slicker-looking container - and asking a lot more money for them ($231 at AliExpress).  So they are trying to cash in on the success of the DDS-3X25 - but without any real extra effort on their part.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on December 16, 2012, 02:37:42 am
without any real extra effort on their part, without any real effort to OSHW it, nothing. i guess their business model (most low end brand chinese i guess) is... they build a product that caught their eye, produce and distribute it and dissapear, and then go to the next product that caught their eye and do again, hell with customers let them figure out themselves. the poorest model i can imagine as far as professionalism is concerned. what keep them going is that, nobody can beat their price and probably sales of only few percent from what they produced already give them some profit for their next project, thats their "magic". if you ebay, there still some d3x25 unit available. so you see, they dont really give a damn about these unsold products, they already on the "next phase" of their development.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on December 16, 2012, 03:37:45 am
Isn't the replacement missing about 3 BNC connectors for $100 more? I have to confess that I kind of lost interest after that...
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on December 16, 2012, 03:08:09 pm
mecha and you guys have certainly taken the 3x25 much farther than Hantek could have envisioned, I would suspect this is the reason its been resurrected, it shouldn't have been canceled in the first place, maybe the g in the name 1025G is for Goltek  :-+?

Checking just now this vendor sells the new version for ~ price as any new 3x25 now remaining on eBay:

http://www.circuitspecialists.com/hantek-1025g.html (http://www.circuitspecialists.com/hantek-1025g.html)

The photos, description, software, specs and accessories are ~  identical to the 3x25.


I can't understand why Hantek seems to have orphaned the DDS 3X25.
Well, as mentioned in the other thread (https://www.eevblog.com/forum/reviews/hantek-1025g-new-usb-generator-or-the-dds-3x25-in-new-clothes/msg160050/#msg160050) I recently started, they are producing more of them - just putting them in a slicker-looking container - and asking a lot more money for them ($231 at AliExpress).  So they are trying to cash in on the success of the DDS-3X25 - but without any real extra effort on their part.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: T4P on December 16, 2012, 04:34:54 pm
Think hantek wants to give it new look to match the other USB oscilloscopes but you know what? Most aliexpress sellers will probably always jack up the price
On taobao from the same seller the price delta between the 2 is about 15USD
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: PuterGeek on December 17, 2012, 12:10:31 am
...freq change at zero crossing is one thing, signal sweep "flatness" is another, that can be a challenge since ds3x25 is not flat at >5MHz...

One of my many 'plans' is to mode mine with a different DC-DC switcher and a 5th order LC output filter.

The op amp they used is pretty good but they only used a +/- 5V DC-DC converter. If we changed that to a +/- 12V switcher it would have greater output, especially into a 50 ohm load. There are numerous pin compatible op-amps that could be used also.

The simple one capacitor 'filter' on the DAC output won't be anywhere close to flat. 'Real' DDS have a passive LC filter on the output that is pretty flat up to the cutoff frequency and then rolls off very steeply. A small PCB with the filter should be easy to embedded since the parts are small.

Maybe I'll whip up a schematic to share in case someone wants to try my idea. What would be a good cutoff frequency do you think I should use?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on December 17, 2012, 12:32:17 am
What would be a good cutoff frequency do you think I should use?
100 or 200MHz?

Maybe I'll whip up a schematic to share in case someone wants to try my idea.
yes please do. i will be interested. ;)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on December 17, 2012, 12:39:55 am
maybe the g in the name 1025G is for Goltek 

It should be for Goltek. However, I think it stands for "Gone" -- as in: "Were did the other 3 BNC jacks go? They're Gone."
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on December 17, 2012, 02:47:33 am
maybe the g in the name 1025G is for Goltek 
It should be for Goltek. However, I think it stands for "Gone" -- as in: "Were did the other 3 BNC jacks go? They're Gone."
its even match my 10x25 amplifier name... http://www.soasystem.com/eng/goltek/amplifier.htm (http://www.soasystem.com/eng/goltek/amplifier.htm) i should file a "trademark name infringement" 8) but their 1025 still use ±3V, bugger! so i vote "G" is for buGger. i dont believe its for Goltek since Rigol name is embedded in it and i dont believe they are both friend.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: zibadun on December 17, 2012, 06:04:10 am
edit: added DDSDownload times: I almost fell asleep scanning a 30 MHz range with a 50khZ step.  that DDSDownload call takes forever  :=\  :=\     Anybody figured out how to make a faster frequency change? 

freq pts periods elapsed time (secs)
1000000 4000 20 0.509
1052631 3990 21 0.509
1104972 3982 22 0.512
1156069 3979 23 0.509
1204819 3984 24 0.510
1250000 4000 25 0.508
1307189 3978 26 0.510
1351351 3996 27 0.509
1408450 3976 28 0.510
1459854 3973 29 0.510
1503759 3990 30 0.524
1550387 3999 31 0.509
1600000 4000 32 0.509
1652892 3993 33 0.509
1709401 4095 35 0.518
1754385 3990 35 0.509
1801801 3996 36 0.509
1851851 3996 37 0.509
1904761 4095 39 0.517
1960784 4080 40 0.517

Is this a normal  delay or am I doing something wrong?   At this rate it takes five minutes to do a 30mhz sweep
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on December 17, 2012, 03:06:55 pm
edit: added DDSDownload times: I almost fell asleep scanning a 30 MHz range with a 50khZ step.  that DDSDownload call takes forever  :=\  :=\     Anybody figured out how to make a faster frequency change?
Look at this old post of mine. (https://www.eevblog.com/forum/chat/review-hantek-dds-3x25-anyone-own-one/msg57858/#msg57858) I think it explains what you're looking for - and can point you in the right direction. Let me know if you need more.

Edit: This post (https://www.eevblog.com/forum/chat/review-hantek-dds-3x25-anyone-own-one/msg58580/#msg58580) might help you as well.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: zibadun on December 17, 2012, 10:10:57 pm

Look at this old post of mine. (https://www.eevblog.com/forum/chat/review-hantek-dds-3x25-anyone-own-one/msg57858/#msg57858) I think it explains what you're looking for - and can point you in the right direction. Let me know if you need more.

Edit: This post (https://www.eevblog.com/forum/chat/review-hantek-dds-3x25-anyone-own-one/msg58580/#msg58580) might help you as well.

Thanks, I think I understand the formulas and arithmetic behind them. But  I don't see how I can avoid downloading a new waveform every time I need to change the frequency.  Even if I'm just changing the number of points with the same wave buffer don't I still need to call DDSDownload?   It seems transfering of the buffer takes up most time.   May be I will try with the minimum number of points and periods that will give the desired frequency and save on the transfer time a bit.

I guess an easier question to ask is  - can *any* software that was developed so far do a 600 step sweep starting at 1 mhz, lets say, in under a minute?  No constrains on the frequency or glitch free sweep, as long as steps are more or less evenly spaced. 
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on December 17, 2012, 10:36:52 pm
Thanks, I think I understand the formulas and arithmetic behind them. But  I don't see how I can avoid downloading a new waveform every time I need to change the frequency.  Even if I'm just changing the number of points with the same wave buffer don't I still need to call DDSDownload?   It seems transfering of the buffer takes up most time.   May be I will try with the minimum number of points and periods that will give the desired frequency and save on the transfer time a bit.

I don't think you're getting the formulas. Once you've downloaded a waveform, you can change the frequency by using the DDSSetFrequency command, as noted in the code at the bottom of the post from the second link. But without using the DDSDownload command, you're going to be limited to what frequencies you'll be able to get (as noted in those posts). And because the Hantek uses a clock divider - the number of frequencies you can hit by just changing the clock rate (without downloading) gets smaller as you get closer to the maximum DAC clock of 200MHz - it's just a function of math.

As far as speed goes, the speed at which you can change the frequency will be limited by your interface/software/OS/computer. If you want to do 600 steps in a minute, that means 10ms 100ms per step - which would probably be close to the maximum. I think I was able to get that speed with tests I ran. The Hantek software accomplishes sweeps with faster speeds - but they're definitely using commands that they haven't documented to the general public (plus they don't allow sweeps above 100kHz). Boy, I need food :D It's easy to get that speed!
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on December 17, 2012, 10:44:59 pm
Using Goltek, I set the start at 1Mhz, the end for 30Mhz, step at 50Khz, interval at 1ms and single-cycle. I hit "run" and the stopwatch at the same time. 15 seconds to complete one cycle -- on the laptop with USB2. On the older slower laptop with USB1.1, the identical setup took 1 minute, 55 seconds.

Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on December 17, 2012, 10:49:50 pm
Using Goltek, I set the start at 1Mhz, the end for 30Mhz, step at 50Khz, interval at 1ms and single-cycle. I hit "run" and the stopwatch at the same time. 15 seconds to complete one cycle -- on the laptop with USB2.

That's ~25.8ms per step.

Edit: Clearly my brain needs food (I've delayed my dinner) - my post above was wrong by a factor of 10 :o He needs 100ms per step, duh - so well within reach by Goltek or any software.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on December 17, 2012, 11:41:22 pm
Here's an image showing a big problem with sweeping with the Hantek.

The image shows the frequency change point from 200Hz to 300Hz - but because the frequency doesn't change at the zero-crossing of the waveform, you get a spurious frequency injected - in this case, it happens to be ~287Hz - as shown in the cursor measurement window.

Edit: BTW, I was incorrect in what I posted in a previous message. I did some more testing and it turns out that the Hantek software isn't capable of doing smooth sweeps either. Honestly, with the various problems inherent in the device (no zero-crossing of frequency change, no sync signal for sweep, etc, etc) I really don't think it's a good thing to use for sweeping - especially above 5MHz - but perfectly fine for basic signals and simple arbitrary patterns.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: zibadun on December 18, 2012, 02:05:58 am
Using Goltek, I set the start at 1Mhz, the end for 30Mhz, step at 50Khz, interval at 1ms and single-cycle. I hit "run" and the stopwatch at the same time. 15 seconds to complete one cycle -- on the laptop with USB2. On the older slower laptop with USB1.1, the identical setup took 1 minute, 55 seconds.

thanks for the stopwatch test torch. wow something is really wrong with my setup. The same scan took over five minutes here.  I'd be happy with 15 secs. 

update:  looks like a bad port/hub on my pc.  i switched the cable to another port and got 50ms instead of 500 to switch frequencies.  32 seconds on goltek.  Not as good as 15 but much better than before!  hmm I thought usb port is a usb port ;)

The image shows the frequency change point from 200Hz to 300Hz - but because the frequency doesn't change at the zero-crossing of the waveform, you get a spurious frequency injected - in this case, it happens to be ~287Hz - as shown in the cursor measurement window.

Edit: BTW, I was incorrect in what I posted in a previous message. I did some more testing and it turns out that the Hantek software isn't capable of doing smooth sweeps either. Honestly, with the various problems inherent in the device (no zero-crossing of frequency change, no sync signal for sweep, etc, etc) I really don't think it's a good thing to use for sweeping - especially above 5MHz - but perfectly fine for basic signals and simple arbitrary patterns.

isn't this a transition problem? like a DDS settle time which equals some N number of samples.  I've seen this in a digital mixer in another device. every time you retune the mixer there was all kinds of garbage injected to the signal,but it lastsed only a few clock cycles.  It may even be specified in the datasheet..  In some cases you may be able to account for that transition in whatever is on the "receiving" end of the sweep..  At least that is what I'm hoping to do in my project...


Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on December 18, 2012, 03:00:50 am
isn't this a transition problem? like a DDS settle time which equals some N number of samples.  I've seen this in a digital mixer in another device. every time you retune the mixer there was all kinds of garbage injected to the signal,but it lastsed only a few clock cycles.  It may even be specified in the datasheet..  In some cases you may be able to account for that transition in whatever is on the "receiving" end of the sweep..  At least that is what I'm hoping to do in my project...

I don't think so. I think it's a limitation of the hardware design or bad firmware implementation. If you use DDSDownload to change frequencies on the fly, you get large glitches in the output - where the waveform vanishes then reappears while the new sample memory is being loaded. If you use DDSSetFrequency to change frequencies on the fly, you don't get the big glitches - but the firmware just appears to change the clock frequency as soon as it receives the command (instead of waiting for the zero-crossing / beginning of sample memory) because the frequency 'shift' does not appear to be regular. If you look carefully at sweeps, you see the 'shift' happen at different points on the waveform. I don't have another sweep generator to test against (yet) but I think a properly designed and programmed one would be able to make frequency changes that would be smooth (or at least with the exact same shift at every changeover).
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on December 18, 2012, 04:04:58 am
- but the firmware just appears to change the clock frequency as soon as it receives the command (instead of waiting for the zero-crossing / beginning of sample memory) because the frequency 'shift' does not appear to be regular. If you look carefully at sweeps, you see the 'shift' happen at different points on the waveform. I don't have another sweep generator to test against (yet) but I think a properly designed and programmed one would be able to make frequency changes that would be smooth (or at least with the exact same shift at every changeover).

So the randomness is introduced by the timing of the instruction from the computer. I wonder if there could be a hardware work-around? Either through the microprocessor control interface or perhaps some sort of USB buffer controlled by the sync output of the Hantek.

Maybe something even simpler: connect the sync out to the trigger in, send the first waveform and turn on "ext trig mode". Would the Hantek then wait for it's own signal falling signal before starting the next frequency change?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on December 18, 2012, 07:27:29 am
So much for the simple cable between sync and trigger -- it only works randomly.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: zibadun on December 19, 2012, 12:13:39 am
got something semi-useful out of the generator in the 1-30mhz sweep.   attached is a couple of filter responses (aka bode plots) made with the help of hantek... (don't laugh  :-DD)

I also noticed the DDSDownload function will randomly fail to change the frequency and needs to be retried.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: PuterGeek on December 19, 2012, 06:55:18 am
What would be a good cutoff frequency do you think I should use?
100 or 200MHz?

Maybe I'll whip up a schematic to share in case someone wants to try my idea.
yes please do. i will be interested. ;)

It is going to require a Bessel filter and will need to be more than 5 poles to get good results. I will need to run a simulation to verify some things and may need to probe around with my scope too.

Not sure I will have this done before New Year because of the holidays but I am working on it.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: zibadun on December 23, 2012, 04:00:33 pm
What would be a good cutoff frequency do you think I should use?
100 or 200MHz?

Maybe I'll whip up a schematic to share in case someone wants to try my idea.
yes please do. i will be interested. ;)

It is going to require a Bessel filter and will need to be more than 5 poles to get good results. I will need to run a simulation to verify some things and may need to probe around with my scope too.

Not sure I will have this done before New Year because of the holidays but I am working on it.

I'd vote for 100 MHz or even 30 MHz cutoff frequency.  The "sine" wave spectrum does not look very clean to me at HF (over 5-10 mhz). May be a good low pass filter will help with this. 
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: PuterGeek on December 23, 2012, 04:34:35 pm

I'd vote for 100 MHz or even 30 MHz cutoff frequency.  The "sine" wave spectrum does not look very clean to me at HF (over 5-10 mhz). May be a good low pass filter will help with this.

The filter will necessarily be a compromise. The maximum usable output would be about 80 MHz (40% of 200 MHz sample clock). If we only wanted sine waves we could use a 7 pole elliptical filter with quick falloff and get good results. But the elliptical filter phase delay and impulse response are horrible for arbitrary waveforms.

A Bessel filter is usable but rolls off very slowly so it requires a lot of poles (9 or more). I'll try to post some simulation output later.

p.s. I am a EE but not a filtering expert. This is based on my research on filtering AWGs.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: alm on December 23, 2012, 04:52:39 pm
Some AWGs use a different filter for sine output than for other signals.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: PuterGeek on December 23, 2012, 07:52:26 pm
Some AWGs use a different filter for sine output than for other signals.

That would be possible but would be a more difficult mod to include inside the enclosure which was my goal. One way to do that would be to change the frequency counter input to a second output.

An alternative would be external filters which is less appealing to me.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on December 23, 2012, 09:41:23 pm
there's plenty of room in the ds3x25, maybe you can use relay or something and switch to change the filter instead of providing 2 separate and simultaneous output. btw, i will love to further modify my ds3x25, but i already have entirely different plan for this "arbitrary wave generator project", the only problem is "Time".
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on January 07, 2013, 03:51:02 am
I know Mechatrommer built an amplifier to get 10v out of his, but does anyone know the minimum voltage the Hantek can reliably produce?

I'm restoring an old (1939) tube powered floor model BC and SW radio. To align the tuner, the manufacturer's instructions say to connect a signal generator to the antenna input. Required frequencies range from 655KHz to 17MHz. I figure the AM waveform on the Hantek is perfect. However, I'm concerned about the output voltage. Near as I can figure it, a weak signal would produce around 0.2uV and a strong signal around 50uV at the antenna connection (I believe it's approximately 50 ohm impedance). The lowest setting on my Rigol scope is 2mV/div, so I can't verify if the Hantek can operate at that level. It does seem to still be working at 1mV, but even that is hard to see.

Option B would seem to be installing a 10K resistor inline. If this was a DC (or at least, low frequency) circuit and if the input impedance was resistive, I think the load and resistor would form a voltage divider so 1mV from the Hantek would produce 5uV (a reasonably strong, but not overwhelming signal) at the antenna. But I have no idea if that would really work at 17MHz.

Option C would be to install a short piece of wire as an antenna on each and let the Hantek broadcast to the radio by laying the wires next to each other. But that seems even more random.

Any other options?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: SeanB on January 07, 2013, 04:40:11 am
Normally you couple by using a single turn of wire draped over the IF transformer, with it twisted pair to the signal generator. This normally couples enough in to use for alignment. This works to align the IF stages, for the RF side just hold the loop over the antenna input.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on January 07, 2013, 10:33:23 am
i havent done this but if its me i'll set the signal magnitude to max (6Vpp or 20Vpp doesnt matter) and attenuate it at the output end accordingly using simple voltage divider or other better mean. the rational is so you can get minimal stairsteps effect. my 10x25 amplifier is not suitable for this application imho as it may introduces more distortion to the original output in opamp stage. use the original output as is. since its iirc 12bit @ 6Vpp you may expect 1.46mV stairsteps out of it. attenuating the signal should attenuates the stairsteps as well. but be careful with your attenuator design as it is near dark region (20MHz) this thing has made me crazy and probably brain shorted for a while now. a resistor is not a resistor, it also an inductor and capacitor, add pcb ground somemore? they will dance make you nuts.
Title: Review: Hantek DDS 3X25. Anyone own one?
Post by: zibadun on January 08, 2013, 05:00:11 pm
Yes I agree the lower the output the higher is harmonics content (relative to main carrier). At 0.1 V the sine wave is hardly a sine anymore. An attenuator or loose coupling is the way to go :)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: jahonen on January 08, 2013, 09:00:04 pm
Why not just get a coaxial attenuator, fixed ones should not be too expensive? You can also cascade them to get desired attenuation if one is not enough.

Regards,
Janne
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: robrenz on January 08, 2013, 09:16:25 pm
Why not just get a coaxial attenuator, fixed ones should not be too expensive? You can also cascade them to get desired attenuation if one is not enough.

Regards,
Janne

Is there something in the internal design of a coaxial attenuator other than the shielding effect of the outer shell being grounded that makes it better than an equivalent non inductive resistive divider with proper shielding?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: alm on January 08, 2013, 10:04:57 pm
A well designed attenuator will maintain a 50 ohm impedance throughout, a loose resistor will most likely cause an impedance mismatch, with the usual signal degradation and loss.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on January 09, 2013, 12:24:08 am
I did some testing of resistor voltage dividers, with a 50 ohm audio transformer standing in for the antenna input transformer. As you guys warned, the signal was badly distorted.

Two pieces of wire placed side by side resulted in a fairly decent attenuated coupling. Reversing one piece of wire inverted the signal, but that shouldn't matter.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on January 09, 2013, 02:45:31 am
Is there something in the internal design of a coaxial attenuator other than the shielding effect of the outer shell being grounded that makes it better than an equivalent non inductive resistive divider with proper shielding?
i believe you missed the attenuator construction i teared down recently and some usefull link(s). this is china cheapo one. if you can lay better and uniform carbon layer and then verify its profile then thats a good engineering ;) here the teardown https://www.eevblog.com/forum/beginners/replace-carbon-layer-with-passive-resistors-components-in-attenuator (https://www.eevblog.com/forum/beginners/replace-carbon-layer-with-passive-resistors-components-in-attenuator) with 1 concise and reasonable answer why not to use normal resistors.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on January 13, 2013, 05:25:53 am
I am aligning a short wave radio and need an audible tone AM modulated on a carrier -- from around 9MHz to 17MHz. So I figure a 1000:1 ratio should be fine, giving me a 17KHz tone at the upper end.

In ArbExpress, I generated an arbitrary waveform using the expression

Sin(1000*w)*(1+0.75*Cos(1*w))

to generate 1000 sine waves, the peaks of which form one overall sine wave. Zooming in on the waveform within ArbExpress confirms the waveform is as expected:

(https://www.eevblog.com/forum/chat/review-hantek-dds-3x25-anyone-own-one/?action=dlattach;attach=36667;image)

When I load it into the DDS3x25 via Goltek, the overall shape appears correct (goltek set to 20 hz):

(https://www.eevblog.com/forum/chat/review-hantek-dds-3x25-anyone-own-one/?action=dlattach;attach=36669;image)

However, zooming in a bit, something doesn't look right -- instead of sine waves, it appears to be an underlying modulated wave:

(https://www.eevblog.com/forum/chat/review-hantek-dds-3x25-anyone-own-one/?action=dlattach;attach=36671;image)

Zooming in further confirms this. I do have the right number of pulses, but they ain't sine waves, They are groups of square waves that gradually average out into the overall shape:

(https://www.eevblog.com/forum/chat/review-hantek-dds-3x25-anyone-own-one/?action=dlattach;attach=36673;image)

I'm not entirely sure what is going on here:

(https://www.eevblog.com/forum/chat/review-hantek-dds-3x25-anyone-own-one/?action=dlattach;attach=36677;image)

I suspect those random drop-out glitches are something to do with the Rigol and timing. If I zoom out still further the waveforms appear fine again. It only happens at that one setting.

Is this some sort of glitch with Goltek or with the Hantek? Or am I doing something completely wrong?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on January 13, 2013, 06:01:06 pm
I got it working -- sort of. Not really a sine wave, and a bit jittery, but I think it will be accepted by an old tube radio:

(https://www.eevblog.com/forum/chat/review-hantek-dds-3x25-anyone-own-one/?action=dlattach;attach=36696;image)

The superimposed audio frequency sine wave has similarly jittery amplitude, but should work nonetheless:

(https://www.eevblog.com/forum/chat/review-hantek-dds-3x25-anyone-own-one/?action=dlattach;attach=36698;image)

So it will work at 17KHz (for an RF of 17MHz)

However, I still have the original problem at 15.26KHz, which I need for aligning the 15,260KC point.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: zibadun on January 13, 2013, 06:05:44 pm
nice work. for some reason I could not get Arb Express to generate anything for me.  I select Basic Waveform/Sine, 40MHz and all I get  is a flat line. :(
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on January 13, 2013, 06:18:48 pm
ok i saw your csv file that you emailed me. the problem...

"instead of sine waves, it appears to be an underlying modulated wave"
due to aliasing resulted from downsampling made by goltek from unsupported 10,000 pts to 2048 pts which is the managable value by 3x25

"They are groups of square waves that gradually average out into the overall shape"
due to you are asking 3x25 to run at very slow sampling rate (40KSps). coupled with the kind of downsampled points will generate that very bad (worst) stairsteps, its the nature of DAC inside the 3x25.

"I suspect those random drop-out glitches are something to do with the Rigol and timing"
did you activate peak detect mode? if not then this is common problem with discrete sampling DSO... signal aliasing, is when the dso is sampling at the rate less than 2 times of the signal frequency. thats why Mr Shannon worked hard on this and produced his theory long time ago.

hint 1...
refer to gui.png, for optimum result, make csv that has the same number of points as shown in the gui, other than that goltek will interpolate (upsampling) or select few points from the whole (downsampling). the number of points is not something that we can choose as we like, it is specified by the device/api, the value is returned from function call (the calculation is based on marmad's KSps formulation) and that is used by goltek to make the interpolation. so if you expect goltek to do the interpolation, probably something bad can happen (disclaimer: i will not held liable for any property or life damage ;)) such as highly distorted or aliased signal.
(https://www.eevblog.com/forum/chat/review-hantek-dds-3x25-anyone-own-one/?action=dlattach;attach=36704;image)

hint 2...
for those of you who dont know... square and sawtooth buttons in goltek use different interpolation method, ie nearest neighboor interpolation, specifically made for sudden cliff like signal (you can load arb data to those buttons as well, but be carefull to save or keep your original square and sawtooth file in case you want to reload the original) ie when the data got 2 consecutive points inside it that go from lowest to highest and you want to preserve it in interpolated data. not like other button which use linear calculation to create NEW points. for eq if we have 2 points valued 0 and 1, we want to upsample to 4 points. square or sawtooth button will interpolate it to 0011, but other signal buttons will interpolate it to 0,0.333,0.667,1 not a good idea for square wave like or high pulse signal.

hint3...
to investigate what kind of data that is produced (interpolated or downsampled) and sent to 3x25 by goltek, you can right click on the graph picture -> dump -> hantek volt data. goltek will produces a file inside its directory "volt.dump.csv" (make sure you dont lock this file if already exists while dumping, nasty unspecified thing can happen) i've attached the sample below (volt.dump.zip) which is downsampled from torch's original data.

using hint1, i tried to produce 2048 data based on torch's formula in excel (attached modulation2048.xls zipped) but guess what? this intermodulation is also there! so whether goltek interpolation or using theoritical formula, its still the same, pay attention to the data shown in gui.png (Ksps and number of points) and make your own calculation and senses, beyond that i cant help much, we are live in discrete sampling world now.

in compare.png, i plotted first 30 points of what is produced and sent by goltek interpolation (left) and compared to the same data count/set using math (right), the result are about the same, those sharp peaks (pointing up and inverted) represent each point, top and down consequtively. when sent to 3x25 at finite sampling rate you'll get the malevolent stairsteps. let me re-view it again here.

(https://www.eevblog.com/forum/chat/review-hantek-dds-3x25-anyone-own-one/?action=dlattach;attach=36673;image)

(https://www.eevblog.com/forum/chat/review-hantek-dds-3x25-anyone-own-one/?action=dlattach;attach=36702;image)

FWIW.
Regards,
Shafri.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on January 13, 2013, 09:09:11 pm
Well that certainly explains a few things. I didn't realize there was a 2048 point limit. I thought as long as it was within the sample rate at a given frequency, I would be OK.

Getting a usable waveform at 17KHz was basically dumb luck and the jitter was an artifact of the interpolation process. But that does suggest it is possible to get something usable at 15.26KHz, given the right combination. I quickly tried 2048 points, but as one might expect, the "audio" component was over 75KHz -- well beyond my range of hearing. If I can figure out a way to get ArbExpress to use trianglular instead of sine waves I could get away with 2 points per wave, dropping the audio to 15KHz or so. Even I should be able to hear that.  Otherwise I guess I'll just have to fiddle around and try to find the right combination.

I realize there is no warranty, express or implied, on Goltek or it's fitness for a given purpose. ;-) But I appreciate your time and help and thank you for it.

Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on January 13, 2013, 11:23:11 pm
I didn't realize there was a 2048 point limit.
marmad has made extensive study on this. the max points 3x25 can accept is 4096, but its by luck at certain freq and/or KSps config to get that, mostly 3x25 will use 2048 points. me myself have not figure out the combination. i'll need to dig this up if i need to, its somewhere here or in my HDD. please check your PM will ya? ;)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on January 14, 2013, 01:35:52 am
Sorry for the delay. PM sent.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on January 14, 2013, 01:42:46 pm
this is the PM from torch that i asked. let me just quote here for educational purpose, others might benefit FWIW...
"The alignment (carrier) frequencies are 9.5 MHz, 11.8 MHz, 15.26MHz, and 17 MHz. The modulated signal frequency can be any tone in the range of human hearing. Anything between 5 KHz and 17 KHz would work"

there are two workarounds to take full advantage of goltek feature to get the best result out of it, not "the best in this world" result but "the best it can produce" result. please put your Shannon-Fanno's hat on and the magic wand (pencil) first... ready? here we go!

workaround 1:

now, we manually create the 4096 points in csv, you may use your programming or typing skill whichever you prefer (i used ms excel + notepad). we use 2 points for each cycle of the carrier signal and 4096 points for each cycle of the modulated signal, and superimpose them in the 4096 data. refer to "am_modulation w + 2048w.xls" in "4096pts 2048+1 modulation.zip" we will get 2048 cycles of carrier and 1 cycle for signal. set the #SIZE parm to 4096, done?! not yet! now we set the #CLOCK parm...

case:
1) 9.5MHz carrier, set #CLOCK=19e+06. calculating from master formula (in gui.png above) we'll get modulated 19MSps / 4096 = 4.6KHz, thats our audiable signal, fine, next...
2) 11.8MHz carrier, set #CLOCK=23.6e+06. calculating from master formula (in gui.png above) we'll get modulated 23.6MSps / 4096 = 5.8KHz, thats our audiable signal, fine, next...
3) 15.26MHz carrier, set #CLOCK to 2x of carrier freq like 2 cases above, so=30.52e+06. 7.5KHz audio, next...
4) 17MHz carrier, same as above #CLOCK=34e+06. 8.3KHz audio, done!

same dataset, same datacount, the only difference is the #CLOCK value. save as csv (ArbExpress compatible) and load to goltek Arb Button. setting in utility...
force clock on
signal boost off
flatness control off

hit the usb button (sending signal to 3x25) you'll get your modulated signal, easy? no, it comes at a price. since 3x25 is budget stuff we dont expect miracle, it cannot produce exactly the sample rate we provided (#CLOCK) ie 19MSps will be rounded off to 20MSps, 23.6MSps to 25MSps, 30.52MSps and 34MSps to 33.333MSps, so practically we'll get a signal that is a little bit off the intended signal, no luxury there its the limitation of the hardware. so the true output will be...

case:
1) 20MSps. 10MHz carrier + 4.9KHz audio. our intention was 9.5MHz carrier + 4.6KHz audio
2) 25MSps. 12.5MHz carrier + 6.1KHz audio. our intention was 11.8MHz carrier + 5.8KHz audio
3) 33.333MSps. 16.67MHz carrier + 8.1KHz audio. our intention was 15.26MHz carrier + 7.5KHz audio
4) same as 3. our intention was 17MHz carrier + 8.3KHz audio.

so the drawback. it will be out of alignment by some magnitude.

workaround 2:

now, we manually create the 4096 points in csv like above, but this time we base our calculation from the clock rate that 3x25 can produce. lets say for example case 1. we use math formula to fit the data with the carrier signal, instead of 2 points per cycle we'll use 20MSps / 9.5MHz = 2.105263158 points per cycle nice number! so in the 4096 points data, we will have 4096 / 2.105263158 = 1945.6 cycles nice number again! i wont explain further i assume you got the idea, example file is in "4096pts 1945.6+1 modulation.zip" the problem? as i've mentioned in earlier post, math formula itself created aliasing in the signal, just like what torch demo previously. so this workaround #2 may works for other application but not this modulation application (aliasing creates additional intermodulation). i just explained it here for completeness.

ps: the attached files are for Windows format (line feed + carrier return CHR(13)+CHR(10)) if they dont work for your OS, be pleased to inform me i can convert them to Unix or Mac format.

i provided the 3x25 output when loaded with "17MHz+8.3KHz.csv" and "9.5MHz+4.9KHz (real).csv" so you can see and examine for yourself... i suspect on higher end higher BW DSO, the 17MHz 16.67MHz carrier will resembles more like the nasty stairsteps that torch demo in earlier post, except the DAC is running at 33.333MHz clock instead of 40KHz as torch commanded.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on January 14, 2013, 06:05:04 pm
Quote from: Mechatrommer
using hint1, i tried to produce 2048 data based on torch's formula in excel (attached modulation2048.xls zipped) but guess what? this intermodulation is also there! so whether goltek interpolation or using theoritical formula, its still the same, pay attention to the data shown in gui.png (Ksps and number of points) and make your own calculation and senses, beyond that i cant help much, we are live in discrete sampling world now.


I reconfigured ArbExpress for 2048 points (leaving all the other parameters the same) and it produced the same double-modulated waveform. So I would say the Goltek algorithm also agrees with Tectronix.

I'll have to re-read your latest a couple of times to absorb all the details, but I think I understand the gist of it. Thanks for your help!
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on January 20, 2013, 04:42:43 pm
I have poured through Mechatrommer's files and explanations and while there are still some aspects I don't fully understand, most of it makes sense. As others have said, this is a very versatile piece of equipment for the money, but it is a fairly cheap piece of equipment and has more limitations compared to expensive professional grade equipment. 

What I am trying to do just can't be done with 2048 data points. Mecha's examples at other frequencies do generate a decent signal, but unfortunately those frequencies are too far away from what I need. For example, the 19 meter shortwave band only spans 15.10 to 15.60 MHz, so 16.67 MHz just won't work as an alignment signal.

The long and the short of it is that the DDS 3x25 generates a good AM moduated wave at medium-wave frequency, a perfect SW carrier wave or a perfect audio wave, but just cannot produce a good AM modullated wave at all SW frequencies. Time for another solution. I was sitting there staring at things when my eye caught the headphone output jack on the small laptop I use to run Goltek. Now, the sound card can't generate a SW carrier, but is great at audio frequencies. If I could combine the two, I could let the Hantek do what it does best and let the laptop handle the audio. I didn't have a suitable audio transformer at hand, so this is what I came up with (modified from a schematic I found on the internet):

(http://picturehosting.verhey.org/westinghouse_886/moduator_schematic.jpg)

It only has one NPN transistor so it actually only produces a half-wave:

(http://picturehosting.verhey.org/westinghouse_886/aud_800.bmp)

And the carrier, while nearly perfect on the breadboard ended up a little distorted when soldered together, but it's at the right frequency and seems close enough for the tubes:

(http://picturehosting.verhey.org/westinghouse_886/car_1526.bmp)

It fits in a tiny project box. I cut the cable off an old set of earbuds for the audio feed, scavenged a wall-wart for the power supply with an in-line DC jack cut off another cable previously scavenged for another project:

(http://picturehosting.verhey.org/westinghouse_886/Modulator_detail.jpg)

Good thing it's a large floor model radio with a large, flat top! For the audio signal, I d/l a freeware program from http://www.dr-jordan-design.de/signalgen.htm. (http://www.dr-jordan-design.de/signalgen.htm.) The combination generates a clear loud tone at the desired frequency with little to no cross-over. Perfect for what I needed to do. I set the tone at 800Hz and can quickly type a new carrier frequency into Goltek as I flip back and forth between the bands for the various adjustments

(http://picturehosting.verhey.org/westinghouse_886/signal_generator.jpg)




Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on January 20, 2013, 04:59:33 pm
congratulation torch! just make sure it doesnt catch fire :P. i agree the 3x25 is very versatile, a lot of things we can learn from it. its cheap but generic, sure it cannot do specific thing like RF-gen or syntethizer etc, but we can always rig up specific circuit for our need at the output, made me appreciate the higher end gears stuffs and learnt a little bit knowledge and "how do they work" of them.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on January 20, 2013, 08:22:34 pm
just make sure it doesnt catch fire :P.

Well at least that would be something I'm qualified to deal with! (http://www.emofaces.com/png/15/emoticons/fire%20extinguisher.png)  (I can also handle the situation if the circuit has a heart attack, falls half-way down a cliff, spews methl-ethyl nasty into the watershed or goes into premature labour.) Until then, I'll have to continue calling on you guys for advice and assistance because I really don't know what I'm doing with these things.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: SeanB on January 20, 2013, 08:25:03 pm
Physician, heal thyself........
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: davyk on February 04, 2013, 06:20:56 pm
Hi,
Can anyone (or you dear OP) inform me where I can find the link to the software ?

Regards,
vYk
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on February 04, 2013, 07:48:36 pm
Mechatrommer's Goltek? http://soasystem.com/eng/goltek/ (http://soasystem.com/eng/goltek/)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: davyk on February 04, 2013, 10:42:22 pm
many thanks torch, VERY fast answer !!!
I'm gonna try this.
was the link in some post in this topic?

Regards,
vYk
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on February 04, 2013, 10:48:43 pm
Yes, the link is buried in here somewhere. Probably more than once. However, I have it in my favourites (I keep hoping Mecha will suddenly find himself with nothing to do and pick up on some of the other projects he was working on.  ;D )
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: davyk on February 04, 2013, 10:54:31 pm
Yes, the link is buried in here somewhere. Probably more than once.
I think I better re-learn to read  ::)
Thanks a bunch !

PS: I'm looking for some updates too, what a fantastic work he offers to us !
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on February 04, 2013, 11:06:50 pm
The sad thing is that this hobbiest, with no prior knowledge of the internals and capabilities, has produced software which is vastly superior to the software provided by the manufacturer, and that the manufacturer has made no effort to support their product by offering updates that address the shortcomings.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on February 05, 2013, 09:00:16 am
(I keep hoping Mecha will suddenly find himself with nothing to do and pick up on some of the other projects he was working on.  ;D )
my projects flow depends on my need :P for example Goltek Digital, i still has no usefullness for it. so another guy has developed it, its somewhere here (or in my email) i asked him to post but i'm not sure what he has up to now. also i remember one request here to put on PWM capability and another request to make my library is DS2000 compatible. but since those required siginificant coding (and testing problem), i have to put it on hold. for easy fix, i almost certainly capable of jumping out of my current project to do that immediately, but for harder fix, yeah i'm also hoping that i will ever have a free very free time. i have a board that i wrote project lists, the scratched marking are still there from yesteryears. :P

ps: "Goltek Profiler" and "Goltek Compensator" (what kind of name are they?) are probably lie in "virtual dream" forever. since i believe we have better things than that and can do that manually.
for PWM, you can make your own PWM csv file and load into arbitrary button, (save different duty cycle in each number button 0-9) thats the workaround so far.

edit: this is the guy's app link he provided me last time http://www.hantek.org/asken/iaskdetail.aspx?id=2012123102451972 (http://www.hantek.org/asken/iaskdetail.aspx?id=2012123102451972) he is from http://www.embeddedat.com/ (http://www.embeddedat.com/) i hope he doesnt mind i'm putting his link here.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on February 05, 2013, 01:02:02 pm
I often face the same problem: too many projects, too little time...
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: davyk on February 05, 2013, 02:54:01 pm
The sad thing is that this hobbiest, with no prior knowledge of the internals and capabilities, has produced software which is vastly superior to the software provided by the manufacturer, and that the manufacturer has made no effort to support their product by offering updates that address the shortcomings.
I'm saddly not surprised !

@Mechatrommer : Any chance to have any suitable gui for the hantek dso-5200A like you made for the 3X25 ?

Regards, vYk
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: davyk on February 05, 2013, 03:15:00 pm
just a little thing, I cain't put the controller on my second screen. is it possible to unlock this?

regards vYk
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on February 05, 2013, 03:29:40 pm
@Mechatrommer : Any chance to have any suitable gui for the hantek dso-5200A like you made for the 3X25 ?
opps its an usb-scope not a FG. thats not possible 1) i dont have that unit, 2) i need to do it from scratch. entirely different functionality.

Quote
just a little thing, I cain't put the controller on my second screen. is it possible to unlock this?
thats reasonable. now i've disabled the check (while moving the app) but during loading its still on 1st monitor (to protect 1 monitor user from vanishing out of screen window) you need to drag manually after each reload. hope that helps... refer to attached file. backup your original version before overwriting, just in case.

edit: if the latest version crashes. the fix probably...
1) removing the waves.ini and waves.dat to another temporary folder. reload the software, if its fixed you can delete the older ini and dat files. if its not, try the following step.
2) download dlls.zip and update all the dll files.
if its still not fixed, you can msg me, thanks.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: davyk on February 05, 2013, 03:43:37 pm
MANY thanks for being such reactive !
...but windows says that it has to be closed because of an error before it appears .
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on February 05, 2013, 03:46:51 pm
... other manufacturers can do worse, see this thread and compare it to the 3x25:

https://www.eevblog.com/forum/reviews/siglent-sdg1020-arbitrary-fungen-first-impressions-and-a-possible-signal-glitch/?topicseen (https://www.eevblog.com/forum/reviews/siglent-sdg1020-arbitrary-fungen-first-impressions-and-a-possible-signal-glitch/?topicseen)

When glitches are consistent, in the case of the native 3x25 it was mostly the jitter and sync issue without Goltek, ita repeatable and you can work with, around or repair it, it would be the equivalent of setting output to e.g. 100kHz +/- 10 Hz depending on the jitter duration.

But in the case of the Siglent, the glitches are more widely distributed, even random, in shape and form, making it difficult to predict how to suppress it or work around it.

(https://www.eevblog.com/forum/reviews/siglent-sdg1020-arbitrary-fungen-first-impressions-and-a-possible-signal-glitch/?action=dlattach;attach=37832;image)




The sad thing is that this hobbiest, with no prior knowledge of the internals and capabilities, has produced software which is vastly superior to the software provided by the manufacturer, and that the manufacturer has made no effort to support their product by offering updates that address the shortcomings.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on March 13, 2013, 10:25:26 pm
And now for something completely different...

I have an eletronic invisible fence to keep the dog within the allowed boundary. In case you are unfamiliar with the concept, a loop of wire is buried a few inches underground, both ends are connected to two terminals of a mains-powered transmitter and the dog wears a collar that beeps if she approaches the boundary and gives her a little zap if she tries to cross it. Works very well. Unless the loop is broken, in which case the transmitter stops transmitting and starts beeping instead.

I have about an acre and a half fenced off. The wire is under several feet of snow. The unit started beeping yesterday. Arrrgghh!

The manufacturer will happily sell me a detector to locate the break. For about $100, you get a transmitter and a battery operated receiver. Hmmm, gee, I wonder how that works...

So what has this to do with the Hantek DDS 3x25, you may ask?

I have the transmitter mounted in the boathouse, so I dragged my laptop and DDS 3x25 down there, hooked one side of the wire loop to the output, grounded the Hantek with a jumper, set things for 29MHz @ 3.5v and went for a walk with a scanner tuned to the signal. Didn't work so well, faded in and out a lot. So I dropped the frequency to 600KHz, and took a cheap handheld transistor radio for a walk. That worked well. Very well. Too well. I could pick up the tone standing in the middle of the yard! I eventually dropped the Hantek's output voltage to 0.5v, which was strong enough to pick up the signal through the snowbanks but faded well as I moved away from the boundary.

With this setup, I found the break within 15 minutes and localized it to within 3' of the actual location.

Not what the thing was designed for, but what the hey, it worked...  8)
Title: Review: Hantek DDS 3X25. Anyone own one?
Post by: zibadun on March 14, 2013, 03:40:11 am

With this setup, I found the break within 15 minutes and localized it to within 3' of the actual location.

Not what the thing was designed for, but what the hey, it worked...  8)

Your 3x25 saved you time and money!  Now you've got an almost free function generator :)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on March 14, 2013, 11:56:12 am
Excellent!  That's what EE knowledge is designed for, use what you have to fix what you want.  Kudos!

And now for something completely different...

Not what the thing was designed for, but what the hey, it worked...  8)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: asbokid on March 15, 2013, 06:59:51 pm
By the way, I am surprised that no one until now seems to have used a USB protocol sniffer to figure out what these magic DLL functions really send to the generator. For example to figure out if they do some own special math or if the generator gets the values more or less as provided to the functions.

In an attempt to knock something together for Linux, I'm looking at the URB (USB payloads) using Wireshark.   The USB protocol used by the Hantek seems simple enough - it's only synchronous for starters.  But it's not clear at this stage how the waveform data is actually encoded in the URBs.

The PC host control software has to upload a maximum of 4096 datapoints to the Hantek. It does this in BULK OUT URBs, each of 64 bytes, padded where necessary.

There is a simple handshaking protocol between the Hantek and the PC host control software.  Initially, there is a pre-ample handshake, where the host controller confirms that the peripheral controller is responding.

The host controller s/w uses a three byte BULK OUT command e.g. [A1 22 88] to tell the USB peripheral controller that it wants to send a new waveform.

Each datapoint is encoded in the USB payloads using two bytes.  The maximum positive amplitude (~ +3.3v) is represented by the two bytes [00 30], and the maximum negative amplitude (~ -3.3v)  is represented by the two bytes [FF 2F].   And intermediate amplitudes are represented within those two limits.

The controller then sends URBs, each of 64 bytes, containing 32 samples of 2 bytes each. After each waveform URB, the peripheral controller responds with a single byte [CC] reply on the BULK IN endpoint.

Once the entire waveform has been uploaded in those 64 byte URBs, the host controller sends another three byte BULK OUT command. Similar to the three byte command sent earlier, but with bit 4 this time cleared, e.g. [A1 22 08].

That's as far as things have got to date.  Wireshark is running on a Linux box, monitoring the USB bus traffic. Meanwhile the controller software, whether the official Hantek s/w, or mechatrommer's Goltek application, or Marmad's program -- all applications for Microsoft Windows -- is running in Windows XP as a Virtual Box guest operating system.

cheers, a

EDIT: 4096 datapoints, as expected
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Fraser on May 01, 2013, 10:44:45 pm
I recently purchased the Hantek 4032L Logic Analyzer and remembered that they also made a Function Generator / ARB with digital outputs. I have just ordered the new 1025G version of the 3X25. Apparently the 1025G can be used as a 10 output digital stimulus source in harmony with the 4032L. They even stack together for a compact desktop solution.

I have spent the evening reading this thread so that I could understand the units behaviour  a querks a little better. What a journey it has been for you all ! Thanks for sticking with the development.

I would like to take this opportunity to thank Mechatrommer and all those who have helped in the development of the superior control application that is the 'Goldtek Controller'. You have made this piece of hardware so much more than Hantek released to market, and you have my sincere thanks for all the effort that you all put into developing the application for the benefit of all software challenged owners !

As soon as my  1025G arrives I will open it up and take some pictures of the PCB. It is likely identical to the 3X25 but it does not hurt to confirm it  :)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Fraser on May 08, 2013, 05:46:36 pm
My Hantek 1025G arrived today.

It looks as well made as the 4032L logic analyser. Nice PCB quality and pretty good soldering.

I attach pictures below.

The unit uses a Xilinx Spartan chip but the exact part number has been erased. It is interesting that they have erased the chips in this unit but not the 4032L  :-//

They have also not fitted the 5V power socket even though it is catered for on the PCB. There also appears to be capability expansion potential in the design that has not been exploited on my model.


Compare these pictures with those of the 3X25 on Page 5 of this thread. Same schematic ? It looks to be.

The ST chip is clearly identified on my unit and was not erased unlike in the 3X25  :)
Previous postings indicate that the Spartan is a 3AN type.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on May 08, 2013, 06:15:59 pm
I can't believe they got rid of the 5v supply.  :o Not to mention the missing BNC connectors. But then, nothing they have done with this product has made much sense to me. If Hantek's executives had an ounce of brain power, they would have contacted Mechatrommer, offered all the available programming information and make the software open source. They could then just sit back and watch the money roll in as the 3x25 flew off the shelves.

Instead, Hantek seems to have stripped out some of the functionality without increasing any of the capability and bundled it with their old, inferior, software. It's like someone said "Here's a gun, go shoot yourself in the foot" and they said "Ok!"
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Fraser on May 08, 2013, 06:55:27 pm
I have to agree. They have provided the trigger and control line on the header block on the front panel but nowhere near as convenient as the BNC connectors. I believe a modification will be done by me soon  ;)

The 5V socket was a real surprise. The 4032L logic analyser is supposed to be powered by one of those weird double USB leads that takes power from two ports. That was replaced with a single USB lead and a mains power supply by www.rigoloscilloscope.co.uk (http://www.rigoloscilloscope.co.uk) who supplied it to me.

Now the 1025G is also supposed to have one of the double USB leads supplied with it, but it has come with a standard one and no power supply option due to the lack of the socket. I don't like powering kit off of my Dell laptop USB ports as they are renowned for being fussy on current draw. I shall be fitting the required 5V socket and polyfuse soonest.

As you say, this has been a huge opportunity lost. I will still find the unit very useful for my needs though, thanks to Mechatrommer's software  :) Thanks Mechatrommer !
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on May 08, 2013, 10:43:24 pm
I can't believe they got rid of the 5v supply.  :o Not to mention the missing BNC connectors. But then, nothing they have done with this product has made much sense to me.

What is so strange is that they failed to write PC software which correctly implements some of the features of the original DDS-3X25 firmware; for example, 'burst' mode for doing single-cycle waveforms and short bursts. This is something I use all the time (via my own software) - but what did they do? Instead of re-writing the software to implement these things correctly, they just eliminate or bury features. It's as if their software programmers said, 'Nope, it just can't be done.'
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Fraser on May 09, 2013, 09:50:22 am
It is a great pity that the software lets Hantek products down. The hardware looks to have been well thought through, and produced to a good standard. They need to find a new software engineer.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Bored@Work on May 09, 2013, 10:11:44 am
It is a great pity that the software lets Hantek products down. The hardware looks to have been well thought through, and produced to a good standard. They need to find a new software engineer.

They first need to find new management.

Management that first of all acknowledges they have a relevant problem. Then comes up with a feasible plan to fix the problem. That plan should, among others, include hiring competent software developer. Then obtaining funding for the plan. Then executing the plan, correcting and adjusting it while they go.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Bored@Work on May 09, 2013, 03:26:56 pm
You have no understanding how companies work.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marabut on June 14, 2013, 07:58:43 am
What is so strange is that they failed to write PC software which correctly implements some of the features of the original DDS-3X25 firmware; for example, 'burst' mode for doing single-cycle waveforms and short bursts. This is something I use all the time (via my own software) - but what did they do? Instead of re-writing the software to implement these things correctly, they just eliminate or bury features. [...]

Hi all!
 I plan to buy 1025G soon, so I'm trying to get  as much information as possible about (potential and real) flaws.
   
marmad
Could you make clear what you've had in mind, please?
What exactly features of 3x25 firmware aren't implemented in 1025G? This is important for me as 1025G is ~$65 cheaper than 3x25 at local distributor's store (yes, I know it's strange :o).
However if some of features was eliminated in 1025G, it can be better to get older but well known product. I used to think about 1025G as repackaged 3x25.
Is it true at functional level or not?
 
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on June 14, 2013, 11:20:02 am
The external hardware differences are reasonably clear.

1. the 3x25 has a 5v external power connector, or can be powered by USB. The 1025g is USB only.

2. the 3x25 has 5 BNC connections: OUTPUT, SYNC OUT, COUNT IN, CONTROL, TRIG IN. The 1025g has only 2 BNC connections: OUTPUT, SYNC OUT.

3. The 3x25 has 6 digital inputs, I 0 through I5. The 1025g has only 4 digital inputs, I 0 through I3 (of the 20 pin connector). The advertising (and specifications page in the manual) claims the 1025g has 6 bit input, but the manual clearly shows it's only 4 bit.

4. The 3x25 also has 12 digital outputs, O 0 through O11. The 1025g has 12 digital outputs, O 0 through OB (of the 20 pin connector).

5. The 3x25 has two ground pins on the 20 pin connector, the 1025g has 1 ground pin.

6. If you have been doing the math thus far, that makes a total of 20 pins accounted for on the 3x25, but only 17 on the 1025g.  The other 3 pins seem to correspond to the missing BNC connectors: CTRL, COUNT IN, AND TRIG.

7. The 3x25 has a second 20 pin connector labelled "MULTIPROCESSOR LINK" used to synchronize multiple 3x25 units for multiple signal outputs using the homebrew ribbon cable shown in the manual. There is a section of the manual titled "Combine Devices" outlining how to do this. The 1025g does not have this connector, and the manual does not have a "Combine Devices" section.

The 1025g advertising claims "Standard USBXITM interface, easily inserts into USBXI housing to make up a combination instrument." However, this mysterious "USBXI housing" seems to be tradmarked vapourware. It's not listed anywhere in their product pages that I could find. Hantek's site search pulls up the 1025g and 3 pc-based scopes that claim to use it, but not the housing itself. Google produces similar results. As far as I can tell, the "USBXI housing" does not exist. I can only guess that Hantek meant to produce some sort of hub that would synchronize these products through their USB connectors but for some reason couldn't get it to work properly and gave up.

Just to be complete about this: Hantek doesn't seem to sell the "Optional Multiprocessor Link Cable" for the 3x25 either. However, they do at least show a couple of photos of it in the manual, so a standard IDC 20 pin cable can be modified quite easily:

Cut wires 1, 2, 3, 4 at each connector and leave them open.
Cut wires 17, 18 and 19 between the master and slave 0 connectors, connect all 3 together at the master connector and leave them open at the slave 0 connector.
Cut wire 16 between the master and slave 0 connectors. Connect wire 16 on the master connector to wire 15 on the slave 0 connector. Leave wire 15 open at the master and wire 16 open at the slave 0 connection.
Cut wires 16, 17, 18, 19 between slave 0 and slave 1.  Connect 17 and 19 together at slave 1 connector. Leave all others open.
Cut wires 16, 17, 18, 19 between slave 1 and slave 2.  Connect 18 and 19 together at slave 2 connector. Leave all others open.

NOTE: I only have one DDS 3x25, so I have never actually built and tested the above, I'm just going by the pictures! I'm sure Hantek would never make a mistake or omission in any of their documentation :palm:, but use at your own risk anyway.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marabut on June 14, 2013, 09:04:49 pm
torch,
Thank you for detailed description of differences between the two units. Some of missing features aren't "true" faults (from my point of view).
For example lack of external power connector doesn't seem to be a problem as the device will be connected to PC through galvanic isolation circuit (ADUM4160) and will draw power from stabilized linear PS (this should have positive effect on noise level too). Having some signal inputs at pins (instead BNC connectors) - especially CONTROL - can be even a plus.
Anyway, I plan to make a"frontend" with programmed low pass output filter,  buffers for digital signals and analog buffer/amplitude amplifier similar to built by Mechatrommer - less BNC's means easier connection in this case.  Things bothering me are: uneven length of tracks leading from FPGA to DAC (is it safe to leave them without damping resistors at such frequencies?), limited number of digital i/o (as I plan to use them to control the "frontend" circuit) and potentially limited firmware features (as e.g. triggered one cycle waveforms). Thanks to Aurora's  posted pictures one can see potential drawbacks, however I haven't seen complaints so far - so maybe it's just OK.

BTW - maybe somebody will reveal here some of secrets of Hantek's USB protocol? I know it is possible to write custom software (as Mechatrommer and marmad did) but I wonder if implementation e.g. SPI or I2C on digital I/O is possible that way. Is it fast enough to control the pins and transfer data both ways? It would be nice to control output LPF, attenuator etc. from one piece of software and using  only USB as interface.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on June 14, 2013, 09:35:05 pm
but I wonder if implementation e.g. SPI or I2C on digital I/O is possible that way. Is it fast enough to control the pins and transfer data both ways? It would be nice to control output LPF, attenuator etc. from one piece of software and using  only USB as interface.
i believe from looking the software and hardware design, whats come out of 12bits digital IO is the same as what is feed to the DAC inside. so calling the API and sending data points will do both feeding the analog signal and digital output at the same time. but i'm not 100% since i havent tested it. i believe designing a software to feed the device with SPI or I2C should be possible. on the surface, the gui will handle and translate the bits stream and protocol, but under it, the API procedure calls should be the same as documented. bear in mind the limit is 4K memory only.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marabut on June 15, 2013, 10:58:29 am
Mechatrommer,
I hope you're wrong  ;)
1025G's user manual (pages 23/24) states that digital i/o can work as:

1. Pattern Generator:
The vertical resolution of Hantek1025G is 12bits. If selected this mode, you can get the each bit of the value by testing the digital out pins. [...]
2. Programmable Output:
Select menu “Programmable output”, then the Programmable output mode works. Select menu “Digital IO”->”Output set”, the “output set” dialog show. By selecting one pin, that digital output pin will output high level. Otherwise, the pin will output low level.
3. Digital Input:
Select menu “Digital IO”->”Digital Input”, the following dialog show. If you input a high level to a digital input pin, the pin on the dialog would show H; otherwise, the pin on the dialog would show L.

From above statements (if true) is clear that one can control single bits of digital i/o without affecting output waveform (data being sent to DAC in the meantime). I doubt that size of internal memory has anything to do with it. Rather it's just simply reading and writing some FPGA registers (of course using Hantek's API). So my question is: are there any functions available in API (or DLL exported symbols) that can be used to such tasks? And how fast they are?
Enough to implement one of popular serial protocols?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on June 15, 2013, 11:48:03 am
i believe from looking the software and hardware design, whats come out of 12bits digital IO is the same as what is feed to the DAC inside. so calling the API and sending data points will do both feeding the analog signal and digital output at the same time. but i'm not 100% since i havent tested it. i believe designing a software to feed the device with SPI or I2C should be possible. on the surface, the gui will handle and translate the bits stream and protocol, but under it, the API procedure calls should be the same as documented. bear in mind the limit is 4K memory only.

This is wrong - at least for the DDS-3X25. You can use the Hantek software (or download my software from somewhere in this thread) and control all the digital IO pins independently of the DAC (or output the generator values - it's switchable).
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on June 15, 2013, 11:52:38 am
From above statements (if true) is clear that one can control single bits of digital i/o without affecting output waveform (data being sent to DAC in the meantime). I doubt that size of internal memory has anything to do with it. Rather it's just simply reading and writing some FPGA registers (of course using Hantek's API). So my question is: are there any functions available in API (or DLL exported symbols) that can be used to such tasks? And how fast they are?
Enough to implement one of popular serial protocols?

There is one DLL command for switching between programmable or generator output:
DDSSetDIOMode / Description: Switch the mode of DDS / 1: Programmable output 0: Generator output

And one DLL command for setting programmable output:
DDSSetDigitalOut /  Description: Set the programmable output ports, only affected in programmable output / unsigned short Out: the value of digital output, only low 12 bits effected

I can't remember testing the speed - but nothing is fast using USB and DLL commands on the Hantek.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marabut on June 15, 2013, 02:15:08 pm
marmad,
thank you for sharing the knowledge. I'm glad that my suspicions weren't distant from truth.  :)
Is there a function to read digital pins too?
My biggest concern is now speed of USB communication through Hantek's dll: implementation of any serial protocol that way means sending and receiving single bits using Hantek's provided commands. I've got an idea how communication works from asbokid's post earlier in this thread - but know nothing about achievable update frequency.
Have you done any "responsivity" tests?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on June 15, 2013, 02:50:46 pm
marmad,
thank you for sharing the knowledge. I'm glad that my suspicions weren't distant from truth.  :)
Is there a function to read digital pins too?
My biggest concern is now speed of USB communication through Hantek's dll: implementation of any serial protocol that way means sending and receiving single bits using Hantek's provided commands. I've got an idea how communication works from asbokid's post earlier in this thread - but know nothing about achievable update frequency.
Have you done any "responsivity" tests?

Yes, DDSGetDigitalIn, but on the DDS-3X25 (at least), the IO pins are separated: 6 input and 12 output.

I have done tests with the speed but I don't have any recorded numbers left anywhere. I just remember it was painfully slow (in computer terms), making it very difficult to do things 'quickly'.

For my own purposes, eventually I realized that it makes more sense to get a proper SCPI-controlled device - instead of plowing more hours into trying to 'force' the Hantek into doing things that either it can't do well - or were never properly documented for us mere 'customers'.

For example, how is the Hantek software doing smooth, glitch-free, zero crossover sweeping? With the documented DLL commands, this is impossible - causing either a glitch when a new waveform is downloaded to the AWG - or non-zero crossings when just changing frequency.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marabut on June 15, 2013, 03:30:00 pm
Quote
I just remember it was painfully slow (in computer terms), making it very difficult to do things 'quickly'.
Rather discouraging.  :(
Maybe I will be able to send single bytes, but nothing more. It should be enough to control attenuator and LPF but not enough to sniffing I2C or get amplitude measured through the same interface.
Well, we'll see - I'm buying 1025G on Monday.
Thank you all for your help.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Winston on June 27, 2013, 03:38:33 pm
I'm considering buying a 1025G.  In the "user manual" (and I use that term very loosely), there is one reference to a sweep dialog selection in the drop-down utility menu, but that box is never shown.  Is that a sweep frequency setting dialog and, if so, what are the sweep options available?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marabut on June 27, 2013, 04:52:54 pm
This option in Hantek's supplied software is rather limited. The dialog box itself looks like that i've attached. Only basic settings and you can use only sine waveform (sweep option is grayed out with all other waveforms).
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Winston on June 28, 2013, 03:25:24 pm
This option in Hantek's supplied software is rather limited. The dialog box itself looks like that i've attached. Only basic settings and you can use only sine waveform (sweep option is grayed out with all other waveforms).
Thanks for that screen shot.  Scanning over this long thread, it looks as if the 1025G is inferior to their older 3x25 in many ways, including older, less capable Windows software, loss of some I/O capability, and the need to draw all power from USB which may be problematic on some laptops.  Would I be better off just buying a new in box 3x25?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Sebi11 on July 15, 2013, 03:16:45 pm
Hi All,

I am quite newbie in the forum but quite old and non-successful with Hantek DDS 3X25.

To the point: I am trying to setup a low cost high frequency (below 5 MHz) lock-in amplifiers (let us call it phase sensitive detector). For this I use a  one channel (two channels differential) DAQ card (AD7626 ADC) as well as our famous 3X25. Both our coming in minimum price available. I am doing all in LabView because I can read in the DAQ card easily using LV. The whole setup will work by scanning frequency between 100 kHz and 5 MHz.

The problem I am facing is that because my DAQ card has only one channel I can only feed the output signal and not the SYNC of 3X25 simultaneously. The SYNC has to be created by software and it should be in phase with actual signal. Then the lock-in amplifier algorithm should hopefully work. So far, I was not successful because I cannot control the initial phase of 3X25. When I download the requested sinewave to 3X25 the initial phase is every time different.

Is this somehow solved in Mecha's program?

Mecha: Could you please help also the poor labview guys by making a labview API?

In any case, you all have done great job on this piece of :bullshit: and thank you for that       
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on July 15, 2013, 10:20:31 pm
When I download the requested sinewave to 3X25 the initial phase is every time different.
Is this somehow solved in Mecha's program?
i hope this is it ... http://www.soasystem.com/eng/goltek/synch.htm (http://www.soasystem.com/eng/goltek/synch.htm) short answer yes, long answer, its more complicated esp if you need higher in-synch accuracy, nothing beats hardware solution if you can.

Mecha: Could you please help also the poor labview guys by making a labview API?
you need to teach me LabView from scratch first ;)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Sebi11 on July 16, 2013, 01:35:03 am
Thank you very much for the prompt reply. At least now I understand the problem although I cannot solve it yet.

Any idea on how to create a software SYNC signal given the output signal?

Mecha: Could you please help also the poor labview guys by making a labview API?
you need to teach me LabView from scratch first ;)

I guess if Labview can communicate with the crappy DLL provided by Hantek there should be a way to communicate with your program as well (do not ask me how) without teaching you Labview since I am not that proficient.

Any Labview expert, please?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on July 16, 2013, 12:13:51 pm
I guess if Labview can communicate with the crappy DLL provided by Hantek there should be a way to communicate with your program as well
conceptually from what i learnt at least, the dll is the highest level we (goltek, pc softwares, labview) can access into, the rest of lower level (usb protocol) is encapsulated, closed source not documented by the manufacturer. and goltek is the "top tier" software for the end user, i didnt provide anything to connect to something on top. in other word, "principaly" your labview cannot connect to the goltek. i'm sure there is documentation in labview on how to call Windows DLL. try to concentrate on that search in help file. because you wil be bulding something at the same hyrarchy pyramid level and procedures as the goltek did, there is no way you can be on top of the goltek (legitimately).
Title: Review: Hantek DDS 3X25. Anyone own one?
Post by: zibadun on July 20, 2013, 01:39:00 am
goltek is the "top tier" software for the end user, i didnt provide anything to connect to something on top. in other word, "principaly" your labview cannot connect to the goltek.
...
, there is no way you can be on top of the goltek (legitimately).

And that's a shame because it forces people to understand and re-implement the same algorithms you put into goltek to produce a stable signal.  And not everyone is as experienced with programming as you are.  It's quite common for what you call 'top tier' programs to have an interface other than GUI - command line flags, scripting, DDE, telnet, etc. it was your choice as a programmer to implement only the GUI part.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on July 20, 2013, 12:48:50 pm
command line flags, scripting, DDE, telnet, etc.
and it will make my life miserable due to the complexity, and for what? what i dont really get is why the hell people want to control the device from far away using telnet ethernet etc? this is a T&M device not a household remote control toy or security device, it is meant to be right next to the designer while R&D. the only way to program goltek is by using Tektronix ArbExpress or Excel CSV, you design the signal in there and feed it to the program and device, thats it. actually the 2nd thing is, my imagination limits my achievement, this device is only to produce a signal, i cant imagine how to make it programmable, even if it is, i dont think its worth it due to (1) you still can make it manually on the bench or the above mentioned CSV file (2) the 3x25 and its (documented) SDK is so inefficient at this. thats just my humble opinion.

edit: sorry if i misunderstood "top tier". maybe the right word is "top most".
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: zibadun on July 20, 2013, 02:23:19 pm
controlling from far away is not an issue. The problem is that integration with other pieces of software and automation of tasks is not possible.   For example I might want to send ten different test signals at a 2.5 second interval.   Can't do this with Gui.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: marmad on July 20, 2013, 03:44:41 pm
controlling from far away is not an issue. The problem is that integration with other pieces of software and automation of tasks is not possible.   For example I might want to send ten different test signals at a 2.5 second interval.   Can't do this with Gui.

But Mecha wrote the software for his own purposes - and gave it away for free. Why should he put extra unpaid time of his own into something he doesn't need? I see a lot of people on this forum asking for stuff they want - but I see very very few people actually putting work into and posting software.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on July 20, 2013, 04:17:35 pm
but I see very very few people actually putting work into and posting software.
and very few are willing to learn how to make Windows DLL call from anywhere like VBExpress VCExpress or something. which is pretty much basically what i did to goltek (apart from aligning all the skins in the GUI). some of the concepts and ideas developed in-house (or with your help) are already documented with my sweat in my site (thanks to GoDaddy for providing free space with domain subscription) such as unsynch issue here ... http://www.soasystem.com/eng/goltek/synch.htm (http://www.soasystem.com/eng/goltek/synch.htm) and some other links about flatness, phase profiling etc here (see below) http://www.soasystem.com/eng/goltek/index.htm (http://www.soasystem.com/eng/goltek/index.htm) bad english but i'll be happy to guide if anyone interested in PM. asking one to extend or make a program to enable scripting, will require him to make a help file (or possibly a customer help forum) to teach people ;)
Best regards.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: zibadun on July 20, 2013, 04:18:13 pm
controlling from far away is not an issue. The problem is that integration with other pieces of software and automation of tasks is not possible.   For example I might want to send ten different test signals at a 2.5 second interval.   Can't do this with Gui.

But Mecha wrote the software for his own purposes - and gave it away for free. Why should he put extra unpaid time of his own into something he doesn't need? I see a lot of people on this forum asking for stuff they want - but I see very very few people actually putting work into and posting software.

I'm not asking for stuff, just responded why something other than GUI/human interface may be useful in software like Goltek.   
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on July 20, 2013, 04:30:30 pm
For example I might want to send ten different test signals at a 2.5 second interval.   Can't do this with Gui.
if you cant develop yourself, goltek can save 12 different waves in memory keys (shortcut e+number) and then recall or send signal later (shortcut c+number). you can make a simple timer that beeps every 2.5secs and then you press "c+number" when you hear it. yes its manual and clumsy but thats the best goltek can do ;) and if you know goltek (or the hardware?) is not very good at transitting from one signal to another signal (glitches) which can corrupt your measurement (or maybe not, depending on what you want to do). short help manual here http://www.soasystem.com/eng/goltek/control.htm (http://www.soasystem.com/eng/goltek/control.htm) hope it helps.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Mechatrommer on July 21, 2013, 09:35:09 pm
but I wonder if implementation e.g. SPI or I2C on digital I/O is possible that way...
...whats come out of 12bits digital IO is the same as what is feed to the DAC inside. so calling the API and sending data points will do both feeding the analog signal and digital output at the same time. but i'm not 100% since i havent tested it
Mechatrommer,
I hope you're wrong  ;) ...
This is wrong - at least for the DDS-3X25. You can use the Hantek software (or download my software from somewhere in this thread) and control all the digital IO pins independently of the DAC (or output the generator values - it's switchable)... (next post)
There is one DLL command for switching between programmable or generator output:
DDSSetDIOMode / Description: Switch the mode of DDS / 1: Programmable output 0: Generator output

i just happened to dig back some of my doc. the striked statement above is corrected, i actually made a test and have proof on 3x25 long time ago on generator output + io output (well, Output port 8bit HSB O4-O11) at the same time. i havent set any DDSSetDIOMode in goltek nor i have studied it, he's probably right on "Programmable output" mode, but by default, which i suspect is the "Generator output" mode (as picture shown below), both signal output and digital output are producing analog and correspondent digital signal respectively...

(http://www.soasystem.com/eng/amla/setups.jpg)

(http://www.soasystem.com/eng/amla/amla1.png)
complete report here http://www.soasystem.com/eng/amla/ (http://www.soasystem.com/eng/amla/)

what this means, i still believe, designing an analog waveshape in some fashion or specialized SW, save CSV and load to goltek and device will produce some sensible digital output at the same time. FWIW.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Sebi11 on July 30, 2013, 02:19:44 pm
Sorry for coming back again but my problem related to synch is not solved.

I do the following: set frequency to 10 KHz and give this frequency in 10 repetitions. I read the waveform in my DAQ card. However, in each repetition I get different phase shift (or different time shift if you prefer). Why is that?

Is there any possibility to reset Hantek each time before sending the new frequency?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: tymm on September 12, 2013, 02:52:01 am
I just got one of these for a good price on ebay & found a little bit of time to start playing with it... though since I'm not a Windows person, it's a little harder :/  sadly probably not going to get much time in the next several weeks to do anything decent with this, so figured I'd share the little bit i've been able to get to (apologies for the really crappy code; just dumping this in case someone wants to play with it)

So far I'm able to set the digital outputs... (testing from OSX).  Don't think it'll be too hard to get the other functionality done.

Example setting O3, O5 high:

$ python
Python 2.7.1 (r271:86882M, Nov 30 2010, 10:35:34)
[GCC 4.2.1 (Apple Inc. build 5664)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

>>> from Hantek_3X25 import *
>>> d = DDS()
>>>
>>> c = Config()
>>> c.CounterMode = True
>>> c.ProgrammableOutput = True
>>> c.DigitalPins = 0x22
>>> d.configure(c)


Requires pyusb.
based on example in pyusb tutorial at http://pyusb.sourceforge.net/docs/1.0/tutorial.html (http://pyusb.sourceforge.net/docs/1.0/tutorial.html)
using SigRok documentation @ http://sigrok.org/wiki/Hantek_DDS-3X25 (http://sigrok.org/wiki/Hantek_DDS-3X25) as basis for USB comms.



Hantek_3X25.py:
Code: [Select]
#!/usr/bin/env python

import usb.core
import usb.util

import struct


Falling = 0
Rising = 1

class Config(object):
    ResetExtTrigger = False
    ExtTrigger = False
    ExtTriggerEdge = Falling
    ContinuousOutput = False
    ResetCounter = False
    CounterMode = False
    ProgrammableOutput = False
    DigitalPins = 0x0000
    ClockDivider = 1


class DDS(object):
    def __init__(self, idVendor=0x0483, idProduct=0x5721):
        # find our device
        dev = usb.core.find(idVendor=idVendor, idProduct=idProduct)

        # was it found?
        if dev is None:
            raise ValueError('Device not found')

        # set the active configuration. With no arguments, the first
        # configuration will be the active one
        dev.set_configuration()

        # get an endpoint instance
        cfg = dev.get_active_configuration()
        interface_number = cfg[(0,0)].bInterfaceNumber
        alternate_setting = usb.control.get_interface(dev, interface_number)
        intf = usb.util.find_descriptor(              \
            cfg, bInterfaceNumber = interface_number, \
            bAlternateSetting = alternate_setting     \
        )

        self.out_ep = usb.util.find_descriptor(
            intf,
            # match the first OUT endpoint
            custom_match = \
            lambda e: \
                usb.util.endpoint_direction(e.bEndpointAddress) == \
                usb.util.ENDPOINT_OUT
        )
        assert self.out_ep is not None

        self.in_ep = usb.util.find_descriptor(
            intf,
            # match the first IN endpoint
            custom_match = \
            lambda e: \
                usb.util.endpoint_direction(e.bEndpointAddress) == \
                usb.util.ENDPOINT_IN
        )
        assert self.in_ep is not None

    def configure(self, config):
        b0 = 0x00
        b1 = 0x00
        b2 = config.DigitalPins & 0xff
        b3 = (config.DigitalPins >> 8) & 0x0f
        b4 = config.ClockDivider
        b5 = 0

        if config.ResetExtTrigger:
            b0 |= 0x20
        if config.ExtTrigger:
            b0 |= 0x10
        if config.ExtTriggerEdge:
            b0 |= 0x08
        if config.ContinuousOutput:
            b0 |= 0x04
        if config.ResetCounter:
            b0 |= 0x02
        if config.CounterMode:
            b0 |= 0x01

        if config.ProgrammableOutput:
            b1 = 0x01

        cval = struct.pack('>BBBBBBB', 0xa0, b0, b1, b2, b3, b4, b5)

        self.out_ep.write(cval)

Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: vfperri on October 01, 2013, 05:54:25 pm
Hi "tymm" I'm also trying to use this generator whith Python and I'm very interested in knowing how far have you get with the python code for command the device.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Sebi11 on November 08, 2013, 12:57:04 pm
Hi all,

It seems I have some progress since my last post and now I have a lock in amplifier working by using the Hantek function generator. However, when I scan frequency the lowest frequency step I can reach with Hantek is 125 Hz. Is this a characteristic of this module or am I doing somewhere a mistake?
 
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: domasj on December 22, 2013, 05:52:32 pm
Hi,
I wrote a Python library to access Hantek DDS 3X25. It was inspired by tymm. It works in Linux (tested in Debian) and should work in Windows.

What works:

Library: https://bitbucket.org/kuzavas/dds3x25/src (https://bitbucket.org/kuzavas/dds3x25/src)
Information on the hardware and protocol: http://sigrok.org/wiki/Hantek_DDS-3X25 (http://sigrok.org/wiki/Hantek_DDS-3X25)
Title: Review: Hantek DDS 3X25. Anyone own one?
Post by: bob808 on December 22, 2013, 06:19:45 pm
Would this work on a raspberry pi? :)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: domasj on December 23, 2013, 07:01:33 am
It should work on Raspberry Pi.
Title: Review: Hantek DDS 3X25. Anyone own one?
Post by: bob808 on December 23, 2013, 10:56:41 am
I'm thinking if I could make a standalone unit with a raspberry pi and a LCD. Need to finish my current projects and I might see if it's worth a shot.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: vehf277 on February 07, 2014, 03:45:28 pm
Hi everybody!

I am newbie in this thread.
I bought Hantek 3X25 a few days ago and found some strange/wrong in coming out signals.
I checked three wave types - sine, triangle and saw. All three signals are 500mV 1000Hz. The signals are looking as normal but a signal envelope looks like not a flat bar but a mixture(not a modulation) of signals, 1kHz and much lower frequency. You can see the screen captures made by OWON SDS7102.
The question is: is it normal for Hantek 3X25 or not, did anybody see this the same and if it's wrong how to fix it?

Thank everybody in advance for help!:)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: saturation on February 12, 2014, 08:19:13 pm
It looks like you cabling issues as your 'carrier' is modulated or mixed with what looks like line frequency, ~ 60 Hz.  The Hantek output is quite clean if properly hooked up.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: vehf277 on February 23, 2014, 12:46:20 pm
Thank you!:)
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: TriodeTiger on June 28, 2014, 05:34:53 am
The thread spawned an interest in me to purchase one of these on a small eBay sale for $120 :) It's got its quirks, but suits me for anything I can possible think of on the lower frequency end.

With my new scope to be written about, I measured the sync phase offsets on a sine wave with the beautiful GolTek software (the original supplied software wouldn't let me write a DLL file to system32, even with admin privileges or manual copying of it beforehand :palm:)

Code: [Select]
  100kHz: Sync Phase: -1 degrees / -20ns
  1MHz:   Sync phase: -9 degrees, -25ns, sync jitter: +/- 5ns or 3 degrees
  10MHz:  Sync phase: -70 degrees, -20ns, sync jitter: +/- 4ns or 10 degrees, (sine at this point)
  20MHz:  Sync phase: -160 degrees, -25ns, sync jitter: +/- 1 ns or 5 degrees
  20MHz+: (Mostly noise at this point.)

That seems pretty useless for anything over 1MHz for sync.

Ah well, all for now.

EDIT: Odd, his phase correction turned off reduced the error by ~10x, 1 and 10MHz offset becomes ~2ns now. What's up with that? That's significant for 10MHz, since phase is now only +/- 5 degrees instead of 70.

A goodie shot, transfered through a 3.5'' medium of some kind, I remember those :wtf::
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: tymm on November 01, 2014, 12:54:10 am
Just as an update, I've done a bit more work on the DDS3x25 Python code and - while things are by no means complete - I think it's in not too bad shape for most general use... There are simple interfaces for generating sine & square waves of arbitrary frequencies, for setting/getting digital IO values, for using the counter, etc. 

Code can be found here:
https://github.com/tymmothy/dds3x25
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: torch on January 13, 2016, 02:22:51 am
Geez, over a year since anyone has discussed this little guy. Well hopefully someone is still familiar with it.

Does anyone know the required parameters for the external trigger input? Voltage, waveform, frequency limitations? I thought maybe I could use this as a time mark generator by triggering a pulse from an OCXO sine wave, but I just get a flat line from the output. If I disconnect the bnc cable, it reverts to internal triggering. Thinking that 10MHz might be too fast, I tried a 500Hz sine from a tone generator with similar results. When I tried a 10Hz square wave from a 555 timer, I see a brief flat line then the internally triggered waveform each time I click the "External Trigger" button. I've tried voltages from 250mV to 12V.

Any suggestions?
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: ElektroQuark on April 06, 2018, 05:41:48 am
Anyone has one of those working under Linux?
Sigrok has had it in "Planned support" for some years now.
Title: Re: Review: Hantek DDS 3X25. Anyone own one?
Post by: Skyguard on February 14, 2023, 12:32:37 am
hello. a query.
my Hantek has a defect. It is not possible to put an exact number.
If I put for example 4000000 with the keyboard in the program, the generator outputs 4000475.
So if I put 3999525 it doesn't put 4000000 either.
It's like it was running about 500 cycles but it also had 260 hertz steps or something like that and then it would never be on frequency.