General > General Technical Chat
Review: Hantek DDS 3X25. Anyone own one?
marmad:
--- Quote ---for few frequencies it work!
--- End quote ---
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.
--- End quote ---
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
--- End quote ---
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.
Mechatrommer:
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.
marmad:
--- Quote ---i've made testing to both "modified" onlooker and marmad report in attached zip file, 2 csv 1 code.txt file.
--- End quote ---
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.
Mechatrommer:
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
onlooker:
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.
--- End quote ---
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?
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version