P. Fiery

  • Content Count

  • Joined

  • Last visited

Everything posted by P. Fiery

  1. Pajda, I implemented isolation a few months ago and have had instant and durable operation at the highest speed the AD2 is capable of by using this device: https://hifimediy.com/product/hifime-high-speed-usb-isolator/ I haven't stressed it by using it to measure across any particularly challenging reference frame differences like a circuit referenced to a high voltage or for example the high side AC line, but it does work reliably and at high speed, (not just full speed) and does provide the ground noise isolation I need in my work. I have no connection to this company other than ha
  2. The AD2 specs and overall circuit performance is excellent. A mathematically perfect 14 bit A/D would have exactly identical bit steps and a flat noise floor. Delta sigma converters do have effectively identical bit steps, but currently they top out at about 10 MSPS. The AD9648 appears to be a clever "successively approximating flash converter" running at 100 MSPS. It specs no missing codes, which implies it is monotonic but like all such converters, the actual size of each LSB step is not guaranteed to be the same. This means for example that a given LSB can represent a change of say 100 uV
  3. Attila, yes I see what you mean. The piecewise corner artifacts of an AWG, (or any other DAC for that matter), generate harmonics that are somewhat similar as a spectrum signature as a Fourier glitch produces, and of greater amplitude it seems. I didn't think about the source of the sine wave when I gave my advice. (Which, Kkubik, is not wrong advice, but in this case it's not the main cause of what you see in the spectrum.) For audio work, it's hard to beat this ancient circuit realized with an excellent opamp: (From Analog Devices LT1037 overview) This probably won't have any hi
  4. I can offer one possible reason for what you are seeing: The test signal is one cycle of a 1 KHz sine wave. For the spectrum analyser to "see" this as presented on the scope display, the entire waveform must fit exactly within the data record input to the spectrum analyser. However, the spectrum analyser record length, (number of samples), is probably of a length that does not contain only the entire waveform and no part of the wave before or after. This means that the actual waveform you are doing an FFT upon is a whole sine wave + some segment of either the next or the preceding sine wav
  5. This latest beta, (and the previous), have been very good. I have no complaints, and no "must have" additional requests. The ability to control the FFT window instance is welcome, thank you.. There is still a bug though that manifests on my Windows 7 desktop system: When exiting the waveform application in any of the usual ways of closing an app, the script window closes right away. The plot child windows of the script don't close properly, nor does the main Waveforms window. This happens whether I choose to save the project on exit or not. The windows hang, the cursor hourglasses, and t
  6. In analyzing the signal pictured below, I want to ignore the first few cycles and focus on the remaining cycles. I'm using the AD2 scope and Waveforms with the scope input set to 500mV/div where the effective resolution is still on the high setting. The signal amplitude is adjusted externally to fit the cycles of interest within +/- 2.5 volts to get the full benefit of 14 bit resolution, but this means the initial cycles are clipped and distorted by the AD2 input circuit and the extremes of the A/D range. It seems the inputs are well behaved with very fast recovery, and in readin
  7. I think you'll find the AD2 manual answers your questions very thoroughly. Scroll down into the details of the scope input gain staging, etc. https://reference.digilentinc.com/reference/instrumentation/analog-discovery-2/reference-manual?s[]=schematic&s[]=analog&s[]=discovery&s[]=2
  8. Attila, this seems fine so far and thank you for this great work. The "all files" button in the search bar executes a "replace all" across all open script files. I discovered this when I had the letter "i" as the Find argument and nothing as the Replace argument. Clicking 'All Files' deleted all instances of the letter "i" in both my script files. Logical, but yikes. Perhaps both "Replace All" and "All Files" should include a "Confirm?" interaction? Nothing seems to be broken in this latest rev. I'll be using this every day for the next while. Thanks again!
  9. Attila, thanks again, this is just great. I'm sure everyone using script will welcome these features. I've used most of these new features for a few hours now. Within the Waveforms app itself everything seems to be fine, but saving and exiting exhibit the following misbehavior: The waveforms app crashes during exiting. I didn't check closely enough to see if it saves the project before crashing. The previous "save project" and "save .js" functionality works correctly. However, the new "save all" item does the following: It asks for a folder, and writes to this folder my two
  10. Attila, thank you, this works. And thanks for pointing out the script hints in the status bar; all this time and I didn't notice them. Two additional things would make this coding environment sufficiently "complete" IMO: Within the script editor, please give us a hot key to sequence between different script tabs. CTRL+TAB would be consistent across the app. OR: If possible, provide separate simultaneous instances of the script editor so one can view and edit all script files at once. Of course, a search and replace would be great to have. It's the one editor funct
  11. Attila you may already be aware of all the following, but in the hope of being helpful I offer a bug report on this beta release: The overall waveforms project file fails to store the window position of the script. Not sure this is so if the script is docked, but definitely when it is not docked. Minor issue. If the user has renamed script File 1 and File 2, the overall waveforms project file fails to store these new names. In general, the file save command within the script window functions like a file export. It seems that once the script is saved this way, no further refe
  12. Thank you Attila, this will probably be an effective work around. I very much appreciate your support here. Coming to javascript from C, I have gleaned a great deal from the answers you have given to others' questions. The AD2 is really a fine and powerful tool and the scripting makes it open-ended and even more useful. I have an expensive Tektronix scope on my bench but the only reason to ever turn it on is if I need 1G sampling. An "AD3" could obviate it entirely. The AD2 with scripting is probably saving me about 6 months of time relative to how I was going to handle my cu
  13. From within a script, how do I perform the equivalent of checking the View-FFT item to display and activate the FFT? I want to turn on the FFT, perform an acquisition, access the FFT mag and freq array data, and then turn off the FFT for subsequent acquisitions. The reason for turning it off after the first acquisition is that I'm doing a large series of sequential acquisitions and keeping the FFT function active takes an extra few milliseconds per acquisition, which adds up and slows down my application appreciably. I've used the completion feature, which looks very helpful, exce
  14. Thank you, this is clarifying regarding jitter. The glitch: [ Some time later... Yes, I see that setting "idle output" to "offset" repairs the behavior I've reported here. However, I'll leave this comment here with your permission as it may help someone just discovering the inner workings of the AD2, as I am. One really does need to know these non-obvious things to make proper use of the Wavegen module. ] I am using the Analog Discovery 2. The glitch seems due to the offset value not being maintained across the entire loop of the waveform buffer. You will not see this problem wi
  15. Hello, There is a pulse width jitter caused by some kind of aliasing between various unsynchronized events. My screen capture grabs only one frame of video, but you can see it in the red persistence trace, and I can see it on my Tek scope. I discovered this while running one of the script examples, and then confirmed that it exists in all the pulse modes of the Wavegen except as follows: It is here with these "simple" settings: It is here with these "basic" settings: For my buffer setting and 1% at 5KHz the pulse width here varies from 1.870 us to 1.98 us. It sh
  16. Can you point me to some examples of scripts beyond what is available under the "examples" tab? Well-commented scripts would be especially helpful.
  17. Thank you very much. Great stuff, so many ways to do things with this tool. I think the logger is limited to a top sample rate of 1 MHz. My signal is ~ 2MHz, and I need to get some sub-nyquist detail so the results aren't mathematical fiction. But I get the idea. It looks like I can do the job entirely with scripting - except perhaps for the very last step. So, last 2 questions before I dive in: 1) the oversampling feature of the scope: Oversampling can mean different things. It should mean that when the sample rate is lower than the maximum sample rate several samples are taken in r
  18. Hi Attila, Well I'm relieved to know I wasn't just confused. I have version 3.7.5 64 bit. I see the current version is 3.10.9. I'll install this. On a wider subject but still about the AD2: It's just right to form the hardware and software base upon which to construct a demonstration of a novel device for a client. The application consists of the following steps: 0) Generate a particular pulse signal using Wavegen, and synchronized with the completion of this pulse, do the following: 1) acquire a full buffer, (16K) of 14 bit samples. (sample rate about 15 MHz). 2) read t
  19. Hello, I just signed up, so first let me say hello. I've been using the Analog Discovery 2 for a while now and I must say, this is one of the best values available in its category. I seldom power up my Tektronix now. I turn to that only when I need more than two analog channels and/or faster sampling and higher bandwidth. What a great product! Okay, now to the question: I want to create a custom math channel that will climb a waveform looking for the highest sample value, (the peak). The output of this should hold each highest value encountered in C1 until a higher value is encoun