ECE 451 Black Box Modeling Jose E. Schutt-Aine Electrical & Computer Engineering University of Illinois jose@emlab.uiuc.edu ECE 451 Copyright © by Jose E. Schutt‐Aine , All Rights Reserved 1 Simulation for Digital Design Nonlinear Network 1 Nonlinear Network 3 Linear N-Port with Measured S-Parameters Nonlinear Network 4 Objective: Perform time‐ domain simulation of composite network to determine timing waveforms, noise response or eye diagrams Nonlinear Network 2 ECE 451 Copyright © by Jose E. Schutt‐Aine , All Rights Reserved 2 Macromodel Implementation Frequency-Domain Data IFFT MOR Discrete Convolution Recursive Convolution STAMP Circuit Simulator Output ECE 451 Copyright © by Jose E. Schutt‐Aine , All Rights Reserved 3 Black Box Synthesis Motivations • Only measurement data is available • Actual circuit model is too complex Methods • Inverse-Transform & Convolution • IFFT from frequency domain data • Convolution in time domain • Macromodel Approach • Curve fitting • Recursive convolution ECE 451 Copyright © by Jose E. Schutt‐Aine , All Rights Reserved 4 IFFT/Convolution Approach to Macromodels Vg1 Vgi V1 I1 Zg2 Zgi Blackbox [S] : : Ii Vi In frequency domain In time domain B=SA b(t) = s(t)*a(t) Convolution: s( t )* a( t ) s( t )a( )d ECE 451 Copyright © by Jose E. Schutt‐Aine , All Rights Reserved 5 Discrete Convolution When time is discretized the convolution becomes t s( t )* a ( t ) s( t )a( ) 1 Isolating a(t) t 1 s( t )* a( t ) s( 0 )a( t ) s( t )a( ) 1 Since a() is known for < t, we have: t 1 H( t ) s( t )a( ) : History 1 ECE 451 Copyright © by Jose E. Schutt‐Aine , All Rights Reserved 6 Termination Conditions Defining s'(0) =s(0)we finally obtain b(t) = s'(0)a (t) + H (t) a(t) = (t)b(t) + T(t)g(t) By combining these equations, the stamp can be derived ECE 451 Copyright © by Jose E. Schutt‐Aine , All Rights Reserved 7 Stamp Generation from Convolution i( t ) Ystamp v( t ) I stamp Ystamp Z 1 o 1 s'( 0 ) 1 s'( 0 ) I stamp 2Z 1 1 o Termination 1 s'( 0 ) 1 i H( t ) Black Box + Ig Yg v Ystamp Istamp - (Yg Ystamp )v(t ) I g I stamp ECE 451 Copyright © by Jose E. Schutt‐Aine , All Rights Reserved 8 Inverse FFT Procedure 1. The sampled data for the blackbox will come with the following set of parameters: number of points M, start frequency f1, stop frequency f2 (and frequency step f). 2. We wish to process the data. For this purpose we will define our own set of parameters which may or may not be the same as those of the original data. Number of points N, start frequency fstart, stop frequency fstop. From the discussion above we learned that the start frequency is best set to zero; therefore, all of the parameters will be set by the choice of two quantities: N and fstop. 3. Perform extrapolation and interpolation of raw data and map the M points from the raw data into the N points of the processed data 4. Determine the frequency step, fstep=fstop/N. From this, the time step (tstep=1/(2Nfstep)), the total duration of the simulation (tstop=Ntstep) are determined; the frequency-domain data points can now be be arranged as follows a b c d e f 5. Set the imaginary parts of the first and last points to zero: Imag{a}=0, and Imag{g}=0 ECE 451 Copyright © by Jose E. Schutt‐Aine , All Rights Reserved 9 Inverse FFT Procedure 6. Fold the data with respect to its conjugate mirror image in order to insure that the time-domain response will be pure real; this looks as follows (* indicates complex conjugate): g f* e* d* c* b* a b c d e f where g and a are now real quantities. The total number of points is N2=2N 7. Feed those N2 points to IFFT routine to obtain inverse FFT. After the IFFT call, scale all the points in the returned array by dividing them by (N2tstep). The data now looks like o p q r s t u v w x y z 8. These points should all be real. They are the time-domain impulse response. 9. If everything is fine, proceed by keeping only the first N points of the sequence (o to t). They represent the impulse response of the data and will be used for the time-domain convolution ECE 451 Copyright © by Jose E. Schutt‐Aine , All Rights Reserved 10 Importance of Low-Frequency V( f ) Calculating inverse Fourier Transform of: No DC component (lowest freq: 10 MHz) 2sin 2 ft 2 ft With DC component 1.2 0 1 -0.5 0.8 Volts Volts 0.6 -1 0.4 0.2 -1.5 0 -2 0 20 40 60 80 100 120 -0.2 0 20 40 60 80 100 120 Time (ns) Time (ns) Left: IFFT of a sinc pulse sampled from 10 MHz to 10 GHz. Right: IFFT of the same sinc pulse with frequency data ranging from 0-10 GHz. In both cases 1000 points are used ECE 451 Copyright © by Jose E. Schutt‐Aine , All Rights Reserved 11 Recursive Convolution Limitations • Convolution is slow • Linear network block can be large Motivation for Recursive Convolution • Faster • Requires transfer function to have the form: L a1i H ( ) A1 i 1 1 j / c1i ECE 451 Copyright © by Jose E. Schutt‐Aine , All Rights Reserved 12 Time Domain Solution Using Recursive Convolution Given the frequency-domain relation: Y ( ) H ( ) X ( ) If the transfer function is written as L ai H ( ) A 1 / j i 1 ci Then, the time domain relationship (for step invariant model) is: L y (nT ) Ax (n K )T y pi (nT ) i 1 where y pi (nT ) ai (1 e ciT ) x (n K 1)T e ciT y pi ( n 1)T This is also called recursive convolution ECE 451 Copyright © by Jose E. Schutt‐Aine , All Rights Reserved 13 Macromodel ‐ Approximation Objective: Approximate frequency-domain transfer function to take the form: L a1i H ( ) A1 i 1 1 j / c1i Methods • • • • • AWE – Pade Pade via Lanczos (Krylov methods) Rational Function Chebyshev-Rational function Vector Fitting Method ECE 451 Copyright © by Jose E. Schutt‐Aine , All Rights Reserved 14 Attributes for Macromodel • Numerical Robustness – Accuracy – Passivity – Causality • User Flexibility – Automatic selection of starting poles – Automatic determination of order • Compensation Features – Frequency truncation – No DC information – Measurement noise ECE 451 Copyright © by Jose E. Schutt‐Aine , All Rights Reserved 15 Causality - Hilbert Transform Analysis Enforce causality h(t ) 0, t 0 Every function can be considered as the sum of an even function and an odd function h(t ) he (t ) ho (t ) 1 h(t ) h(t ) 2 1 ho (t ) h(t ) h(t ) 2 he (t ) Even function Odd function he (t ), t 0 ho (t ) he (t ), t 0 ho (t ) sgn(t ) he (t ) ECE 451 Copyright © by Jose E. Schutt‐Aine , All Rights Reserved 16 Causality - Hilbert Transform Analysis h(t ) he (t ) sgn(t ) he (t ) In frequency domain this becomes H ( f ) He ( f ) 1 j f * He ( f ) H ( f ) H e ( f ) jHˆ e ( f ) Hˆ e ( f ) is the Hilbert transform of H e ( f ) 1 1 x( ) xˆ (t ) x(t ) * d t t ECE 451 Imaginary part of transfer function is related to the real part through the Hilbert transform Discrete Hilbert Transform hn 2 , k n n odd HT (hn ) hˆk 2 hn , n even k n Copyright © by Jose E. Schutt‐Aine , All Rights Reserved k even k odd 17 HT for Coupled Lines: 300 KHz – 6 GHz Actual is red, HT is blue Actual Transform Actual Transform Real Part of S11 0.2 0.1 0.1 Imag(S11) 0.2 Real(S11) Imaginary Part of S11 0.3 0.3 0 0 -0.1 -0.1 -0.2 -0.2 -0.3 -0.3 0 500 1000 1500 Actual Transform 2000 2500 3000 0 3500 Actual 500 1000 Transform 1500 2000 2500 3000 3500 A A Imag(S12) 1 Real(S12) 1 0.5 Real(S12) Imag(S12) 0.5 0 0 -0.5 -0.5 -1 0 500 1000 1500 2000 2500 3000 3500 -1 0 500 1000 1500 2000 2500 3000 3500 A A ECE 451 Observation: Good agreement Copyright © by Jose E. Schutt‐Aine , All Rights Reserved 18 HT for Via: 1 MHz – 20 GHz Actual Transform Actual Transform Actual is red, HT is blue Real(S11) - Via Imag(S11) - Via 0.3 0.5 0.2 0.1 Actual Actual 0 -0.1 0 -0.2 -0.3 -0.4 0 100 200 300 400 500 600 700 -0.5 Actual Transform Actual 100 Transform 200 0 300 400 500 600 700 A A Real(S12) - Via Imag(S12) - Via 1 1 0.5 0.5 Real(S12) Imag(S12) 0 0 -0.5 -0.5 -1 -1.5 0 100 200 300 400 A 500 600 700 -1 0 100 200 300 400 500 600 700 Observation: Poor agreement (because frequency range is limited) ECE 451 A Copyright © by Jose E. Schutt‐Aine , All Rights Reserved 19 Approximation function Measurement Data Measurement Data S-parameter Approximation function S-parameter S-parameter Orders of Approximation Approximation function Measurement Data Frequency Frequency Frequency Low order LT Medium order LT LT CT ECE 451 Higher order Copyright © by Jose E. Schutt‐Aine , All Rights Reserved LT CT CT 20 Measurement Data 1.- DISC: Transmission line with discontinuities Length = 7 inches 2.- COUP: Coupled transmission line2 Line A u Line B v x dx y w z dx = 51/2 inches Frequency sweep: 300 KHz – 6 GHz ECE 451 Copyright © by Jose E. Schutt‐Aine , All Rights Reserved 21 DISC: Approximation Results DISC: Approximation order 90 ECE 451 Copyright © by Jose E. Schutt‐Aine , All Rights Reserved 22 COUP: Approximation Results COUP: Approximation order 75 – Before Passivity Enforcement ECE 451 Copyright © by Jose E. Schutt‐Aine , All Rights Reserved 23 Results After Passivity Check TL with capacitive discontinuity Magnitude plot of Y11, measured data and the 30-th order rational approximation with passivity check ECE 451 Phase plot of Y11, measured data and the 30-th order rational approximation with passivity check Copyright © by Jose E. Schutt‐Aine , All Rights Reserved 24 Coupled Lines – Measured on ANA c a Port 1: a – Port 2: d Data from 300 KHz to 6 GHz d b x Exact Convolution 0.6 0.6 0.5 0.5 0.4 0.4 0.3 0.3 0.2 B B d y x 0.1 0.2 0.1 0 0 -0.1 -0.1 -0.2 30 35 40 45 50 -0.2 30 35 A 40 45 50 A Observation: Good agreement ECE 451 Copyright © by Jose E. Schutt‐Aine , All Rights Reserved 25 Microstrip with Steps – Measured on ANA Microstrip line with discontinuities Data from 300 KHz to 6 GHz 1 2 Exact Exact 1.2 1 1 0.8 0.8 0.6 0.6 B B 1.2 0.4 0.4 0.2 0.2 0 0 -0.2 -0.2 30 32 34 36 38 40 30 32 A 34 36 38 40 A Observation: Good agreement ECE 451 Copyright © by Jose E. Schutt‐Aine , All Rights Reserved 26