Schottky diode IV characteristics plot error

17 views (last 30 days)
I am trying to plot the current density vs voltage characteristics for a Schottky diode using the following equations:
Current density, J = I/A.
I have to plot V against ln{J/[1−exp((−qV)/(KT)]}. The plot should look something like this:
My code gives me a wrong plot and also wrong values. I tried testing if my expressions are generating correct answer. To my knowledge they are, so I do not know what the problem is. This is my code:
clc
clear all
n = 1.02; %Ideality factor
A = 110; %Richardson constant
q = 1.602e-19; % electron charge
K = 1.38e-23; %Boltzmann constant
T = 298; % Absolute temperature
phi_b = 0.57; %Barrier Height
J_0 = A* (T* T)* exp((-q* phi_b)/(K* T))
V = linspace(-2, 2);
J = J_0.* exp((q * V) ./ (n * K * T)) .* (1 - (exp(-q * V) ./ (K * T)));
J(V <= 0) = -J_0;
plot(V, log(J ./(1 - exp(-q* V)/(K *T))));
This is for Si and I am taking A* = 110, barrier height = 0.57 eV, T = 300K, ideality factor = 1.02.
My plot:
  2 Comments
DGM
DGM on 10 Sep 2021
I don't see how you're going to get that plot from the given equations. The expression for current you're using for V<0 is a constant. It's not going to give you anything other than a straight line.
There was a minor error on one line. I don't know about the rest of it.
n = 1.02; %Ideality factor
A = 110; %Richardson constant
q = 1.602e-19; % electron charge
K = 1.38e-23; %Boltzmann constant
T = 298; % Absolute temperature
phi_b = 0.57; %Barrier Height
V = linspace(-2, 2);
J_0 = A* (T* T)* exp((-q* phi_b)/(K* T));
J = J_0.* exp((q * V) ./ (n * K * T)) .* (1 - exp((-q * V) ./ (K * T)));
% moved a parenthesis ^--^
% idk about this part
%J(V <= 0) = -J_0; % this is just going to be a straight line
%plot(V, log(J ./(1 - exp(-q* V)/(K *T))));
semilogy(V,abs(J)) % at least this looks like the abs of a diode IV curve
grid on;
Ranjan Kandasamy
Ranjan Kandasamy on 10 Sep 2021
Edited: Ranjan Kandasamy on 10 Sep 2021
Yes, I should be getting a straight line for V < 0. The resulting plot should resemble the orange curve from the example I provided, I should have mentioned that.
Two questions, was the error I got because of the misplaced parenthesis? and why did you opt for semilogy and abs?

Sign in to comment.

Answers (1)

Tanmay Das
Tanmay Das on 14 Sep 2021
Hi,
The expression inside the exp function should be enclosed within braces/parenthesis in order to avoid error due to operator precedence.
I-V Characteristic
It should be noted that the above graph is an I-V Characteric of Schottky diode and is plotted with Voltage as x-axis and ln(Current) as y-axis. The following code may be helpful:
clc
clear all
n = 1.02; %Ideality factor
A = 110; %Richardson constant
q = 1.602e-19; % electron charge
K = 1.38e-23; %Boltzmann constant
T = 298; % Absolute temperature
phi_b = 0.57; %Barrier Height
V = linspace(-2, 2);
J_0 = A* (T* T)* exp((-q* phi_b)/(K* T));
J = J_0.* exp((q * V) ./ (n * K * T)) .* (1 - exp((-q * V) ./ (K * T))); %corrected the paranthesis
J(V <= 0) = J_0; % For reverse bias
plot(V, log(J/A)); % Graph of ln(Current) vs Voltage i.e., I-V Characteristic of diode
The blue line for V<0 occurs only for non ideal cases when the parameters in J_0 varies slighly with change in voltage. For ideal case, J_0 is independent of V, so the graph for V<0 will be a flat line like the orange line. A graph similar to the image below should be generated using the above code:
Graph snapshot

Products


Release

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!