Transmission Line Propagation Delay Time Simulation By Mathematica

傳輸線延遲現象模擬

將 上一篇 電阻無限階梯問題 再進化,加入電感 ,電容 , 使用 Wolfram Mathematica 建模 ,展示輸入方波後,看到延遲現象.

用30圈的階梯電路來看,藍色是輸入方波,橘色是取大約第15圈的延遲波型,綠色是最終點側電阻的波型. 可以看到延遲現象.你可以拉動滑塊看看.

下面是比較完整的mathematica 程式碼

傳輸線的時域模擬
ClearAll["Global`*"]; Remove["Global`*"];
Vth[\[Omega]_, R_, L_, c_, loop_] := Block[{},
  ZL = I*\[Omega]*L;
  ZC = 1/(I*\[Omega]*c);
  Rth = NestList[1/(1/ZC + 1/(# + ZL)) &, R, loop] // Reverse;
  gain = #/(# + ZL) & /@ Rth;
  FoldList[#1*#2 &, 1, gain]]
Manipulate[
 sample$point = 3;
 sample$position = Subdivide[1, loop, sample$point - 1] // Floor;
 
 wave$number = 30;
 bb = Table[
   AbsArg[1/n*Vth[n*\[Omega], R, L, c, loop]] /. {amp_, 
      phase_} -> {amp, n*\[Omega], phase}, {n, 1, wave$number, 2}];
 cc = bb //. {ff___, {first___, {amp_, rad_, phase_}, last___}, 
     ll___} -> {ff, {first, amp*Sin[rad*t + phase], last}, ll};
 
 dd = Total /@ (cc\[Transpose]);
 ee = dd[[sample$position]];
 pp = Plot[ee, {t, -0/\[Omega], 6/\[Omega]}, PlotRange -> 1.5, 
   AxesLabel -> {"延遲時間"}]
 ,
 (*pp=Table[Plot[ee[[i]],{t,-0/\[Omega],6/\[Omega]},PlotRange\[Rule]1.\
5],{i,1,4}],*)
 Row[{Control[{{loop, 30, Row[{"廻圈數 "}]}, 5, 100, 1}], 
   "  " Dynamic[loop], "圈"}], 
 Row[{Control[{{\[Omega], 1000000000, Row[{"  頻  率  "}]}, 1000000, 
     2000000000, 1000000}], 
   "  " Dynamic[IntegerPart@N@(\[Omega]/(2 \[Pi]*10^6))], "MHz"}],
 Row[{Control[{{R, 40, Row[{"匹配電阻"}]}, 0, 200, 1}], 
   "  "    Dynamic[R], "\[CapitalOmega]"}],
 Row[{Control[{{L, 1.4*10^-9, Row[{" 電 感值"}]}, 0.1*10^-9, 10*10^-9, 
     0.1*10^-9}], "  "    Dynamic[N@(L/(10^-9))], "nH"}],
 Row[{Control[{{c, 0.8*10^-12, Row[{"電容值"}]}, 0.01*10^-12, 2*10^-12, 
     0.01*10^-12}], "  "    Dynamic[N@(c/(10^-12))], "pF"}],
 ControlPlacement -> Top]

下次再把Smith Chart 做上去

發表留言