Envelope mode

Post general discussions on using our drivers to write your own software here
Post Reply
Mmm22
User
User
Posts: 2
Joined: Mon Jun 15, 2020 9:21 am

Envelope mode

Post by Mmm22 »

Is it possible to acquire data with 2207B in envelope mode? I understand that can be done with postprocessing of the data, but that would require downloading all the data to computer which results in significant slowdown. E.g., with Tektronix it is possible to download only the final envelope waveform.

Gerry
PICO STAFF
PICO STAFF
Posts: 1145
Joined: Mon Aug 11, 2014 11:14 am

Re: Envelope mode

Post by Gerry »

Hi Mmm22,

Yes it is. We can do this with Math Channels which just compute the min and max as individual waveforms.
Envelope mode with Math Channels.png
Envelope Mode with Math Channels.psdata
(1.27 MiB) Downloaded 460 times

Regards,

Gerry
Gerry
Technical Specialist

Mmm22
User
User
Posts: 2
Joined: Mon Jun 15, 2020 9:21 am

Re: Envelope mode

Post by Mmm22 »

Gerry wrote:
Tue Jul 28, 2020 7:17 pm
Hi Mmm22,

Yes it is. We can do this with Math Channels which just compute the min and max as individual waveforms.

Envelope mode with Math Channels.png
Envelope Mode with Math Channels.psdata


Regards,

Gerry
Is it possible with SDK? There is an option for aggregate downsampling, but it uses the data of one waveform only rather than the minimums and maximums of all the waveforms in the block.

Gerry
PICO STAFF
PICO STAFF
Posts: 1145
Joined: Mon Aug 11, 2014 11:14 am

Re: Envelope mode

Post by Gerry »

Hi Mmm22,

There's no predefined function, you would have to write your own function to do that. However, this would be fairly easy to do, i.e. just indexing across your predefined buffers for multiple waveform collection, and finding maximum and minimum values for each location (you could even restrict the number of buffers you use by just re-cycling through a minimum number of them, until you have collected enough data to give you a smooth or stable envelope).

Regards,

Gerry
Gerry
Technical Specialist

Mmm22
User
User
Posts: 2
Joined: Mon Jun 15, 2020 9:21 am

Re: Envelope mode

Post by Mmm22 »

Hi Gerry,
The reason I want to use envelope mode is to reduce the data download time, but that is only possible if the data is processed in the hardware (as it is done in e.g. Tektronix scopes). I suppose it should be fairly easy to do in the FPGA, so I think it is a good feature to add if it is absent now.

Gerry
PICO STAFF
PICO STAFF
Posts: 1145
Joined: Mon Aug 11, 2014 11:14 am

Re: Envelope mode

Post by Gerry »

Hi Mmm22,

It's interesting that people often just assume that, this sort of thing is easy to do. So, without going into too much detail, let me just explain why this might not be the case.

In actual fact, there is currently no averaging across waveform buffers implemented in hardware. The Buffer Averaging functions are Maths channels in PicoScope 6, and the Spectrum Averaging is DSP post processing in PicoScope 6. So, the hardware/firmware would need new Maths functions, applicable across a variable number of buffers, in already densely packed resources (for a number of models/families).

So, while the implementation in a new design may be fairly easy to do, doing so in a highly optimized existing design without having to resort to redesigning the board with a larger FPGA, because of lack of resources (which would increase the cost of the product) is quite often not so easy to do.

Also, bear in mind that you pay considerably more for Tektronix Scopes, so you would expect them to have more functionality.

Having said that, we always welcome suggestions for improvement of our products from customers, and our aim is to deliver products that meet the most popular requirements for typical customer applications. So, I will create an enhancement request based upon your suggestion. However, I'm sure that you can now appreciate that whether or not this will be implemented will depend upon the perceived need for the feature, along with the feasibility of implementing it, alongside the other functionality, of current and future designs.

Regards,

Gerry
Gerry
Technical Specialist

Mmm22
User
User
Posts: 2
Joined: Mon Jun 15, 2020 9:21 am

Re: Envelope mode

Post by Mmm22 »

Hi Gerry,
thanks for the thorough reply.
I understand that Tek scopes cost considerably more, but I am talking about a 10-year old not top of the line model; so I would still assume that currently implementing the downsampling functions in the FPGA should not be too difficult or expensive.
Anyway, I wonder how I can decrease the download time with the current state of things. I am interested in peaks only; actually, not even their amplitudes but only the times relative to the trigger. Also, I am triggering with the 2nd channel but it is used only as a source of trigger, I don't need to download the waveform.
I would be grateful if you could suggest some ways to speed up the data acquisition using SDK (I need to collect some tens of MSa/s of raw data).

