# ideality factor diode > 2 possible?

Using non-linear regression I have worked out the ideality factor to be greater than 2 (2.04987187490894) using spreadsheet software.

Is this realistic for a diode. Is the maximum ideality factor for a diode 2?

The data are as follows:

VOLTAGE := [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0]:
CURRENT(mA) := [0, 0, 0, 0, 0, 0, 0, 0.07, 0.92, 12.02, 158.29]:


• Series 1: Actual Data, Series 2: Modelled data Feb 9, 2016 at 22:59
• Did you include a series resistance in your model? What kind of diode are you modelling (silicon pn junction, Shottky, LED, ...)? What parameters are you optimizing to fit your model? Feb 9, 2016 at 23:32

No, the ideality factor should be between 1 and 2 inclusive. Of course with some random set of data it might not be representative of a real diode.

However, I don't think your optimization is very good. Below is the same exercise which I did myself. The ideality factor comes out well within the above range and Is at a quite reasonable 1.16pA. As you can see, the two curves are pretty much on top of each other.

Since this looks like a homework question, that should be enough of a hint.

Okay, using MATLAB, here is a similar fit (I used amperes for the Y axis). The value of Is came out a bit different at 1.243pA (I would trust this one more) and the ideality factor very similar to Excel. Again, as you can see, the data points are right on top of the fit. If I use the bisquare or robust algorithms, Is comes out very similar to the Excel version (1.17pA vs. 1.16pA).

• Did you apply non-linear regression using excel? Feb 10, 2016 at 14:29
• I used the solver function, in Excel 2003, but because it's so nonlinear I optimized one parameter at a time first. There's probably a better way (maybe linearize the cost function first) but this worked pretty well. Feb 10, 2016 at 14:34
• Can you help me improve my method so I can get a similar value to yours? Feb 10, 2016 at 16:39
• Can I send you the file I used? Feb 10, 2016 at 16:40
• I'm not sure you should be using a spreadsheet program for this anyway- maybe MATLAB or a free similar program such as Scilab. I just used it as an example. Feb 10, 2016 at 16:51