LED非线性伏安模型matlab仿真实验
实验原理
LED非线性伏安模型
i
L
E
D
(
v
L
E
D
)
=
{
h
(
v
L
E
D
)
v
L
E
D
⩾
0
0
v
L
E
D
<
0
i_{LED} (v_{LED}) = \begin{cases} h(v_{LED})& v_{LED}\geqslant 0\\ 0& v_{LED}< 0 \end{cases}
iLED(vLED)={h(vLED)0vLED⩾0vLED<0
其中vLED表示输入电压,iLED表示驱动电流
h
(
v
L
E
D
)
=
f
(
v
L
E
D
)
(
1
+
(
f
(
v
L
E
D
)
i
m
a
x
)
2
k
)
1
2
k
h(v_{LED})=\frac{f(v_{LED})}{(1+(\frac{f(v_{LED})}{i_{max}})^{2k})^{\frac{1}{2k}}}
h(vLED)=(1+(imaxf(vLED))2k)2k1f(vLED)
其中,imax表示经过LED的最大驱动电流。k为膝盖因子,控制LED顶部线性区域到非线性区域过度的平滑程度。f(vLED)是LED伏安特性函数,即非线性模型中的线性部分。一般表示为:
f
(
v
L
E
D
)
=
v
L
E
D
R
f(v_{LED})=\frac{v_{LED}}{R}
f(vLED)=RvLED
实验要求
探究膝盖因子对LED非线性伏安模型的影响
假设R=1欧,imax=0.5A,在膝盖因子k=2,3,50的情况下,仿真模拟LED非线性伏安模型,vLED在-0.5V和1V范围内,步长设置为0.1V。代码如下:
i = 0.5 ; %经过LED的最大驱动直流电流
V = (-0.5:0.1:1) %输入电压取值在-0.5V和1V之间,步长设置为0.1V
R = 1 ; %电阻阻值为1欧姆
f = V/R %伏安特性函数
k = 2 ; %k为膝盖因子
h = f./(1+(f/i).^(2*k)).^(1/(2*k))
i1 = h.*(V>=0)+0.*(V<0) ;
plot(V,i1) ;
hold on ;
k = 3 ;
h = f./(1+(f/i).^(2*k)).^(1/(2*k))
i2 = h.*(V>=0)+0.*(V<0) ;
plot(V,i2) ;
hold on ;
k = 50 ;
h = f./(1+(f/i).^(2*k)).^(1/(2*k))
i3 = h.*(V>=0)+0.*(V<0) ;
plot(V,i3) ;
hold on ;
axis([-0.5 1 0 0.7]) ;
title("LED非线性伏安模型") ;
legend("k=2","k=3","k=50") ;
xlabel("输入电压VLED/V") ;
ylabel("经过LED电流iLED/I") ;
仿真结果

拟合实际数据的伏安特性表达公式
已知OSRAM Golden DRAGON W5AM 的Data Sheet数据如下:
电压(V) | 电流(I) |
---|---|
2.76 | 0 |
2.77 | 0.00001 |
2.8 | 0.015 |
2.85 | 0.03 |
2.9 | 0.055 |
2.95 | 0.09 |
3 | 0.12 |
3.05 | 0.15 |
3.08 | 0.19 |
3.1 | 0.21 |
3.2 | 0.35 |
3.3 | 0.475 |
3.4 | 0.65 |
3.5 | 0.8 |
3.58 | 0.1 |

使用matlab-APP中的Curve Fitting Tool进行拟合,polynomial(多项式)模式下,degree选择2。注意v作为拟合数据时要减去开启电压,拟合结果如下:

用拟合得到的伏安特性曲线去代替原来的f。由于f改变,k与imax也要改变。采用最小均方误差的方法进行搜索,设置imax在0-3A,步长为0.01A,k在0-5之间,步长0.01。
代码如下:
% data sheet 数据
v1 = [2.76 2.77 2.8 2.85 2.9 2.95 3 3.05 3.08 3.1 3.2 3.3 3.4 3.5 3.58];
v2 = v1-2.77
i4 = [0 0.00001 0.015 0.03 0.055 0.09 0.12 0.15 0.19 0.21 0.35 0.475 0.65 0.8 1 ] ;
plot(v1,i4) ; %绘制实际LED伏安特性曲线
hold on ;
%利用matlab的curve fitting功能进行拟合,得出拟合模型
f = 1.199*(v1-2.77).^2 +0.2519*(v1-2.77) + 0.001565 ;
%用最小均方差法进行搜索
for(im = [0:0.01:3])
for(km = [0:0.01:5])
h = f./(1+(f/im).^(2*km)).^(1/(2*km));
if(MSE > immse(h,i4) ) %immse函数,计算两个数组之间的均方误差
MSE = immse(h,i4) ;
i = im ;
k = km ;
end
end
end
%绘制拟合曲线
V = [2.77:0.01:5] ;
f = 1.199*(V-2.77).^2 +0.2519*(V-2.77) + 0.001565 ;
i5 = f./(1+(f/i).^(2*k)).^(1/(2*k));
plot(V,i5) ;
title("拟合实际LED灯伏安特性曲线") ;
xlabel("输入电压VLED/V") ;
ylabel("经过LED电流iLED/I") ;
legend("实际值","拟合值") ;
拟合结果如下:

最小均方差法搜索的最优解为:k = 5,imax=3。可以看出拟合值与实际值较为接近。进一步思考:h公式的意义可以理解为根据f中的线性关系拟合出后半部分非线性的成分
注意事项
1、注意矩阵中元素相除、平方等要用 ./ .^