General > General Technical Chat

Review: Hantek DDS 3X25. Anyone own one?

<< < (94/108) > >>

torch:
Sorry for the delay. PM sent.

Mechatrommer:
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.

torch:

--- 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.
--- End quote ---


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!

torch:
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):



It only has one NPN transistor so it actually only produces a half-wave:



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:



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:



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. 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






Mechatrommer:
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.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

There was an error while thanking
Thanking...
Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod