SYSTEM DESIGN ASSIGNMENT 1
SUBMITTED BY :- [Link] (113079017) VISMAY DESAI (11307R007)
OBJECTIVE => In this assignment, various characteristics of transmission line is understood by determining the Transient response, Impulse response and AC response of a system consisting of cascaded transmission lines. The simulation part is done in NGSPICE and MATLAB, which are then compared with the theoretical solution to get verified.
DIAGRAM =>
THEORETICAL SOLUTION => 1. Transient Response : Transient response of a system basically gives us the behavior of a system for a DC input applied. For this assignment, we are taking a step input to determine the transient response of the above system. Since this system consist of two cascaded transmission lines, we can split the system into two half, taking one transmission line into consideration at a time. Thus for first transmission (T1) line, parallel combination of Rb and second transmission line (T2) forms the load (Rp1). While when T2 is taken into consideration, parallel combination of T1 and Rb makes the load (Rp2). Thus Rp1 = Rp2 =Rp= (Rb*Zo) / (Rb + Zo), where, Zo1=Zo2=Zo Now, since the load of each transmission line is not matched to its characteristic impedance, so there will be one reflected and one transmitted component of each incident wave. Thus there should be some reflection coefficients for wave entering from either side of the transmission line. Assuming Rxy be the reflection coefficient at node x for a signal entered at node y, and Txy be the transmission coefficient at node x moving towards node y, then following will be the reflection and transmission coefficients for different propagations :
Rba = (Rp - Zo) / (Rp + Zo) Rab = (Rsrc Zo) / (Rsrc + Zo) Rcb = (Rl - Zo) / (Rl + Zo) Rbc = (Rp - Zo) / (Rp + Zo) Tbc = (1+Rba) Tba = (1+Rbc) Now, since we got all the reflection and transmission coefficients, we can calculate the voltage level at any of the node. For obtaining transient responses at node A,B & C, we will determine the intermediate voltages Var, Vbr1, Vbr2 & Vcr given as following :
A Vsrc Var (Rab)
(tp1=0.5ns)
B Vbr1 Vbr2 (Rba) (Rbc)
(tp2=0.7ns)
C Vcr (Rcb)
For an step input of 1V, we have the source voltage (Vsrc) at the input of T1 transmission line given by :Vsrc = Vin * Zo / (Zo + Rs) At any instant of time t, value of Var , Vbr1 , Vbr2 and Vcr will be given by Var(t) = Vsrc + [ Vbr1(t-tp1) ] * Rab Vbr1(t) = [ Var(t-tp1) ] * Rba + [ Vcr(t-tp2) ] * Tba Vbr2(t) = [ Var(t-tp1) ] * (Tbc) + [ Vcr(t-tp2) ] * Rbc Vcr(t) = [ Vbr2(t-tp2) ] * Rcb Where tp1 and tp2 are the time delay caused by the transmission line T1 & T2 resp. to the signal propagated through them. As we know that the voltage at any node is the sum of the net voltage incident to it alongwith the net voltage reflected from it. So, for a step input, transient response at node A,B & C will be determined as : Va(t) = Vsrc + [ Vbr1(t-tp1) ] * (1+Rab) Vb(t) = [ Var(t-tp1) ] * (Tbc) + [ Vcr(t-tp2) ] * Tba Vc(t) = [ Vbr2(t-tp2) ] * (1+Rcb)
2. Impulse Response :For deriving the impulse response of the system, we need to give an impulse as the input to the system at Vin. For this input we will get the voltage level at different node corresponding to different time So the intermediate voltages will come out to be the following : Var(t) = [ Vbr1(t-tp1) ] * Rab Vbr1(t) = [ Var(t-tp1) ] * Rba + [ Vcr(t-tp2) ] * Tba Vbr2(t) = [ Var(t-tp1) ] * (Tbc) + [ Vcr(t1-tp2) ] * Rbc Vcr(t) = [ Vbr2(t-tp2) ] * Rcb And thus the node voltages will be given by Va_i(t) = [ Vbr1(t-tp1) ] * (1+Rab) Vb_i(t) = [ Var(t-tp1) ] * (Tbc) + [ Vcr(t-tp2) ] * Tba Vc_i(t) = [ Vbr2(t-tp2) ] * (1+Rcb)
3. AC Response :Since we have the impulse response of the system in the time domain, we can determine the AC response by simply determining the Fourier Transform of the Impulse response. This can be used further to extract systems behavior for different range of frequency.
MATLAB SIMULATION => CODE :clear all; clc; z0=50; tp1=50; tp2=70; rs=25; rb=100; rl=200; t=(0:0.01:50)*1e-9 ; vsrc=zeros(1,5001); va=zeros(1,5001); vb=zeros(1,5001); vc=zeros(1,5001); va_i=zeros(1,5001); vb_i=zeros(1,5001); vc_i=zeros(1,5001); Var=zeros(1,5001); Vbr2=zeros(1,5001);
Vbr1=zeros(1,5001); Vcr=zeros(1,5001); rp = (rb*z0)/(rb+z0) ; % declaring reflection coefficients Rba Rab Rcb Rbc Tbc Tba = = = = = = (rp - z0)/(rp (rs - z0)/(rs (rl - z0)/(rl (rp - z0)/(rp (1+Rba); (1+Rbc); + + + + z0); z0); z0); z0);
vs = 1; v1 = vs*z0/(z0+rs); for t1= 1001:1:5001 Var(t1) = v1 + [Vbr1(t1-tp1)]*Rab ; Vbr1(t1) = [Var(t1-tp1)]*Rba + [Vcr(t1-tp2)]*Tba ; Vbr2(t1) = [Var(t1-tp1)]*(Tbc) + [Vcr(t1-tp2)]*Rbc ; Vcr(t1) = [Vbr2(t1-tp2)]*Rcb ; va(t1) = v1 + [Vbr1(t1-tp1)]*(1+Rab) ; vb(t1) = [Var(t1-tp1)]*(Tbc) + [Vcr(t1-tp2)]*Tba ; vc(t1) = [Vbr2(t1-tp2)]*(1+Rcb) ; end % PLOTTING TRANSIENT RESPONSE figure(1); hold on; grid on; box on; plot(t*10^8,va,'b','linewidth', 2) plot(t*10^8,vb,'r','linewidth', 2) plot(t*10^8,vc,'g','linewidth', 2) legend('va','vb','vc'); xlabel('Time (ns)', 'fontsize', 14); ylabel('Voltage (V)', 'fontsize', 14); ylim([0 1.5]) set(gca, 'fontsize', 14); title('Transient response (for step input)', 'fontsize', 14); for t1= 1001:1:5001 if(t1==1001) Var(t1) = v1 + [Vbr1(t1-tp1)]*Rab ; Vbr1(t1) = [Var(t1-tp1)]*Rba + [Vcr(t1-tp2)]*Tba ; Vbr2(t1) = [Var(t1-tp1)]*(Tbc) + [Vcr(t1-tp2)]*Rbc ; Vcr(t1) = [Vbr2(t1-tp2)]*Rcb ; else Var(t1) = [Vbr1(t1-tp1)]*Rab ; Vbr1(t1) = [Var(t1-tp1)]*Rba + [Vcr(t1-tp2)]*Tba ; Vbr2(t1) = [Var(t1-tp1)]*(Tbc) + [Vcr(t1-tp2)]*Rbc ; Vcr(t1) = [Vbr2(t1-tp2)]*Rcb ; end end
for t1= 1001:1:5001 if(t1==1001) va_i(t1) vb_i(t1) vc_i(t1) else va_i(t1) vb_i(t1) vc_i(t1) end end %PLOTTING IMPULSE RESPONSE figure(2); hold on; grid on; box on; plot(t*10^8,va_i,'b','linewidth', 2) plot(t*10^8,vb_i,'r','linewidth', 2) plot(t*10^8,vc_i,'g','linewidth', 2) legend('va_i','vb_i','vc_i'); xlabel('Time (ns)', 'fontsize', 14); ylabel('Voltage (V)', 'fontsize', 14); set(gca, 'fontsize', 14); title('Impulse response (for impulse input)', 'fontsize', 14); xlim([0.5 2]) %PLOTTING AC RESPONSE figure(3); H=fft(vc_i); semilogx((0:5000)*0.05, 20*log10(abs(H)), 'linewidth', 2); grid on; xlim([0 100]); xlabel('Frequency (GHz)', 'fontsize', 14); ylabel('Magnitude (dB scale)', 'fontsize', 14); title('Frequency (AC) response', 'fontsize', 14); set(gca, 'fontsize', 14); = v1 + [Vbr1(t1-tp1)]*(1+Rab) ; = [Var(t1-tp1)]*(Tbc) + [Vcr(t1-tp2)]*Tba ; = [Vbr2(t1-tp2)]*(1+Rcb) ; = [Vbr1(t1-tp1)]*(1+Rab) ; = [Var(t1-tp1)]*(Tbc) + [Vcr(t1-tp2)]*Tba ; = [Vbr2(t1-tp2)]*(1+Rcb) ;
RESPONSES :-
NGSPICE SIMULATION => CODE :TRANSMISSION LINE SYSTEM * *THIS CIRCUIT SIMULATES A SYSTEM WITH CASCADED TRANSMISSION LINES * vin input 0 0 AC 1 PULSE (0 1 1ns 0.1ns 0.1ns 100ns 200ns) Rsrc Rb RL T1 T2 input A B 0 C 0 A 0 B 0 B 0 C 0 25 100 200 Z0=50 TD=0.5NS Z0=50 TD=0.7NS
.control *Transient analysis (for time domain response): TRAN 0.01ns 20ns plot v(A) v(B) v(C) *AC analysis (for frequency domain response): ac DEC 1000 10MEG 10G * Plot node voltages in dB scale plot vdbC) .endc .end
RESPONSE :-
RESULT :The simulation done in MATLAB & NGSPICE is matching with that with the theoretical solution. Hence the result is verified.