Capture short events over a long time

I’m trying to capture relatively few, short events spread across 7 channels which occur intermittently over a period of ~20minutes.

The signals are analog, both positive and negative pulses must be recorded and time stamped. I don’t care about any of the intervening data that don’t meet the pulse criteria.

I need to end up with a capture of all events on all channels, each timestamped. Bare minimum is just a sequential log of the events and their timestamps, I don’t even need the analog measurement data itself.

Could someone point me in the right direction to try and make this happen with my Logic 8 Pro?

Hi @devyn.farr

Unfortunately, the trigger settings are for digital channels only, as per the Capture Modes support page. Thus, it would help to know more about the event conditions to try to get what you want:

  • What is the ‘pulse criteria’ you are looking for?
  • What minimum resolution of analog capture do you need?
    (the lower, the better)
  • How much RAM do you have on the host PC?
  • Do the events always occur within a 20 min timeframe?

The ‘easiest’ (if possible) might be to try this:

  • Configure ONLY the 7 channels of interest
    (disable all other analog/all digital channels)
  • Set sample rate to minimum needed to see desired pulses
    (You might benefit from tweaking calibration file with user provided python script, but script would need to be hand modified for your channels and a Logic 8 Pro)
  • Just capture everything for 20 minutes and stop/save the capture
  • Export the all the analog data and analyze with an external tool/script

Unfortunately, the existing support for analog data is quite limited as far as triggering, searching, and/or automating – you cannot access the analog data from low-level analyzer API, and the high-level analyzer API for analog is more for custom ‘measurements’ that are inserted on a per channel basis after a capture has ended.

In the end, a Saleae Logic is mostly for ‘Logic’ (i.e., digital waveform capture, decode, and analysis), and allows capturing analog data as a ‘bonus feature’ typically for use with logic analysis … it is NOT an analog oscilloscope and it doesn’t support as many analog intensive features as are available with analog oscilloscopes. Then again, analog oscilloscopes with digital channels (mixed signal oscilloscopes or MSOs) aren’t as capable at digital logic analysis as a Saleae Logic.

However, it might still work – depending on the details of what you’re trying to capture in analog :wink:

That did the trick.

I reduced the sample rate as far as I could (250S/s) while still resolving the analog pulses well enough to interpret the data. Only captured 7 analog channels. Captured for 20minutes straight. Lots of zooming in and out during analysis.

I didn’t need a lot of resolution. My signals were analog but they were really only being interpreted as digital pulses so I could get away with a very low sample rate. I had to use the analog analyzer only because the signals were bipolar (both positive and negative).

Thank you.

2 Likes

If you need to do this a lot you might think about building a hardware comparitor. The pulses can be combined across your 7 channels into a single trigger line.

One way to do that fairly quickly would be to use a suitable Arduino with 8 ADC inputs and a suitable resistor network for each input to get your analog signal into the right range. Some simple code to poll each input and a threshold test would allow a trigger output to be generated. Set up the logic analyzer to record the seven analog signals and the trigger signal so that you can then skip quickly between pulses during analysis.