cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Help us improve the PTC Community by taking this short Community Survey! X

Derivative of I-V curve

g1lai
1-Visitor

Derivative of I-V curve

It could be a simple question, but my brain stops running ...

I have I-V test data, and try to derive the 1st derivative (dV/dI) and/or followed by smoothing. Is there any build-in function to do this?

Thanks a lot.
92 REPLIES 92

On 7/9/2009 11:42:41 PM, g1lai wrote:
>It could be a simple question,
>but my brain stops running ...
>
>I have I-V test data, and try
>to derive the 1st derivative
>(dV/dI) and/or followed by
>smoothing. Is there any
>build-in function to do this?
>
>Thanks a lot.
________________________________

1. your data are all scrap , construct around a data input table.

2. What you were attempting is incorrect: your data set is noisy, thus the finite differences derivative amplifies the noise that no smoothing recuperates. Your data is perfectly fitted as attached, then you get a perfect derivative as well.

jmG
TomGutman
1-Visitor
(To:g1lai)

Differentiation apmlifies noise. If smoothing is to be done it needs to be done before differentiating, not after.

There is something strange here. You plot with I as a function of V -- so why do you calculate dV/dI? You the curve (as plotted is nearly horizizontal for a stretch, the trasnpose will be nearly vertical -- infinite derivative. You even have to adjacent identical current values. If that is not just a data input error (how was this data entered? There's enough that it's nearly impossible to enter manually without error) you cannot approximate dV/dI as the slope of the secants, that goes to infinity.

I suggest differentiating the way you plot, dI/dV. There are no built in Mathcad functions to do this. But there are a number of sheets on the subject. If your voltage values are actually equally spaced (I didn't check this -- you have an awful lot of decimal places) a simple Savitzky-Golay filter will do both smoothing and differentiation. If the points are not quite equally spaced, I have a modified version that does the same sort of fit in a more general (but much slower) way.

Here's a simple calculation of dI/dV. The early part of this result shows the noise expected from measured data. But the latter part looks exactly like two straight lines. That is symptomatic of artificial calculated data, not measured data.
__________________
� � � � Tom Gutman

Here's a general S-G smoothing.
__________________
� � � � Tom Gutman

On 7/10/2009 5:13:40 AM, Tom_Gutman wrote:
>Here's a general S-G
>smoothing.
>__________________
>� � � � Tom Gutman
________________________

I apologize no to have done it with S-G
I was dropping of fatigue after a long day.

jmG



g1lai
1-Visitor
(To:TomGutman)

Yes, the data seems to be ugly from mathematics point of view. However, I will say it is beautiful since it reflects the reality of life --- all number come from the true measurement.

(1) I am actually don't want to smooth the data set since the follow-up error analysis will be a BIG headache. A little distortion of the curve around I=0 or V=0 will result in big difference (see below).

(2) dV/dI plot is important since it could provide much useful information such as series resistance Rs, shunt resistance Rsh.

Rs=dV/dI (I=0), Rsh=dV/dI (V=0).

Thanks.

>all number come from the true measurement.<<br> ___________________________

I'm sorry to contradict your statement:
True data DO NOT exist !
Neither from analog, neither from digitized measurements.

Please repost my work sheet for the data table and tell what you want. You can leave the model, and the S-G, we will just ignore. You must have a project description, otherwise two collabs already failed to catch your "real life".

jmG

Please take a look of the attached worksheet and datasheet.

On 7/10/2009 12:33:52 PM, g1lai wrote:
>Please take a look of the
>attached worksheet and
>datasheet.
__________________________

Pass "MY WORKSHEET" because you have the data set already. No point to start help with a non stand alone work sheet and extra file. What I mean is that your work sheet must have the data in an input table. Wasting time constructing/reconstructing work sheet is detrimental to other collabs, and there are lot of visits per day.

jmG

Sorry about that. See the update.
g1lai
1-Visitor
(To:g1lai)

My "reality of life" is to analyze all those "ugly" data using the "beautiful" tools such as MathCAD.
g1lai
1-Visitor
(To:g1lai)

My "reality of life" is to analyze all those "ugly" data using the "beautiful" tools such as MathCAD.

On 7/10/2009 2:00:55 PM, g1lai wrote:
>My "reality of life" is to
>analyze all those "ugly" data
>using the "beautiful" tools
>such as MathCAD.
_____________________________

There is nothing to analyse yet.

1. In mathematics 'x' is the independent Cartesian, and 'y' the dependent. In data set they appear as XY to avoid confusion, look at the correction.

2. Your data set does not make sense ... why ?
because for so many X's are constant while you are measuring and collecting Y's . How can that be ?
So, the data set is not true like no data set will ever be true unless generated by a function.

3. @ this point nothing will come out of your work sheet.

4. Scroll the corrected yellow data set and get equipment of much higher resolution, so that no two X's are equal. The other option for continuing collaboration is to clean the X's of repeated values.

5. I have hard time to explain to myself why your Mathcad data table displays as "Outlook symbols" when saved as 11 ?

jmG



... you understand about the repeated X's.

You have 19 Cartesian X's for 59 Cartesian Y's





jmG

... a pretty good fit indeed !



jmG

>2. Your data set does not make sense ...
>why ?
>because for so many X's are constant
>while you are measuring and collecting
>Y's . How can that be ?
>So, the data set is not true like no
>data set will ever be true unless
>generated by a function.

I actually sweep voltage (Y's) then collect current (X's).

On 7/11/2009 8:52:31 PM, g1lai wrote:
>>2. Your data set does not make sense ...
>>why ?
>>because for so many X's are constant
>>while you are measuring and collecting
>>Y's . How can that be ?
>>So, the data set is not true like no
>>data set will ever be true unless
>>generated by a function.
>
>I actually sweep voltage (Y's)
>then collect current (X's).
________________________________

My 2nd download was then with no multi-same values + of greater length, don't know why he 2nd download was correct and the first one soso ?

Acknowledged.

jmG



TomGutman
1-Visitor
(To:g1lai)

dV/dI is just the reciprocal of dI/dV. But the nature of the data for low voltages is such that in trying to calculate dV/dI you are analyzing just noise. Within the accuracy of your data dI/dV is zero at low voltages, so all you can say about dV/dI there is that it is large. Your data do not allow any reasonable calculation of how large.

dV/dI at I=0 is not a problem and can easily be calculated. I've just shown it on a graph, calculations would involve some form of interpolation or curve fitting.
__________________
� � � � Tom Gutman
g1lai
1-Visitor
(To:TomGutman)

I totally agree with your guys. It seems that the best way is to fir the experimental data as jmG suggest in his first reply. I did both exponential and sigmoidal fitting, and got very similar result.

jmG, could you please add some calculations in your 1st worksheet? Those include

(1) open-circuit voltage Voc which is the voltage at I=0; or to derive x when f(x)=0.;

(2) Shunt resistance Rsh=dV/dI at I=0; or df(x)/dx at x=0;

(2) Series resistance Rs=dV/dI at V=0; or df(x)/dx at f(x)=0;

Thanks.
TomGutman
1-Visitor
(To:g1lai)

Be real cautious about fits to arbitrary functions (i.e., functions with no solid theoretical basis). Differentiation accentuates errors, and what may be an adequate fit for the purpose of generally describing the curve might not be adequate for an accurate derivative.
__________________
� � � � Tom Gutman

On 7/11/2009 1:42:18 AM, Tom_Gutman wrote:
>Be real cautious about fits to
>arbitrary functions (i.e.,
>functions with no solid
>theoretical basis).
>Differentiation accentuates
>errors, and what may be an
>adequate fit for the purpose
>of generally describing the
>curve might not be adequate
>for an accurate derivative.
>__________________
>� � � � Tom Gutman

_____________________________

Totally correct. It was just to show what the data set is in reality, to sparse in the low range and a typo. The fit is a quick one showing some viability, it looks weird from physics. Hopefully the collab is now in gear and with much better equipment.

jmG

I calculated some parameters from the experimental profile and fitted curves. Rs is similar, however Rsh varies a lot. Since Rsh is critical in the following physics model, the fitting approach does not seem to be adequate.

On 7/11/2009 2:22:47 AM, g1lai wrote:
>I calculated some parameters
>from the experimental profile
>and fitted curves. Rs is
>similar, however Rsh varies a
>lot. Since Rsh is critical in
>the following physics model,
>the fitting approach does not
>seem to be adequate.
______________________________

If you keep working on your own and in the wrong trail, why do you need assistance ? What you are saying above is in the blue. Take the all thing right from a blank sheet, provide the input data table, no repeated values, plot the X's, Y's. If they mean something special to you, it does not math wise. Get inspired from my last attachment.

jmG



... finite differences derivative amplifies the "noise" or say the uncertainty by about a factor of 25. Many solar cell projects have been done in this collab, yours is so much different that is is questionable. A diagram is essential. Many collab source their work.

jmG
TomGutman
1-Visitor
(To:g1lai)

I don't understand how you got that. dV/dI at I=0 (Rsh) is reasonably well defined by the data, and you should get similar results with any halfway decent fit. But dV/dI at V=0 (Rs) is essentially inderminate, and the calculated value should be more or less a random function of the methodology.

Your data simply does not give dV/dI at V=0. About the only way you have any reasonable chance of getting a meaningful value for Rs is to have a good physical model that includes Rs as a parameter and then fit that model to the data. Even then, if the model results are not sensitive to the value of Rs except at low voltages, the results will be very questionable. Checks on the uniformity of the residuals and calculations of the variances of the parameters are essential.
__________________
� � � � Tom Gutman
g1lai
1-Visitor
(To:TomGutman)

On 7/11/2009 3:17:44 AM, Tom_Gutman wrote:
>I don't understand how you got
>that. dV/dI at I=0 (Rsh) is
>reasonably well defined by the
>data, and you should get
>similar results with any
>halfway decent fit. But dV/dI
>at V=0 (Rs) is essentially
>inderminate, and the
>calculated value should be
>more or less a random function
>of the methodology.

Tom, we are talking the same thing if the following definitions are clarified.

Rs=dV/dI at I=0
Rsh=dV/dI at V=0
TomGutman
1-Visitor
(To:g1lai)

OK. I was using the definitions from message 17, where you had that reversed.
__________________
� � � � Tom Gutman

>jmG, could you please add some calculations in your 1st worksheet ? <<br>
No, because the very first work sheet does not correspond to your latest project description:

"Description of the Project: Data analysis of the Current-Voltage (I-V) profile of solar cells based on the 1st derivative of I-Vcurve or dV/dI. The series and shunt resistance (Rs and Rsh) can be witten respectively as Rs~(dV/dI) at I=0, and Rsh~(dV/dI) at V=0. The ideality factor of PN junction can be derived by fitting the dV/dI curve.

Description of the Problem: The dV/dI profile is not continuous (see below)."

If you want dV/dI it implies V is the dependent as done with the striped data set, i.e; in contradiction with the very first reply. Or something is wrong in your project. The quick fit is not viable with negative values of the X's. Your equipment is not appropriately calibrated. @ say some reference voltage of 0 you have to calibrate the current meter = 0. All what I'm saying is that you have to "calibrate the experiment".

There is surely more meaningful fit than this "Power tower" like attempt. But you must supply the data set again with no duplicated X's and some extra population in the low range. Raw data as collected is essential. Doing project in collaboration is not like shopping for a shirt and trying zillions of the wrong size.

jmG

As has been stated, the differential function effectively amplifes 'noise', in particular white noise.

The numerical differetial of a data set (rather than the analystic differential of a function) is essentially a finite impulse response filter. That is you select a few data points around the desired point of differentiation, and then weight them and add them (some weights being negative). Thus you get to choose the effective filter response, and cutoff, of the differential.

If the data is not uniformly spaced, you can adjust the weightings to match the spacings, etc.

For your solar cell case, you have two options (approaches), one is to presume that the physics that others have already taught is true and you are just fitting parameters, the other is think that your cell is different/special and you need to create a model from the data.

The usual result is to start with option one (parameter fit to known model) then to look at the deviations of the data from the model and to try and explain then with additional elements in the model. These additional elements may be limitations of the test set (e.g. lead resistances), Knowledge limitations (photo response curves being a potentially big error here), or finesse of the finer details of the solar cell's internal models (two photon conversion?, etc.)

So, in summary, given a noisy data set, you can design a diferential filter with known selectivity.

Philip Oakley

>jmG, could you please add some calculations in your 1st worksheet<<br> _____________________________

I have downloaded the work sheet again and noticed that the data set went up from 59 to 69 rows ???. It coud be the transmission. There is not much to do with that kind of data set, your equipment generates so much noise that if technically there is discontinuity, it can't be detected.

Here is ... as is.

What makes sense is between Marlett,
Do you want to fit it ?
You just have a data set, no diagram no nothing to go past the maths.

jmG


Announcements

Top Tags