I am currently using NI PCI 6225 to measure rdson of a MOSFET. I am using the analog output of this PCI module to generate a us pulse and uses its analog input to measure the voltage level simultaneously. The image named "Waveform.jpg" is the overall set of data I am measuring. I am kinda confused why is the data ramping to 1V. The us pulse data I would like to parse can be found when I zoom it in as can be seen on "Waveform zoomed in.jpg". I have a VI that parses the data of interest which can be seen on "Waveform parsed.jpg". The problem is sometimes, the shape of the waveform when zoomed in is different (see Different shapes of waveform.jpg) and therefore the VI I use produces a wrong parsed waveform. Can somebody help me how to correctly/accurately parse the data I want.
I have a VI that parses the data of interest which can be seen on "Waveform parsed.jpg". The problem is sometimes … the VI I use produces a wrong parsed waveform. Can somebody help me how to correctly/accurately parse the data I want.
Well, the solution is easy: you need to change your VI so it correctly "parses" (aka analyses) the signals according to your requirements!
As you only attached images of different waveforms, but forgot to attach the VI with realistic datasets, you need to improve the VI on your own…
Here is the VI I am currently using. Do you have any recommendations on how I can improve it?
The default value here contains one of the waveform shapes I can parse data from.
Without knowing exactly what your criteria need to be and exactly what variety of waveforms you need to contend with, it's not really possible for us to make detailed corrections. Very generally, to deal with a larger variety of possible input waveform shapes, you'll probably need a more sophisticated algorithm.
To my eye, there are 2 places where the waveforms transition to a steep negative slope. Those should be pretty easy to identify. I'd start by finding and extracting the region between those 2 negative "spikes", which will include the entire region you care about plus a little bit of transient stuff at each end. You'll still need to refine the endpoints of the region you want to keep, but at least you start with a problem that's more bounded.
But there's a whole other way you *might* be able to approach this. Again, it isn't clear what your exact needs are for this seeming stimulus-response app.
What I'd *want* to do is to come up with a hardware-signal-based method to correlate the time period of interest for the AI data with the stimulus signal the UUT is reacting to. It could be a trigger, a clock, or just an auxillary analog channel to generate and capture, but where you can define the time period of interest with a signal that's trivial to parse. The main point being, there's more than one way to accomplish the needed correlation.