Technical Forum Moderator
  • Content Count

  • Joined

  • Last visited

  • Days Won


attila last won the day on April 12

attila had the most liked content!

About attila

  • Rank
    Prolific Poster

Profile Information

  • Gender
    Not Telling

Recent Profile Visitors

5428 profile views
  1. Hi @KevL The Scope inputs are differential but not floating. A common ground connection between the analyzed circuit and device is needed. Without such the measurements can be wrong or the device and the circuit can be damaged. Connecting a floating battery is fine, since this gents balanced through the 1M scope input impedance. To test if the scope/awg is working you should connect the Scope 1+ (orange) to AWG W1 and Scope 1- (orange/white) to GNG (black) wire, generate and capture some signal.
  2. Hi @DurandA Please disable the data compression to prevent this issue, to make sure the last digital samples are recorded at such low rate.
  3. Hi @DurandA The digital channels can't be accessed from the Logger tool, but you could perform a recording in the Scope with low rate like this: From Script you can access the StaticIO readings or captured data in Logic or Scope like this:
  4. Szia @Andras At the moment you have WAV RIFF WAVE export under Scope/View/Logging/Script/Example.
  5. Hi @Frenchpark43 It should work, it is working for me on Ubuntu 18.04 amd64 You could try install with: sudo dpkg -i --force-depends digilent.waveforms_3.9.1_amd64.deb
  6. Hi @PeterFromSwe The Protocol /I2C accepts only 7bit address.
  7. Hi @Phil_D In WF v3.11.4 you can also call: Spectrum.Export("~/Desktop/data.csv", "Trace 6")
  8. Hi @Rick314 This and the observations in the other post are fixed in WF beta v3.11.4:
  9. Hi @PeterFromSwe The I2C address may be referred as 7 or 8 bit value, like 7 bit value of 0x78 is equal in 8 bit form to 0xF0. You can select the representation you prefer in the I2C options:
  10. Hi @Rick314 In v3.9.1 the Input was measuring Scope1/2 Later this was changed to show DUT/Resistor to be regardless of the used circuit model. The difference in (Rs,Gp,Q,D) measurements due to different Scope input gains. In 3.9 it was called Auto now it is renamed to Amplitude/Offset and it is not loaded from the workspace correctly. Please change under Options drop-down the Channel 1/2 Range to Amplitude. You should enable the warnings. Note thate the reference resistor value is not suitable for such capacitance and low frequency measurement. The impedance of DUT/Resistor is above 100dB, leading to inaccurate measurements. WF v3.11.4 WF v3.9.1
  11. Hi @Rick314 The top/bottom values are not loaded because of the dBV to dBṼ modification. The next version will accept V for Ṽ, A for Ã, and it will load old projects correctly like these dBV values. I hope there are not too many incompatibilities. If there are any noticed I will try to fix it. The application is in continuous development, features are added and modified based on feedbacks, like your valuable observations.
  12. Hi @Phil_D You can export the BINs under Trace options or by script with: FileWrite("~/Desktop/data.txt", Spectrum.Trace6.magnitude)
  13. Hi @Phil_D Sure, it makes more sense to apply the window only on the real data section. const NAVG = 10 const NPAD = 2 Spectrum.Trace5.Window.text = "Rectangular" // disable windowing var win = [] var sum = [] for(var acq = 1; acq <= NAVG && Spectrum.wait(); acq++){ var hz = Spectrum.Channel1.dataRate // WF v3.11.2 { // padding in Trace 5 var rg = // channel 1 time domain data var c = rg.length if(acq==1){ // create window var w = 0 for(var i = 0; i < c; i++) { var v = pow(sin(PI*i/(c-1)), 2.0) // Hann w += v win.push(v) } w /= c*NPAD for(var i = 0; i < c; i++) { // normalize win[i] /= w } } for(var i = 0; i < c; i++) rg[i] = win[i]*rg[i] // apply window for(var i = 0; i < c*(NPAD-1); i++) rg.push(0) // padding Spectrum.Trace5.setSamples(rg, hz) } { // averaging in Trace 6 var rg = Spectrum.Trace5.magnitude if(acq==1){ sum = rg; Spectrum.Trace6.Clone(Spectrum.Trace5) }else{ rg.forEach(function(v,i){ sum[i] += v;}) // sum sum.forEach(function(v,i){ rg[i] = v/acq;}) // average Spectrum.Trace6.setMagnitude(rg, 0, hz/2) } } } Spectrum.stop() Here you can see that CZT produces the same result as the padding: The noise floor difference is due to different captures. The FFT works on power of two + 1 BINs, with CZT you can specify arbitrary number of BINs, setting fine resolution:
  14. HI @Sandrine In Sync mode the trigger is not available. The I2S interpreter needs to see the transitions on the clock signal, so if you use Sync mode select Edge option (sample on both edges) for Clock signal. Repeated captures for the Logic Analyzer can be done from Script tool like this: for(var c = 0; c < 10 && wait(); c++){ print(c) Logic.wait() }
  15. Hi @ramestica Yes, you can also define clock for the bus interpreter.