Generate a new channel based on data from other channels

Please refer to the post below for a more comprehensive description.

I’m recording the PWM signal sent to a stepper motor controller.

In this implementation, PWM duty cycle remains stable at ~50% but frequency changes from 127 to 500 Hz. Channel 0 captures steps and Channel 1 the direction.

I would like to display the frequency in an additional channel, for example as an analog measure just below. How to perform that?

Below is a mock-up with Frequency (Hz) corresponding to Channel 0.

I’ve recorded the trace: Session 0 - PWM.sal (28.4 KB)

Similar question if frequency remains constant but duty cycle changes.

Thank you!


I would absolutely love to see this type of capability too. An analog-ish ‘psudo-waveform’ showing RC-servo angles over time, for example. Or PWM duty cycle corresponding to motor power, etc. etc. Super super useful.

1 Like

I’ve created the idea Turn PWM metrics into additional channel.

Please click the upvote button!


There are other ideas on there. One of which I made. The general idea is that it’d be nice if one could take data from one or more existing channels and turn that into data for a generated channel. Most of us wanted to go the other way from what you want. As in, maybe take an analog signal and turn it into a digital signal with hysteresis. But, I think the general idea is still the same - take data from one place, transform it, place it in a new channel. So, my recommendation would be for Saleae to make a generic interface for data transforming that allows people to generate new channel data.


@Collin Yes, you are right. I like the idea of a broader implementation.

So I’ve changed the title of the thread from Turn PWM metrics into additional channel to Generate a new channel based on data from other channels.

I hope the new title reflects the general idea better.

the opening post just provided an example based on a real case. I went through the list of ideas but didn’t find a suitable entry so I added mine.

@joe_garrison @markgarrison @rani This means the Logic software would have now three kinds of channels:

  • logic, the historic foundation of Saleae,
  • analog, introduced with the + series of analysers,
  • virtual or calculated —whatever catchy name for marketing!—, based on data from other existing channels, to prepare the future.

I would like to see simple math formula for each point would be nice first step.

e.g. I am measuring a voltage with a 2:1 divider, so I would like to multiply all signals on that analog channel by 2.

Other uses are report current from a voltage that is a drop across a resistor. (using a current sense amplifier). I = V_in / G_amp / R_sense

i.e. Basic math operations on the channels from the scope.

1 Like

See and on the ideas board. Lots of people are looking for this!

Thanks @rei_vilo for getting those idea posts up, and for linking this discussion.

@P.Jaquiery I agree. This is actually one of the more requested features since Logic 1.x. I’m sure that even getting basic math added in as a starting point would be very helpful. I added this discussion thread to those idea posts as well.

I’ll ping the software team about this.