Exercise 28

As with all of the exercises you will complete in this course, you will be expected to turn your *.nb file in to the course TA before the next lecture.  Please do so by e-mailing your completed exercise file to Lan Yu (ece329.uiuc@gmail.com), make sure you name the file using the following notation: “Exn_Last_First.nb”, where n is the Exercise number (in this case, 28), and First and Last would be your first and last name.  So my submission to Lan for this exercise would be titled “Ex28_Wasserman_Dan.nb”.  You will receive full credit for your exercise if it turned in before the next lecture (Lecture n+1).  No late submissions will be accepted.

Objective/Overview:

Today in class we discussed the impulse response of transmission lines with source and load resistors, which led us to the bounce diagram.  Not surprisingly, in this exercise we are going visualize the propagation of impulses on loaded transmission lines.

Transmission Line Parameters

We are going to study a simple transmission line today, one with a characteristic impedance (Subscript[Z, o]), a load resistance (Subscript[R, L]) and a source resistance (Subscript[R, g]).  Let’s assume the transmission line is filled with vacuum, which means that μ=(Subscript[μ, o]), ϵ=(Subscript[ϵ, o]), and v=1/(Sqrt[(Subscript[μ, o])(Subscript[ϵ, o])])=c.  We can define the necessary reflection and transmission coefficients:

(Subscript[τ, g])=((Subscript[Z, o])/((Subscript[Z, o])+(Subscript[R, g])))
(Subscript[Γ, L])=(((Subscript[R, L])-(Subscript[Z, o]))/((Subscript[Z, o])+(Subscript[R, L])))
(Subscript[Γ, g])=(((Subscript[R, g])-(Subscript[Z, o]))/((Subscript[Z, o])+(Subscript[R, g])))

And this is really all we need to start plotting our TL impulse response bounce diagrams

Single-Bounce Impulse Response

Let’s start by just looking at a single impulse traveling along our transmission line.  We will assume the impulse is launched at t=0s. The TL we are working with is shown below:


Let’s start by plotting the initial line and the first bounce of our TL.  We will create a function to do this, and we will use our Graphics[Arrow} command, so that our lines have arrowheads and will show the impulse propagation.  We will assume our time is written in μs, and that our speed of propagation is calculated from the μ and ϵ of the material in our transmission line.  So the inputs to the function we will create are: (Subscript[μ, r]), (Subscript[ϵ, r]), (Subscript[Z, o]), (Subscript[R, g]), (Subscript[R, L]), and (Subscript[L, TL]).  Later we will add an input “n” that tells us how many bounces to plot.

bouncev1[mur_,epsr_,zo_,rG_,rL_,ltl_]:=(muo=1.2566*10^-6;epso=8.85*10^-12;mu=mur*muo;eps=epsr*epso;v=Sqrt[1/(mu*eps)]/10^6;(*the 10^6 factor is to convert our speed from m/s to m/μs*)
tauG1=zo/(zo+rG);
gamL1=(rL-zo)/(rL+zo);gamG1=(rG-zo)/(rG+zo);(*Each time we travel along the TL in the forward direction, our Δz=ltl, and our Δt=ltl/v *)
dt=ltl/v;
vf1=Graphics[{Red,Arrowheads[0.1],Thickness[0.1*tauG1],Arrow[{{0,0},{ltl,dt}}]}];
vr1=Graphics[{Red,Arrowheads[0.1],Thickness[0.1*tauG1*gamL1],Arrow[{{ltl,dt},{0,2*dt}}]}];
zaxis=Graphics[Line[{{0,0},{ltl,0}}]];
yaxis=Graphics[Line[{{0,0},{0,2*dt}}]];
Show[ yaxis,zaxis,vf1,vr1,AspectRatio->1,Axes->True])

bouncev1[1,1,50,25,150,300]

You’ll notice a couple of things here:  First, I am making the thickness of the arrows proportional to the amplitude of the impulse. Second, the positive t axis is going up, not down, as is typical for a bounce diagram.  In a typical bounce diagram, we would want to label each line with the amplitude, and we want the positve t axis in the down, direction.  We can fix the labeling issue, but it turns out Mathematica is rather a pain about how it orients its axes.  We could, of course, make our t’s negative, but for now, let’s just stick with our ‘flipped’ bounce diagrams.

