Lightning Impulse Signal : Li Full and Li Chop simulation Code
Generate Li Full and Li Chop array points using Code (VB.net)
Li Full : T1 (Time to peak) 1.2uS
T2 (Time to peak) 50uS
Amplitude : 1 unit
Code:
Dim k0 As Integer = 100
Dim k1 As Single = 2.47
Dim k2 As Single = 1 / 68.23
Dim I As Single = 0
IMPULSE_ARY(0) = 0
Dim t As Single = 0.01
' IMPULSE_ARY(0-124)=0
For I = 125 To 152
IMPULSE_ARY(I) = 4.2 * t ^ 3
t = t + 0.01
Next
t = 0.04
' exponential
For I = 150 To SAMPLES
IMPULSE_ARY(I) = 1 / 0.9643 * (1 - Math.E ^ (-k1 * t)) * (Math.E ^ (-k2 * t))
'IMPULSE_ARY(I) = Math.E ^ (-k1 * t) - (Math.E ^ (-k2 * t))
t = t + 0.01
Next
For I = 0 To SAMPLES Step 4
IMPULSE_ARY(I) = IMPULSE_ARY(I) + (Rnd(1) - 0.5) * 0.0004
Next
' plot this array and get

--------------------------------------------------------------------------------------------------------------------------
Li Chopped : T1 (Time to peak) 1.2uS
Tc (Time to peak) 3.88uS
Amplitude : 1 unit
Code:
Dim k0 As Integer = 100
Dim k1 As Single = 2.47
Dim k2 As Single = 1 / 68.23
Dim I As Single = 0
Dim t As Single = 0.01
' IMPULSE_ARY(0-124)=0
For I = 125 To 152
IMPULSE_ARY(I) = 4.2 * t ^ 3
t = t + 0.01
Next
t = 0.04
For I = 152 To 4000
IMPULSE_ARY(I) = 1 / 0.9643 * (1 - Math.E ^ (-k1 * t)) * (Math.E ^ (-k2 * t))
t = t + 0.01
Next
Dim A As Single = 450
Dim B As Single = A + 27
t = 0.01 * B
Dim E_VAL As Single
For I = B To B + 25
IMPULSE_ARY(I) = IMPULSE_ARY(I) * Math.Cos(2 * (t - (B / 100))) * (Math.E ^ (-0.2 * (t - (B / 100))))
t = t + 0.01
Next
t = t - 0.01
For I = B + 25 To 4000
E_VAL = (0.95 * Math.E ^ (-4 * (t - (B + 25) / 100))) + (0.05 * Math.E ^ (-0.3 * (t - (B + 25) / 100)))
IMPULSE_ARY(I) = IMPULSE_ARY(B + 25) * E_VAL * Math.Cos(3 * (t - (B + 25) / 100))
t = t + 0.01
Next
For I = 0 To 4000 Step 4
IMPULSE_ARY(I) = IMPULSE_ARY(I) + (Rnd(1) - 0.5) * 0.0006
Next
' plot this array and get

No comments:
Post a Comment