-
Posts
6,956 -
Joined
-
Last visited
Content Type
Profiles
Forums
Events
Gallery
Everything posted by attila
-
Digital Discovery device recognition in Waveforms issue MacOS
attila replied to mjc43's question in Test and Measurement
-
Digital Discovery device recognition in Waveforms issue MacOS
attila replied to mjc43's question in Test and Measurement
Hi @mjc43 I suppose the "Device Fix" lists the device under MacOS If the Windows is running under Virtual Machine, make sure the USB device is attached to this. See if the device is listed in Windows Device Manager as "USB Serial Converter" or "Digilent ..." if it was programmed with Vendor: Digilent Make sure VCP is not checked and verify the driver version. The device could be blocked by other applications, like some FTDI based JTAG/SPI/UART applications. -
Waveforms "Shift" mode behaviour v19.5 vs later
attila replied to Jayce's question in Test and Measurement
-
Analog Discovery 3 Statement of Volatility
attila replied to andym's question in Test and Measurement
Hi @andym The device does not contain prom, but only a small eeprom to store usb ids, sn, name and calibration parameters. SOV is at the bottom of page, in additional resources. https://digilent.com/reference/test-and-measurement/analog-discovery-3/start -
WaveForms SDK creating offset after amplification with NodeAmplitudeSet
attila replied to Jakob's question in Test and Measurement
Hi @Jakob Try using different BNC cable. The calibration should stay stable, even the factory calibration should be pretty accurate. Such shifts indicate contact issue, likely the GND connection, the BNC shield has contact problem. I also have some such bad quality cables. The adapter has 50R jumpers for AWG output, which should be used when the receiver has 50R termination. Also note the AD gnd is connected to computer gnd, which could cause ground loop in certain setups. -
Adjusting phase in a string of otherwise identical RF pulses
attila replied to Steve_3's question in Test and Measurement
FDwfAnalogOutNodePhaseSet sets the initial phase of the standard waveform For PM waveform use FDwfAnalogOutNodeEnableSet(hdwf, 0, AnalogOutNodeFM, 2) # 2=PM amplitude and offset expressed in %, 3=PMD in *deg -
Adjusting phase in a string of otherwise identical RF pulses
attila replied to Steve_3's question in Test and Measurement
You could use AM to block the signal in middle and FM to adjust phase. Note the carrier may not start from 0* at +3ms since it is running from start, it just has 0V amplitude while 100% AM blocks it. -
Adjusting phase in a string of otherwise identical RF pulses
attila replied to Steve_3's question in Test and Measurement
Hi @Steve_3 Is the burst length 1ms and trigger rate 3ms 333Hz ? Do you want a Scope input capture for each burst as well ? Asking these because reading the capture will take additional time, about 1-10ms depending on capture size, and can influence the AWG phase change rate. -
WaveForms SDK creating offset after amplification with NodeAmplitudeSet
attila replied to Jakob's question in Test and Measurement
Hi @Jakob The AWG has two gain steps which are calibrated separately for each channel. Above 1V amplitude setting high range is used. -
Hi @diligent1 Could you sketch the signals ?
-
Adjust Digital IO system frequency in Python API
attila replied to HarissonJones's question in Test and Measurement
- 31 replies
-
- digital discovery
- python
-
(and 1 more)
Tagged with:
-
Adjusting phase in a string of otherwise identical RF pulses
attila replied to Steve_3's question in Test and Measurement
Hi @Steve_3 You could programmatically adjust the phase, see AnalogOut_Phase.py or use phase modulation FDwfAnalogOutNodeEnableSet(hdwf, ChNum, AnalogOutNodeFM, 2) -
Can the AD3 be power-cycled or restarted over USB?
attila replied to idegani's question in Test and Measurement
Hi @idegani Could you add some screenshots? What is the device temperature when this happens? Adjusting the device frequency, phase or the clock mode should reconfigure the device clocking ICs FDwfDeviceParamSet(hdwf, DwfParamFrequency, 90000000) 90MHz FDwfDeviceParamSet(hdwf, DwfParamFrequency, 100000000) 100MHz To reconfigure most of the device ICs on open, make sure the on-close global option is 0 (shutdown) FDwfParamSet(DwfParamOnClose, 0) FDwfDeviceClose... FDwfDeviceOpen... -
-
-
Hi @TanTAH White noise in Network Analyzer makes no sense in my readings. Please provide more details about your project, documentation of the measurement to be performed...
-
Pattern Generator - Digital Discovery
attila replied to kevin vannorsdel's question in Test and Measurement
Hi @kevin vannorsdel Currently, for every device the divider is 31 and counter 15bit, FDwfDigitalOutDividerInfo FDwfDigitalOutCounterInfo -
Question about SPI on Analog Discovery 2 with Waveforms GUI and Python
attila replied to rafa_uy's question in Test and Measurement
Hi @rafa_uy 1. only sequentially 2. In this example, with sync streaming mode, one sample (state of DIO15:0) is stored for each CLK or CS rising edge. The following code then packs the MOSI/MISO bits into 8 bit values determined by the CS level. It is working as fast as it can, resampling from the 100MHz system clock. The data streaming over USB limits average rate to a few M samples / sec. -
Hi @StefKay Use custom sine instead of funcSine, like: cSamples = 32*1024 rgdSamples = (c_double*cSamples)() channel = c_int(0) # samples between -1 and +1 for i in range(cSamples): rgdSamples[i] = numpy.sin(2.0*numpy.pi*i/cSamples); dwf.FDwfAnalogOutFunctionSet(hdwf, 0, funcCustom) dwf.FDwfAnalogOutDataSet(hdwf, 0, rgdSamples, c_int(cSamples)) For newer (AD3,ADP2230,ADP3X50) devices to have more precise arbitrary frequency for the standard functions the waveform length is adapted. This has this glitch side effect on frequency adjustment, but custom waveforms should be stable. I'll try to improve this somehow in the future...
-
-
Hi @plswelcomeroh i2s.dwf3work With Digital Discovery and ADP3X50 you can generate wide range of frequencies, and with AD3 and ADP2230 the frequency option resolution is lower, closest to 12.288M is 12.305MHz but 0.14% difference is probably acceptable.
-
Hi @plswelcomeroh See the following: For more samples use configuration with deeper Pattern device buffer. I2S rate will be frequency / 2 / bits_per_channel const cbit = Patterns.Channels.DIO2.Samples.value; const bps = 16; const csample = cbit/bps/2; var rgsel = [], rgdat = []; print('bits:',cbit,' samples:',csample); for(var j = 0; j < csample; j++){ var v1 = round((1.0+sin(2.0*PI*j/csample))/2*(pow(2,16)-1)); for(var i = bps-1; i >= 0; i--) rgdat.push((v1>>i)&1); // left for(var i = bps-1; i >= 0; i--) rgdat.push((v1>>i)&1); // right for(var i = 0; i < 2*bps; i++) rgsel.push(((i+1)%(2*bps))<bps?1:0); } Patterns.Channels.DIO2.custom = rgdat; Patterns.Channels.DIO0.custom = rgsel;
-
Pattern Generator - Digital Discovery
attila replied to kevin vannorsdel's question in Test and Measurement
Hi @kevin vannorsdel It counts down, after reaching zero it loads the specified divider value. -
Hi @TanTAH It is not possible. The Network Analyzer generates sine wave sweep, or it requires external or custom sine sweep. I don't understand what you could do with white noise in NA. This is more related to Spectrum Analyzer.