1
\$\begingroup\$

I don't have any training but am doing some hobby electronics. I would like to record a change in voltage over time, sampled at around 100+ kHz. Ideally, I'd like to record around 20-30 min of two different channels, so I guess that works out to be at least 240 million samples. I'd like to view this recording on my Windows computer similar to a stereo .wav PCM waveform. (In fact, if I could save it as a .wav file, that'd be ideal.)

I considered simply using a sound card to make this recording, but this seems to not be possible with a DC signal.

Is this something that a digital oscilloscope can do? Or is there a tool designed for this specific task of recording to a file, similar to the line-in on a sound card? Converting to digital and streaming over USB to record on a PC seems to be what I'm ideally looking to do.

Edit: Giving some context as requested... This is for a latency test. I am wanting to record a variable latency of a video game system plus an HDMI adapter. Using a photodiode I can create a voltage stream that will show when the result appears on screen and compare it to when a button was pressed. (Hence why two channels are needed.)

Thanks!

\$\endgroup\$
  • 1
    \$\begingroup\$ If you edit your question to give some context to the problem you may get some better answers. The signal is DC but you are expecting up to 50 kHz perturbations on it? \$\endgroup\$ – Transistor Sep 15 '18 at 15:13
  • 1
    \$\begingroup\$ I once had a sound card with DC response to mic input with bias nulled. THen you can use Audacity. But why dont you just test your supply for output impedance and load regulation? \$\endgroup\$ – Tony Stewart Sunnyskyguy EE75 Sep 15 '18 at 15:40
  • \$\begingroup\$ You need a better specification: 1) What resolution do you need? 2)What DC voltage level and range? 3) Do you want two channels @100kHz or 100kHz between the two channels (50kHz per channel)? \$\endgroup\$ – Jack Creasey Sep 15 '18 at 15:53
  • \$\begingroup\$ (edited to add a brief description of what I'm doing this for.) \$\endgroup\$ – Allen Pestaluky Sep 15 '18 at 17:11
  • 1
    \$\begingroup\$ The signals you’re interested in are digital, and all you care about is the time between them. You don’t need continuous recording of deep sample data. You need a digital clock/counter circuit that starts when the button is pressed and stops when the photodetector gets lit. \$\endgroup\$ – Russell Borogove Sep 15 '18 at 17:33
2
\$\begingroup\$

This is what bench meters are great for. A number of them can sample well into the 100's of kilosample/second. The problem is that these can be expensive (for a hobby).

Digital oscilloscopes cannot do this. They take snapshots, based on the trigger. Usually, inside, the ADC is constantly writing to a buffer, that has a certain length. When a trigger even occurs, this buffer is then stored and processed. Once that happens, the ADC starts writing to the buffer again and the process starts from the front. As a result, a scope will not be able to measure everything. Some get very close though.

However - some oscilloscopes might be able to capture the entire thing you ask for in their buffer, at low sampling speeds. However, they are not going to be cheap.

I do believe there are modules from National Instruments and others that can do this, but these will be very expensive, and require a PXI chassis, which again is very expensive.

UPDATE: As first pointed out by Marcus Müller, and confirmed by Matt, apparently some Picoscopes do support continuous sampling, which would make them a suited for the application of a 100 kS/s continuous sampling digitized (I am aware that the scope of the question has changed since posting this answer, but I am keeping it here for people in the future who might indeed require continuous sampling)

\$\endgroup\$
  • 1
    \$\begingroup\$ There's things like picoscope, which is relatively affordable, and of course the whole class of Software Defined Radio peripherals that support continuous high-rate sampling. \$\endgroup\$ – Marcus Müller Sep 15 '18 at 15:22
  • \$\begingroup\$ Do picoscopes support continuous sampling? I thought they too just had a trigger-based architecture \$\endgroup\$ – Joren Vaes Sep 15 '18 at 15:23
  • \$\begingroup\$ I thought they did, but now that you say, not so sure anymore. \$\endgroup\$ – Marcus Müller Sep 15 '18 at 15:23
  • 1
    \$\begingroup\$ I dont know about all, but at least some picoscopes support continuous sampling. The 5000 series, for example, supports continuous sampling at up to 31.25 MS/s \$\endgroup\$ – Matt Sep 15 '18 at 23:30
  • \$\begingroup\$ @Matt thanks for that! I will add it to my answer (even though the scope has changed slighty with adjustments to the original question, this might be useful for other people). Perhaps I should invest in a PicoScope at some point... \$\endgroup\$ – Joren Vaes Sep 16 '18 at 5:04
3
\$\begingroup\$

This is called data logging. Your application is a bit out of the ordinary only because of the large data files generated. Measurement Computing will sell you a 12-bit, 500 kHz digitizer for under 100 bucks, and the free software wil theoretically do what you need. However, the data sheet for the software warns that files over 1 M "may suffer performance issues". Other software packages are available, and I'm sure one of them will do the job.

\$\endgroup\$
3
\$\begingroup\$

Using a photodiode I can create a voltage stream that will show when the result appears on screen and compare it to when a button was pressed. (Hence why two channels are needed.)

You can use an unmodified soundcard if you make your signal AC.

I presume you will have the device output a voltage pulse or step on a port, and at the same time change the brightness of an area on screen. Then you detect the change in brightness on screen with a photodiode, and you are interested in measuring the latency between the two events, correct?

You're only interested in detecting the edges. You don't care about the flat parts of the waveform which would be preserved by a DC acquisition, so in fact your signal's information content is not diminished by acquiring it in AC. So all you have to do is adapt the detection software to detect positive and negative going peaks... that's all...

Another option is to use a microcontroller with a USB or serial link, and have the micro do the latency measurement. This simple to do with two comparators (one for each signal) with proper analog thresholds... by the way you'll probably want to AC couple the input in order to only detect changes in brightness and voltage. Feed the comparators' outputs to the micro's Timer Capture inputs, configure the peripheral, and you're set. Write an interrupt handler to grab the timer values and output a latency measurement to the PC over USB/Serial.

Note that you can use a digital scope and set it to measure the delay between two edges. If your scope is too dumb to do this, use two comparators and combine the outputs into one signal, maybe with a XOR gate, and set the scope to measure the length of the resulting pulse, which is your latency. Then you will either have to read the value on screen, or convince the scope to forward it to a PC over Ethernet or USB.

\$\endgroup\$
  • 1
    \$\begingroup\$ This is the best answer so far (and after the OP clarified that s/he's just measuring the time between two events). There is no need for continuous recording. Just trigger on the first event and measure the time taken until the response is detected. \$\endgroup\$ – Transistor Sep 15 '18 at 21:17
1
\$\begingroup\$

This sounds a lot like the requirement for the baseband part of software defined radios!

Disclaimer: I'm slightly affiliated with them, but Ettus does sell the USRP series of devices, and that has the job of sampling analog signals at multiple (to hundreds) of Megasamples/s and transport the resulting digital signal to a PC using USB, Gigabit or 10Gig Ethernet, or PCIe.

But even a ~USD 10 rtl-sdr TV dongle can be put into a direct sampling mode, which might, if you can live with only about 2 MS/s and 8 bit samples, be used in the manner you describe.

\$\endgroup\$
  • \$\begingroup\$ Hmm, I suspect something like the RTL-SDR only has one channel recording, if I understand correctly. This would mean I would need something more expensive like the USRP series if I went down the route of SDR(?) \$\endgroup\$ – Allen Pestaluky Sep 15 '18 at 17:24
0
\$\begingroup\$

Do it with the sound card, the DC level will not be recorded, but the edges will, (when the level goes up or down) and those are where all the information is!

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.