JUK1
transistorComparison.m
Go to the documentation of this file.
1 function retVal = transistorComparison( DTIRPath, VFPath )
2 
3  retVal.d = readtable(DTIRPath);
4  retVal.v = readtable(VFPath);
5  sametime = false;
6  if retVal.d.time == retVal.v.time
7  sametime = true;
8  end
9 
10  figure();
11  plot( retVal.d.time, retVal.d.n7 ); hold on;
12  plot( retVal.v.time, retVal.v.n7, '--' ); hold off;
13  title( "S-Param input" );
14  figure();
15  plot( retVal.d.time, retVal.d.n16 ); hold on;
16  plot( retVal.v.time, retVal.v.n16, '--' ); hold off;
17  title( "S-Param output" );
18  if sametime
19  figure();
20  plot( retVal.d.time, retVal.d.n7 - retVal.v.n7 );
21  title( "S-Param input difference" );
22  figure();
23  plot( retVal.d.time, retVal.d.n16 - retVal.v.n16 );
24  title( "S-Param output difference" );
25  end
26 
27  f_s.d = 1 / retVal.d.time( 2 );
28  f_s.v = 1 / retVal.v.time( 2 );
29  f_s.d = f_s.d * 1e9;
30  f_s.v = f_s.v * 1e9;
31 
32  time.d = retVal.d.time(end) + retVal.d.time( 2 );
33  time.v = retVal.v.time(end) + retVal.v.time( 2 );
34  time.d = time.d * 1e-9;
35  time.v = time.v * 1e-9;
36 
37  %freqSequence.d = 0 : 1 / time.d : f_s.d - 1 / time.d;
38  %freqSequence.v = 0 : 1 / time.v : f_s.v - 1 / time.v;
39 
40  freqSequence.d = - f_s.d/2 : 1 / time.d : f_s.d/2 - 1 / time.d;
41  freqSequence.v = - f_s.v/2 : 1 / time.v : f_s.v/2 - 1 / time.v;
42 
43  N7.d = fftshift( fft( retVal.d.n7 ) );
44  N16.d = fftshift(fft( retVal.d.n16 ));
45  N7.v = fftshift(fft( retVal.v.n7 ));
46  N16.v = fftshift(fft( retVal.v.n16 ));
47 
48  figure();
49  plot( freqSequence.d, abs( fftshift( fft( retVal.d.n9 ) ) ) );
50  set( gca, 'YScale', 'log' );
51  title( "FFT Transistor input" );
52 
53  figure();
54  plot( freqSequence.d, abs( N7.d ) );
55  title( "FFT S-Param input DTIR" );
56  set( gca, 'YScale', 'log' );
57 
58  figure();
59  plot( freqSequence.d, abs( N16.d ) );
60  title( "FFT S-Param output DTIR" );
61  set( gca, 'YScale', 'log' );
62 
63  figure();
64  plot( freqSequence.v, abs( N7.v ) );
65  title( "FFT S-Param input VF" );
66  set( gca, 'YScale', 'log' );
67 
68  figure();
69  plot( freqSequence.v, abs( N16.v ) );
70  title( "FFT S-Param output VF" );
71  set( gca, 'YScale', 'log' );
72  disp("done");
73 
74  figure();
75  plot( freqSequence.d, abs( N16.d ) ./ abs( N7.d ) );
76  title( "FFT S-Param Trans DTIR" );
77  set( gca, 'YScale', 'log' );
78  disp("done");
79 
80  figure();
81  plot( freqSequence.v, abs( N16.v ) ./ abs( N7.v ) );
82  title( "FFT S-Param Trans VF" );
83  set( gca, 'YScale', 'log' );
84  disp("done");
85 
86 
87 
88 end
freqSequence
Definition: Freq.m:12
f_s
Definition: Freq.m:11
std::vector< std::complex< T > > fft(const std::vector< T > &inputData)
Definition: dft.hpp:54
end if abs(real(dotprod))>rstoerst rstoerst
end figure()
function retVal
hold on
end f_s d
hold off
retVal v
title("S-Param input")
disp("done")
plot(retVal.d.time, retVal.d.n7)
if retVal d time