Gerry
PICO STAFF
PICO STAFF
Posts: 1145
Joined: Mon Aug 11, 2014 11:14 am

Re: Envelope mode

Post by Gerry »

Hi Mmm22,

Once again, the issue is NOT how difficult the change would be. In my last email I was trying to explain that even what appears to be a small change could turn out to be a change that is still too large. If that change means adding in a new section of logic then it can be a problem. In FPGA's you can only fill them up to a certain percentage with logic functions before it becomes impossible to get them to meet their timing constraints (so the logic would then start to malfunction). So, in this case, the only solution would be to use an FPGA with more Logic, which would also mean redesigning the board, retesting the product (just CE testing, including emissions, etc. is expensive). So, in this scenario, it WOULD be more expensive.

Now, I'm not saying that this will necessarily be the case, in this instance, I'm just trying to make sure that you're expectations are not unrealistic, especially as you are under the impression that because the feature is in a Tektronix scope it should be in our scope, which is not a valid comparison to make (even if the scope is older). Like other manufacturers, we have a very high wish list of features, which is inevitably way more than can be implemented in our products. So, we have to choose, and some just won't make it into the products, just as I'm sure that there will be features that didn't make it into your Tektronix Scope.

Hopefully, you now understand the point that I was trying to make here and, as I mentioned before, I will submit the request to our development team.

Also, just so that we're clear, Envelope Mode is not Downsampling (as you alluded to, in an earlier reply).

So, regarding your questions:
You already mentioned, Aggregate Downsampling in the SDK before and this IS just giving you the maximum and minimum peaks on the waveform. So, you can download our SDK, along with example applications written in different Programming languages/environments (see here: https://github.com/picotech) that would allow you to play around with higher Downsampling ratios to see how effectively you can reduce the UUSB transfer time and still get your peaks. You could also then only transfer the Single channel Aggregates to the PC (ignoring the Trigger Channel Data), which would significantly speed up your acquisitions.

Regarding Triggering, some of our PicoScopes have an External input that can be used for triggering but, unfortunately the 2207B is not one of them (however, unless you need the second channel for other data, this shouldn't be problem as it won't affect your transfer times, as already explained).

Regards,

Gerry
Gerry
Technical Specialist

Mmm22
User
User
Posts: 2
Joined: Mon Jun 15, 2020 9:21 am

Re: Envelope mode

Post by Mmm22 »

Hi Gerry,
I don't have much experience with FPGAs, so let's see what the developers say.
Envelope mode reduces the amount of data compared to the raw data, so why isn't it downsampling?
I was also thinking it might be possible to use the ETS mode for my kind of downsampling, but that would work only if the data is interleaved in the hardware; could you comment on that?

Gerry
PICO STAFF
PICO STAFF
Posts: 1145
Joined: Mon Aug 11, 2014 11:14 am

Re: Envelope mode

Post by Gerry »

Hi Mmm22,

Downsampling is where the effective sample rate is reduced down. This happens when you apply a mathematical property, e.g. averaging, along a predefined number (block) of samples for a single captured waveform. So as you are replacing a block of samples from the same capture with just one sample, the result will be that there is only 1 sample left in memory for every block, which is the same as having reduced the sample rate by 1/(the size of the block).

Envelope Mode doesn't reduce the number of samples per waveform. What you are doing here is capturing a number of waveforms, then creating 2 new waveforms, where each sample value is the highest or lowest of the same sample values for each of the waveforms you captured. So you are creating one highest sample for every sample value captured, in memory, and one lowest for every sample value captured , in memory. The result will be that there are the same number of samples in the 2 newly created waveforms as there are in all of the other waveforms. So there is no effective reduction in sample rate and therefore no downsampling.

What Envelope Mode does is reduce the number of waveforms that you need to transfer (only if it is implemented in hardware), because you know the highest and lowest positions that all of the points on your waveforms will reach from just 2 waveforms instead of a whole block of them. So, it reduces the total number of samples that you have to transfer.

Unfortunately, using ETS mode will actually increase the number of samples that you collect, and take longer doing it (as you only capture and store one sample point for every waveform, see the description here: https://www.picotech.com/library/oscill ... e-sampling). Also, you would still then have to capture many ETS waveforms if you want to know the peak values, and you can only use it for the fastest sample rates.

Could you explain exactly what your goal is here, i.e. why are you trying to find the time interval between triggers and peaks, as there may be a better alternative to achieve your objective.

Regards,

Gerry
Gerry
Technical Specialist

Post Reply