# Experimentally finding model parameters

Sometimes you need to determine model parameters, based on having no real information.

In this example, we find the parameter “IS” of a diode, based on its forward voltage.

We would like to have a diode…

`D2 (a k) 1n4004`

Now you need a model statement …

`.model 1n4004 d (a whole bunch of parameters)`

You could do a web search for a detailed model, but usually you can just do some experimenting..

If you are at the stage where you are asking about this, the detail will only confuse you, most likely of the worst kind of confusion, where you don't realize it.

Most of the time, the only parameter you need for a diode is saturation current, which of course isn't in the data sheet.

ok .. so how do I figure that out??

Well … Look at the specs, or measure it. Let's say we found that the forward voltage at 1 amp is .7 volts.

Use the simulator to build a test circuit ..

```I1 (0 1) dc 1
D1 (1 0) my_diode```

You need a model statement ..

`.model my_diode d (is=something)`

but I don't know what the value of something is.

With gnucap .. try this…….

```gnucap> build
>i1 (0 1) dc 1
>d1 (1 0) my_diode
>.model my_diode d is=something
>                   ******** blank line to exit build mode
gnucap> probe  op  v(1)
parameter something has no value
gnucap> op
#           v(1)
27.        0.83376                    **** using default IS
gnucap> param something=1u
gnucap> op
#           v(1)
27.        0.35733
gnucap> param something=1n
gnucap> op
#           v(1)
27.        0.53599
gnucap> param something=1p
gnucap> op
#           v(1)
27.        0.71465
gnucap> param something=2p
gnucap> op
#           v(1)
27.        0.69673
gnucap> param something=1.5p
gnucap> op
#           v(1)
27.        0.70417
gnucap> param something=1.8p
gnucap> op
#           v(1)
27.        0.69945
gnucap> param something=1.7p
gnucap> op
#           v(1)
27.        0.70093
gnucap> param something=1.75p
gnucap> op
#           v(1)
27.        0.70018
gnucap> exit```

There .. close enough ,,, Now use the value 1.75p for IS.

`.model my_diode d is=1.75p`