bouncev2[mur_,epsr_,zo_,rG_,rL_,ltl_]:=(muo=1.2566*10^-6;epso=8.85*10^-12;mu=mur*muo;eps=epsr*epso;v=Sqrt[1/(mu*eps)]/10^6;(*the 10^6 factor is to convert our speed from m/s to m/μs*)
tauG1=zo/(zo+rG);
gamL1=(rL-zo)/(rL+zo);gamG1=(rG-zo)/(rG+zo);(*Each time we travel along the TL in the forward direction, our Δz=ltl, and our Δt=ltl/v *)
dt=ltl/v;
vf1=Graphics[{Red,Arrowheads[0.1],Thickness[0.1*tauG1],Arrow[{{0,0},{ltl,dt}}]}];
vf1lab=Graphics[{Black,Text[tauG1,{ltl/3,dt/2}]}];
vr1=Graphics[{Red,Arrowheads[0.1],Thickness[0.1*tauG1*gamL1],Arrow[{{ltl,dt},{0,2*dt}}]}];
vr1lab=Graphics[{Black,Text[tauG1*gamL1,{ltl/3,3*dt/2}]}];
zaxis=Graphics[Line[{{0,0},{ltl,0}}]];
yaxis=Graphics[Line[{{0,0},{0,2*dt}}]];
Show[ yaxis,zaxis,vf1,vf1lab,vr1,vr1lab,AspectRatio->1,Axes->True,PlotRange->{{0,ltl},{2*dt,0}}])

bouncev2[1,1,50,25,150,300]

Multiple-Bounce Impulse Response

We have already shown that we can plot a one-bounce bounce diagram.  Let’s now extend this to n-bounces.
We can use the basic function that we started with, but we will just have to adjust it a little bit to plot all of the additional bounces...What we will do is use the Table function, to create a Table of Graphics commands, each one representing a different forward and backward traveling impulse.

bouncev3[mur_,epsr_,zo_,rG_,rL_,ltl_,n_]:=(muo=1.2566*10^-6;epso=8.85*10^-12;mu=mur*muo;eps=epsr*epso;v=Sqrt[1/(mu*eps)]/10^6;(*the 10^6 factor is to convert our speed from m/s to m/μs*)
tauG1=zo/(zo+rG);
gamL1=(rL-zo)/(rL+zo);gamG1=(rG-zo)/(rG+zo);(*Each time we travel along the TL in the forward direction, our Δz=ltl, and our Δt=ltl/v *)
dt=ltl/v;
vf1=Table[Graphics[{Red,Arrowheads[0.1],Thickness[Abs[0.1*tauG1*(gamG1*gamL1)^i]],Arrow[{{0,2*dt*i},{ltl,dt*(2*i+1)}}]}],{i,0,n}];(*Creates a table of arrows for each forward propagating bounce*)
vf1lab=Table[Graphics[{Black,Text[tauG1*(gamG1*gamL1)^i,{ltl/3,dt/2+2*i*dt}]}],{i,0,n}]; (*labels for amplitude of fwd bounces*)
vr1=Table[Graphics[{Red,Arrowheads[0.1],Thickness[Abs[0.1*tauG1*gamL1*(gamG1*gamL1)^i]],Arrow[{{ltl,dt+2*i*dt},{0,2*dt+2*i*dt}}]}],{i,0,n}];(*Creates a table of arrows for each backward propagating bounce*)
vr1lab=Table[Graphics[{Black,Text[tauG1*gamL1*(gamG1*gamL1)^i,{ltl/2,3*dt/2+2*i*dt}]}],{i,0,n}];(*labels for amplitude of bwd bounces*)
zaxis=Graphics[Line[{{0,0},{ltl,0}}]];
yaxis=Graphics[Line[{{0,0},{0,2*dt}}]];
Show[ yaxis,zaxis,vf1,vf1lab,vr1,vr1lab,AspectRatio->1,Axes->True,PlotRange->{{0,ltl},{2*dt*(n+1),0}}])

bouncev3[1,1,50,25,0,300,5]

Tada!!  No we have bounce diagrams that just make themselves!!  You should be able to do any of the HW bounce diagram problems using this code!
Below, write an expression for the CURRENT bounce diagram.  Feel free to cut and paste the above code as necessary!

bouncei1[mur_,epsr_,zo_,rG_,rL_,ltl_,n_]:=(muo=1.2566*10^-6;epso=8.85*10^-12;)

bouncei1[1,1,50,25,0,300,5]