├── .gitignore ├── images ├── shift_cal_plane.png ├── example_1_cal_dut.png ├── example_2_cal_dut.png ├── example_3_std_0_1.png ├── example_3_std_0_2.png ├── example_1_ereff_loss.png ├── example_2_ereff_loss.png └── shift_cal_plane.svg ├── LICENSE ├── example_1.py ├── example_2.py ├── TUGmTRL.py ├── README.md ├── example_3.py ├── MultiCal.py ├── mTRL.py └── s2p_example_2 └── MPI_line_0200u.s2p /.gitignore: -------------------------------------------------------------------------------- 1 | __pycache__/ 2 | -------------------------------------------------------------------------------- /images/shift_cal_plane.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZiadHatab/multiline-trl-calibration/HEAD/images/shift_cal_plane.png -------------------------------------------------------------------------------- /images/example_1_cal_dut.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZiadHatab/multiline-trl-calibration/HEAD/images/example_1_cal_dut.png -------------------------------------------------------------------------------- /images/example_2_cal_dut.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZiadHatab/multiline-trl-calibration/HEAD/images/example_2_cal_dut.png -------------------------------------------------------------------------------- /images/example_3_std_0_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZiadHatab/multiline-trl-calibration/HEAD/images/example_3_std_0_1.png -------------------------------------------------------------------------------- /images/example_3_std_0_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZiadHatab/multiline-trl-calibration/HEAD/images/example_3_std_0_2.png -------------------------------------------------------------------------------- /images/example_1_ereff_loss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZiadHatab/multiline-trl-calibration/HEAD/images/example_1_ereff_loss.png -------------------------------------------------------------------------------- /images/example_2_ereff_loss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZiadHatab/multiline-trl-calibration/HEAD/images/example_2_ereff_loss.png -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | BSD 3-Clause License 2 | 3 | Copyright (c) 2022, Ziad Hatab 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | 1. Redistributions of source code must retain the above copyright notice, this 10 | list of conditions and the following disclaimer. 11 | 12 | 2. Redistributions in binary form must reproduce the above copyright notice, 13 | this list of conditions and the following disclaimer in the documentation 14 | and/or other materials provided with the distribution. 15 | 16 | 3. Neither the name of the copyright holder nor the names of its 17 | contributors may be used to endorse or promote products derived from 18 | this software without specific prior written permission. 19 | 20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 24 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 26 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 27 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 28 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | -------------------------------------------------------------------------------- /example_1.py: -------------------------------------------------------------------------------- 1 | """ 2 | Example to demonstrate how to do mTRL calibration. This is a 2nd-tier mTRL calibration (aka de-embedding) 3 | The .s2p files already went through a 1st-tier calibration. 4 | """ 5 | import os 6 | 7 | # need to be installed via pip 8 | import skrf as rf 9 | import numpy as np 10 | import matplotlib.pyplot as plt # for plotting 11 | 12 | # my script (MultiCal.py and TUGmTRL must also be in same folder) 13 | from mTRL import mTRL 14 | 15 | class PlotSettings: 16 | # to make plots look better for publication 17 | # https://matplotlib.org/stable/tutorials/introductory/customizing.html 18 | def __init__(self, font_size=10, latex=False): 19 | self.font_size = font_size 20 | self.latex = latex 21 | def __enter__(self): 22 | plt.style.use('seaborn-v0_8-paper') 23 | # make svg output text and not curves 24 | plt.rcParams['svg.fonttype'] = 'none' 25 | # fontsize of the axes title 26 | plt.rc('axes', titlesize=self.font_size*1.2) 27 | # fontsize of the x and y labels 28 | plt.rc('axes', labelsize=self.font_size) 29 | # fontsize of the tick labels 30 | plt.rc('xtick', labelsize=self.font_size) 31 | plt.rc('ytick', labelsize=self.font_size) 32 | # legend fontsize 33 | plt.rc('legend', fontsize=self.font_size*1) 34 | # fontsize of the figure title 35 | plt.rc('figure', titlesize=self.font_size) 36 | # controls default text sizes 37 | plt.rc('text', usetex=self.latex) 38 | #plt.rc('font', size=self.font_size, family='serif', serif='Times New Roman') 39 | plt.rc('lines', linewidth=1.5) 40 | def __exit__(self, exception_type, exception_value, traceback): 41 | plt.style.use('default') 42 | 43 | def plot_2x2(NW, fig, axs, f_units='ghz', name='mTRL', title='mTRL'): 44 | NW.frequency.unit = f_units 45 | NW.name = name 46 | for inx in NW.port_tuples: 47 | m = inx[0] 48 | n = inx[1] 49 | NW.plot_s_db(m=m, n=n, ax=axs[inx]) 50 | fig.suptitle(title) 51 | fig.tight_layout(pad=1.08) 52 | 53 | # main script 54 | if __name__ == '__main__': 55 | # useful functions 56 | c0 = 299792458 # speed of light in vacuum (m/s) 57 | mag2db = lambda x: 20*np.log10(abs(x)) 58 | db2mag = lambda x: 10**(x/20) 59 | gamma2ereff = lambda x,f: -(c0/2/np.pi/f*x)**2 60 | ereff2gamma = lambda x,f: 2*np.pi*f/c0*np.sqrt(-(x-1j*np.finfo(complex).eps)) # eps to ensure positive square-root 61 | gamma2dbmm = lambda x: mag2db(np.exp(x.real*1e-3)) # losses dB/mm 62 | # load the measurements 63 | # files' path are reference to script's path 64 | s2p_path = os.path.dirname(os.path.realpath(__file__)) + '\\s2p_example_1\\' 65 | 66 | # Calibration standards 67 | L1 = rf.Network(s2p_path + 'Cascade_line_0200u.s2p') 68 | L2 = rf.Network(s2p_path + 'Cascade_line_0450u.s2p') 69 | L3 = rf.Network(s2p_path + 'Cascade_line_0900u.s2p') 70 | L4 = rf.Network(s2p_path + 'Cascade_line_1800u.s2p') 71 | L5 = rf.Network(s2p_path + 'Cascade_line_3500u.s2p') 72 | L6 = rf.Network(s2p_path + 'Cascade_line_5250u.s2p') # used as well as DUT 73 | SHORT = rf.Network(s2p_path + 'Cascade_short.s2p') 74 | 75 | lines = [L1, L2, L3, L4, L5, L6] 76 | line_lengths = [200e-6, 450e-6, 900e-6, 1800e-6, 3500e-6, 5250e-6] 77 | reflect = [SHORT] 78 | reflect_est = [-1] 79 | reflect_offset = [0] 80 | 81 | cal = mTRL(lines=lines, line_lengths=line_lengths, reflect=reflect, 82 | reflect_est=reflect_est, reflect_offset=reflect_offset, ereff_est=5+0j, 83 | lnorm = 1, compensate_repeated_lines=False) 84 | 85 | DUT = L6 86 | # using NIST MultiCal 87 | cal.run_multical() 88 | dut_cal_nist = cal.apply_cal(DUT) 89 | gamma_mul = cal.gamma 90 | ereff_mul = cal.ereff 91 | 92 | # using TUG mTRL 93 | cal.run_tug() 94 | dut_cal_tug = cal.apply_cal(DUT) 95 | gamma_tug = cal.gamma 96 | ereff_tug = cal.ereff 97 | 98 | # using skrf 99 | line_lengths = line_lengths 100 | offset = line_lengths[0] 101 | line_lengths = [i - offset for i in line_lengths] # to set the reference the same as my code 102 | measured = [L1, SHORT, L2, L3, L4, L5, L6] 103 | cal_skrf = rf.NISTMultilineTRL( 104 | measured = measured, 105 | Grefls = [-1], 106 | l = line_lengths, 107 | er_est = 5+0j, 108 | ) 109 | cal_skrf.run() 110 | dut_cal_skrf = cal_skrf.apply_cal(DUT) 111 | gamma_skrf = cal_skrf.gamma 112 | ereff_skrf = cal_skrf.er_eff 113 | 114 | with PlotSettings(14): 115 | fig, axs = plt.subplots(2,2, figsize=(10,7)) 116 | fig.set_dpi(150) 117 | plot_2x2(dut_cal_nist, fig, axs, name='NIST MultiCal', title='Calibrated DUT (Line)') 118 | plot_2x2(dut_cal_tug, fig, axs, name='TUG mTRL', title='Calibrated DUT (Line)') 119 | plot_2x2(dut_cal_skrf, fig, axs, name='skrf', title='Calibrated DUT (Line)') 120 | 121 | f = L1.frequency.f 122 | with PlotSettings(14): 123 | fig, axs = plt.subplots(1,2, figsize=(10,3.8)) 124 | fig.set_dpi(150) 125 | fig.tight_layout(pad=2) 126 | ax = axs[0] 127 | ax.plot(f*1e-9, ereff_mul.real, lw=2, label='NIST MultiCal', 128 | marker='^', markevery=50, markersize=10) 129 | ax.plot(f*1e-9, ereff_tug.real, lw=2, label='TUG mTRL', 130 | marker='v', markevery=50, markersize=10) 131 | ax.plot(f*1e-9, ereff_skrf.real, lw=2, label='skrf', 132 | marker='>', markevery=50, markersize=10) 133 | ax.set_xlabel('Frequency (GHz)') 134 | ax.set_ylabel('Relative effective permittivity') 135 | ax.set_ylim([4.5, 6]) 136 | ax.set_yticks(np.arange(4.5, 6.01, 0.3)) 137 | ax.set_xlim(0,150) 138 | ax.set_xticks(np.arange(0,151,30)) 139 | ax.legend() 140 | ax = axs[1] 141 | ax.plot(f*1e-9, gamma2dbmm(gamma_mul), lw=2, label='NIST MultiCal', 142 | marker='^', markevery=50, markersize=10) 143 | ax.plot(f*1e-9, gamma2dbmm(gamma_tug), lw=2, label='TUG mTRL', 144 | marker='v', markevery=50, markersize=10) 145 | ax.plot(f*1e-9, gamma2dbmm(gamma_skrf), lw=2, label='skrf', 146 | marker='>', markevery=50, markersize=10) 147 | ax.set_xlabel('Frequency (GHz)') 148 | ax.set_ylabel('Loss (dB/mm)') 149 | ax.set_ylim([0, 1.5]) 150 | ax.set_yticks(np.arange(0, 1.51, 0.3)) 151 | ax.set_xlim(0,150) 152 | ax.set_xticks(np.arange(0,151,30)) 153 | ax.legend() 154 | 155 | plt.show() 156 | 157 | # EOF -------------------------------------------------------------------------------- /example_2.py: -------------------------------------------------------------------------------- 1 | """ 2 | Example to demonstrate how to do a 1st-tier mTRL calibration (raw data from VNA). 3 | """ 4 | import os 5 | 6 | # need to be installed via pip 7 | import skrf as rf 8 | import numpy as np 9 | import matplotlib.pyplot as plt 10 | 11 | # my script (MultiCal.py and TUGmTRL must also be in same folder) 12 | from mTRL import mTRL 13 | 14 | class PlotSettings: 15 | # to make plots look better for publication 16 | # https://matplotlib.org/stable/tutorials/introductory/customizing.html 17 | def __init__(self, font_size=10, latex=False): 18 | self.font_size = font_size 19 | self.latex = latex 20 | def __enter__(self): 21 | plt.style.use('seaborn-v0_8-paper') 22 | # make svg output text and not curves 23 | plt.rcParams['svg.fonttype'] = 'none' 24 | # fontsize of the axes title 25 | plt.rc('axes', titlesize=self.font_size*1.2) 26 | # fontsize of the x and y labels 27 | plt.rc('axes', labelsize=self.font_size) 28 | # fontsize of the tick labels 29 | plt.rc('xtick', labelsize=self.font_size) 30 | plt.rc('ytick', labelsize=self.font_size) 31 | # legend fontsize 32 | plt.rc('legend', fontsize=self.font_size*1) 33 | # fontsize of the figure title 34 | plt.rc('figure', titlesize=self.font_size) 35 | # controls default text sizes 36 | plt.rc('text', usetex=self.latex) 37 | #plt.rc('font', size=self.font_size, family='serif', serif='Times New Roman') 38 | plt.rc('lines', linewidth=1.5) 39 | def __exit__(self, exception_type, exception_value, traceback): 40 | plt.style.use('default') 41 | 42 | def plot_2x2(NW, fig, axs, f_units='ghz', name='mTRL', title='mTRL'): 43 | NW.frequency.unit = f_units 44 | NW.name = name 45 | for inx in NW.port_tuples: 46 | m = inx[0] 47 | n = inx[1] 48 | NW.plot_s_db(m=m, n=n, ax=axs[inx]) 49 | fig.suptitle(title) 50 | fig.tight_layout(pad=1.08) 51 | 52 | # main script 53 | if __name__ == '__main__': 54 | # useful functions 55 | c0 = 299792458 # speed of light in vacuum (m/s) 56 | mag2db = lambda x: 20*np.log10(abs(x)) 57 | db2mag = lambda x: 10**(x/20) 58 | gamma2ereff = lambda x,f: -(c0/2/np.pi/f*x)**2 59 | ereff2gamma = lambda x,f: 2*np.pi*f/c0*np.sqrt(-(x-1j*np.finfo(complex).eps)) # eps to ensure positive square-root 60 | gamma2dbmm = lambda x: mag2db(np.exp(x.real*1e-3)) # losses dB/mm 61 | 62 | # load the measurements 63 | # files' path are reference to script's path 64 | s2p_path = os.path.dirname(os.path.realpath(__file__)) + '\\s2p_example_2\\' 65 | 66 | # switch terms 67 | gamma_f = rf.Network(s2p_path + 'VNA_switch_term.s2p').s21 68 | gamma_r = rf.Network(s2p_path + 'VNA_switch_term.s2p').s12 69 | 70 | # Calibration standards 71 | L1 = rf.Network(s2p_path + 'MPI_line_0200u.s2p') 72 | L2 = rf.Network(s2p_path + 'MPI_line_0450u.s2p') 73 | L3 = rf.Network(s2p_path + 'MPI_line_0900u.s2p') 74 | L4 = rf.Network(s2p_path + 'MPI_line_1800u.s2p') 75 | L5 = rf.Network(s2p_path + 'MPI_line_3500u.s2p') 76 | L6 = rf.Network(s2p_path + 'MPI_line_5250u.s2p') # used as DUT 77 | SHORT = rf.Network(s2p_path + 'MPI_short.s2p') 78 | 79 | lines = [L1, L2, L3, L4, L5, L6] 80 | line_lengths = [200e-6, 450e-6, 900e-6, 1800e-6, 3500e-6, 5250e-6] 81 | reflect = [SHORT] 82 | reflect_est = [-1] 83 | reflect_offset = [-100e-6] 84 | 85 | cal = mTRL(lines=lines, line_lengths=line_lengths, reflect=reflect, 86 | reflect_est=reflect_est, reflect_offset=reflect_offset, ereff_est=5+0j, 87 | switch_term=[gamma_f, gamma_r]) 88 | 89 | DUT = L6 90 | # using NIST MultiCal 91 | cal.run_multical() 92 | k_nist = cal.k 93 | dut_cal_nist = cal.apply_cal(DUT) 94 | gamma_mul = cal.gamma 95 | ereff_mul = cal.ereff 96 | 97 | # using TUG mTRL 98 | cal.run_tug() 99 | k_tug = cal.k 100 | dut_cal_tug = cal.apply_cal(DUT) 101 | gamma_tug = cal.gamma 102 | ereff_tug = cal.ereff 103 | 104 | # using skrf 105 | line_lengths = line_lengths 106 | offset = line_lengths[0] 107 | line_lengths = [i - offset for i in line_lengths] # to set the reference the same as my code 108 | measured = [L1, SHORT, L2, L3, L4, L5, L6] 109 | cal_skrf = rf.NISTMultilineTRL( 110 | measured = measured, 111 | Grefls = [-1], 112 | l = line_lengths, 113 | refl_offset = reflect_offset, 114 | er_est = 5+0j, 115 | switch_terms = (gamma_f, gamma_r) 116 | ) 117 | cal_skrf.run() 118 | dut_cal_skrf = cal_skrf.apply_cal(DUT) 119 | gamma_skrf = cal_skrf.gamma 120 | ereff_skrf = cal_skrf.er_eff 121 | 122 | with PlotSettings(14): 123 | fig, axs = plt.subplots(2,2, figsize=(10,7)) 124 | fig.set_dpi(600) 125 | plot_2x2(dut_cal_nist, fig, axs, name='NIST MultiCal', title='Calibrated DUT (Line)') 126 | plot_2x2(dut_cal_tug, fig, axs, name='TUG mTRL', title='Calibrated DUT (Line)') 127 | plot_2x2(dut_cal_skrf, fig, axs, name='skrf', title='Calibrated DUT (Line)') 128 | 129 | f = L1.frequency.f 130 | with PlotSettings(14): 131 | fig, axs = plt.subplots(1,2, figsize=(10,3.8)) 132 | fig.set_dpi(600) 133 | fig.tight_layout(pad=2) 134 | ax = axs[0] 135 | ax.plot(f*1e-9, ereff_mul.real, lw=2, label='NIST MultiCal', 136 | marker='^', markevery=50, markersize=10) 137 | ax.plot(f*1e-9, ereff_tug.real, lw=2, label='TUG mTRL', 138 | marker='v', markevery=50, markersize=10) 139 | ax.plot(f*1e-9, ereff_skrf.real, lw=2, label='skrf', 140 | marker='>', markevery=50, markersize=10) 141 | ax.set_xlabel('Frequency (GHz)') 142 | ax.set_ylabel('Relative effective permittivity') 143 | ax.set_ylim([4.5, 6]) 144 | ax.set_yticks(np.arange(4.5, 6.01, 0.3)) 145 | ax.set_xlim(0,150) 146 | ax.set_xticks(np.arange(0,151,30)) 147 | ax.legend() 148 | ax = axs[1] 149 | ax.plot(f*1e-9, gamma2dbmm(gamma_mul), lw=2, label='NIST MultiCal', 150 | marker='^', markevery=50, markersize=10) 151 | ax.plot(f*1e-9, gamma2dbmm(gamma_tug), lw=2, label='TUG mTRL', 152 | marker='v', markevery=50, markersize=10) 153 | ax.plot(f*1e-9, gamma2dbmm(gamma_skrf), lw=2, label='skrf', 154 | marker='>', markevery=50, markersize=10) 155 | ax.set_xlabel('Frequency (GHz)') 156 | ax.set_ylabel('Loss (dB/mm)') 157 | ax.set_ylim([0, 1.5]) 158 | ax.set_yticks(np.arange(0, 1.51, 0.3)) 159 | ax.set_xlim(0,150) 160 | ax.set_xticks(np.arange(0,151,30)) 161 | ax.legend() 162 | 163 | plt.show() 164 | 165 | # EOF -------------------------------------------------------------------------------- /TUGmTRL.py: -------------------------------------------------------------------------------- 1 | """ 2 | @author: Ziad Hatab (zi.hatab@gmail.com) 3 | 4 | This is an implementation of multiline TRL calibration algorithm discussed in [1]. 5 | The implementation is different from the MultiCal algorithm from NIST [2,3], which solves N-1 6 | eigenvalue problems and combines their results using a Gauss-Markov linear estimator. 7 | 8 | The computation of the weighting matrix via Takagi decomposition was discussed in [4]. 9 | 10 | TUGmTRL: 11 | - Combines all lines measurement linearly using an optimal weighting matrix. 12 | - Solves a single eigenvalue problem. 13 | - Does not make assumptions about noise perturbation and aims to minimize 14 | error perturbation on eigenvectors. 15 | 16 | MultiCal: 17 | - Chooses a common line and creates N-1 pairs (N-1 eigenvalue problems). 18 | - Solves for the eigenvectors of the N-1 eigenvalue problems. 19 | - Combines the results using a Gauss-Markov linear estimator. 20 | Linearity of the eigenvectors with respect to any perturbation must remain linear for this to work! 21 | 22 | [1] Z. Hatab, M. Gadringer and W. Bösch, 23 | "Improving The Reliability of The Multiline TRL Calibration Algorithm," 24 | 2022 98th ARFTG Microwave Measurement Conference (ARFTG), 25 | Las Vegas, NV, USA, 2022, pp. 1-5, doi: 10.1109/ARFTG52954.2022.9844064. 26 | 27 | [2] D. C. DeGroot, J. A. Jargon and R. B. Marks, "Multiline TRL revealed," 28 | 60th ARFTG Conference Digest, Fall 2002., 29 | 2002, pp. 131-155, doi: 10.1109/ARFTGF.2002.1218696. 30 | 31 | [3] R. B. Marks, "A multiline method of network analyzer calibration", 32 | IEEE Transactions on Microwave Theory and Techniques, 33 | vol. 39, no. 7, pp. 1205-1215, July 1991. 34 | 35 | [4] Z. Hatab, M. Gadringer, and W. Bösch, 36 | "Propagation of Linear Uncertainties through Multiline Thru-Reflect-Line Calibration," 37 | e-print: https://arxiv.org/abs/2301.09126 38 | 39 | ##########-NOTE-########## 40 | This script is written to process only one frequency point. Therefore, you need 41 | to call this script in your main script and iterate through all frequency points. 42 | ##########-END-########## 43 | """ 44 | 45 | # python -m pip install numpy -U 46 | import numpy as np 47 | 48 | # constants 49 | c0 = 299792458 50 | Q = np.array([[0,0,0,1], [0,-1,0,0], [0,0,-1,0], [1,0,0,0]]) 51 | P = np.array([[1,0,0,0], [0, 0,1,0], [0,1, 0,0], [0,0,0,1]]) 52 | 53 | def s2t(S, pseudo=False): 54 | T = S.copy() 55 | T[0,0] = -(S[0,0]*S[1,1]-S[0,1]*S[1,0]) 56 | T[0,1] = S[0,0] 57 | T[1,0] = -S[1,1] 58 | T[1,1] = 1 59 | return T if pseudo else T/S[1,0] 60 | 61 | def t2s(T, pseudo=False): 62 | S = T.copy() 63 | S[0,0] = T[0,1] 64 | S[0,1] = T[0,0]*T[1,1]-T[0,1]*T[1,0] 65 | S[1,0] = 1 66 | S[1,1] = -T[1,0] 67 | return S if pseudo else S/T[1,1] 68 | 69 | def compute_G_with_takagi(A): 70 | # implementation of Takagi decomposition to compute the matrix G used to determine the weighting matrix. 71 | # Singular value decomposition for the Takagi factorization of symmetric matrices 72 | # https://www.sciencedirect.com/science/article/pii/S0096300314002239 73 | u,s,vh = np.linalg.svd(A) 74 | u,s,vh = u[:,:2],s[:2],vh[:2,:] # low-rank truncated (Eckart-Young-Mirsky theorem) 75 | phi = np.sqrt( s*np.diag(vh@u.conj()) ) 76 | G = u@np.diag(phi) 77 | lambd = s[0]*s[1] # this is the eigenvalue of the weighted eigenvalue problem (squared Frobenius norm of W) 78 | return G, lambd 79 | 80 | def WLS(x,y,w=1): 81 | # Weighted least-squares for a single parameter estimation 82 | x = x*(1+0j) # force x to be complex type 83 | return (x.conj().dot(w).dot(y))/(x.conj().dot(w).dot(x)) 84 | 85 | def Vgl(N): 86 | # inverse covariance matrix for propagation constant computation 87 | return np.eye(N-1, dtype=complex) - (1/N)*np.ones(shape=(N-1, N-1), dtype=complex) 88 | 89 | def compute_gamma(X_inv, M, lengths, gamma_est, inx=0): 90 | # gamma = alpha + 1j*beta is determined through linear weighted least-squares 91 | lengths = lengths - lengths[inx] 92 | EX = (X_inv@M)[[0,-1],:] # extract z and y columns 93 | EX = np.diag(1/EX[:,inx])@EX # normalize to a reference line based on index `inx` (can be any) 94 | 95 | del_inx = np.arange(len(lengths)) != inx # get rid of the reference line (i.e., thru) 96 | 97 | # solve for alpha 98 | l = -2*lengths[del_inx] 99 | gamma_l = np.log(EX[0,:]/EX[-1,:])[del_inx] 100 | alpha = WLS(l, gamma_l.real, Vgl(len(l)+1)) 101 | 102 | # solve for beta 103 | l = -lengths[del_inx] 104 | gamma_l = np.log((EX[0,:] + 1/EX[-1,:])/2)[del_inx] 105 | n = np.round( (gamma_l - gamma_est*l).imag/np.pi/2 ) 106 | gamma_l = gamma_l - 1j*2*np.pi*n # unwrap 107 | beta = WLS(l, gamma_l.imag, Vgl(len(l)+1)) 108 | 109 | return alpha + 1j*beta 110 | 111 | def solve_quadratic(v1, v2, inx, x_est): 112 | # inx contain index of the unit value and product 113 | v12,v13 = v1[inx] 114 | v22,v23 = v2[inx] 115 | mask = np.ones(v1.shape, bool) 116 | mask[inx] = False 117 | v11,v14 = v1[mask] 118 | v21,v24 = v2[mask] 119 | if abs(v12) > abs(v22): # to avoid dividing by small numbers 120 | k2 = -v11*v22*v24/v12 + v11*v14*v22**2/v12**2 + v21*v24 - v14*v21*v22/v12 121 | k1 = v11*v24/v12 - 2*v11*v14*v22/v12**2 - v23 + v13*v22/v12 + v14*v21/v12 122 | k0 = v11*v14/v12**2 - v13/v12 123 | c2 = np.roots([k2,k1,k0])*np.ones(2) 124 | c1 = (1 - c2*v22)/v12 125 | else: 126 | k2 = -v11*v12*v24/v22 + v11*v14 + v12**2*v21*v24/v22**2 - v12*v14*v21/v22 127 | k1 = v11*v24/v22 - 2*v12*v21*v24/v22**2 + v12*v23/v22 - v13 + v14*v21/v22 128 | k0 = v21*v24/v22**2 - v23/v22 129 | c1 = np.roots([k2,k1,k0])*np.ones(2) 130 | c2 = (1 - c1*v12)/v22 131 | x = np.array( [v1*x + v2*y for x,y in zip(c1,c2)] ) # 2 solutions 132 | mininx = np.argmin( abs(x - x_est).sum(axis=1) ) 133 | return x[mininx] 134 | 135 | def mTRL(Slines, lengths, Sreflect, ereff_est, reflect_est, reflect_offset, f, 136 | compensate_repeated_lines, lnorm): 137 | ''' 138 | Slines : 3D array of 2D S-parameters of line measurements (first is set to Thru) 139 | lengths : 1D array containing line lengths in same order of measurements 140 | Sreflect : 3D array of 2D S-parameters of the measured reflects (can be multiple) 141 | ereff_est : Scalar of estimated ereff 142 | reflect_est : 1D array of reference reflection coefficients 143 | f : Scalar, single frequency point (Hz) 144 | compensate_repeated_lines : boolean 145 | apply scaling to the line measurements with repeated lengths. 146 | lnorm : int 147 | specify the norm-weighting in the eigenvalue problem. Default is 1 (L1 norm). 148 | only lnorm = 1 and lnorm = 2 are stable. Higher values are just numerically unstable. 149 | ''' 150 | # make sure all inputs have proper shape 151 | Slines = np.atleast_3d(Slines).reshape((-1,2,2)) 152 | lengths = np.atleast_1d(lengths) 153 | Sreflect = np.atleast_3d(Sreflect).reshape((-1,2,2)) 154 | reflect_est = np.atleast_1d(reflect_est) 155 | 156 | lengths = lengths - lengths[0] # set the first line Thru 157 | 158 | # measurements 159 | Mi = np.array([s2t(x) for x in Slines]) # convert to T-parameters 160 | M = np.array([x.flatten('F') for x in Mi]).T 161 | Dinv = np.diag([1/np.linalg.det(x) for x in Mi]) 162 | 163 | ## Compute W via Takagi decomposition (also the eigenvalue lambda is computed) 164 | G, lambd = compute_G_with_takagi(Dinv@M.T@P@Q@M) 165 | W = (G@np.array([[0,1j],[-1j,0]])@G.T).conj() 166 | 167 | gamma_est = 2*np.pi*f/c0*np.sqrt(-ereff_est) 168 | gamma_est = abs(gamma_est.real) + 1j*abs(gamma_est.imag) # this to avoid sign inconsistencies 169 | 170 | z_est = np.exp(-gamma_est*lengths) 171 | y_est = 1/z_est 172 | W_est = (np.outer(y_est,z_est) - np.outer(z_est,y_est)).conj() 173 | W = -W if abs(W-W_est).sum() > abs(W+W_est).sum() else W # resolve the sign ambiguity 174 | 175 | # incorporate scaling to the weighting matrix. 176 | # Percentage of occurrence for redundant (duplicate) lengths: 177 | # e.g., [0, 2, 3, 4, 3] -> [1, 1, 0.5, 1, 0.5] 178 | _, inv, counts = np.unique(lengths, return_inverse=True, return_counts=True) 179 | q = 1/counts[inv] 180 | S1 = np.outer(q, q) if compensate_repeated_lines else 1 181 | S2 = abs(W)**(lnorm-1) 182 | S = S1*S2 # combined scaling to account for both repeated lines and norm-weighting 183 | W = W*S # new weighting matrix scaled by S. 184 | 185 | ## weighted eigenvalue problem 186 | F = M@W@Dinv@M.T@P@Q 187 | eigval, eigvec = np.linalg.eig(F+lambd*np.eye(4)) 188 | inx = np.argsort(abs(eigval)) 189 | v1 = eigvec[:,inx[0]] 190 | v2 = eigvec[:,inx[1]] 191 | v3 = eigvec[:,inx[2]] 192 | v4 = eigvec[:,inx[3]] 193 | x1__est = v1/v1[0] 194 | x1__est[-1] = x1__est[1]*x1__est[2] 195 | x4_est = v4/v4[-1] 196 | x4_est[0] = x4_est[1]*x4_est[2] 197 | x2__est = np.array([x4_est[2], 1, x4_est[2]*x1__est[2], x1__est[2]]) 198 | x3__est = np.array([x4_est[1], x4_est[1]*x1__est[1], 1, x1__est[1]]) 199 | 200 | # solve quadratic equation for each column 201 | x1_ = solve_quadratic(v1, v4, [0,3], x1__est) 202 | x2_ = solve_quadratic(v2, v3, [1,2], x2__est) 203 | x3_ = solve_quadratic(v2, v3, [2,1], x3__est) 204 | x4 = solve_quadratic(v1, v4, [3,0], x4_est) 205 | 206 | # build the normalized cal coefficients (average the answers from range and null spaces) 207 | a12 = (x2_[0] + x4[2])/2 208 | b21 = (x3_[0] + x4[1])/2 209 | a21_a11 = (x1_[1] + x3_[3])/2 210 | b12_b11 = (x1_[2] + x2_[3])/2 211 | X_ = np.kron([[1,b21],[b12_b11,1]], [[1,a12],[a21_a11,1]]) 212 | 213 | X_inv = np.linalg.inv(X_) 214 | ## Compute propagation constant 215 | gamma = compute_gamma(X_inv, M, lengths, gamma_est) 216 | ereff = -(c0/2/np.pi/f*gamma)**2 217 | 218 | # solve for a11b11 and K from Thru measurement 219 | ka11b11,_,_,k = X_inv@M[:,0] 220 | a11b11 = ka11b11/k 221 | 222 | if np.isnan(Sreflect[0,0,0]): 223 | # no reflect measurement available 224 | a11 = np.sqrt(a11b11) 225 | b11 = a11 226 | else: 227 | # solve for a11/b11, a11 and b11 (use redundant reflect measurement, if available) 228 | reflect_est = reflect_est*np.exp(-2*gamma*reflect_offset) 229 | Mr = np.array([s2t(x, pseudo=True).flatten('F') for x in Sreflect]).T 230 | T = X_inv@Mr 231 | a11_b11 = -T[2,:]/T[1,:] 232 | a11 = np.sqrt(a11_b11*a11b11) 233 | b11 = a11b11/a11 234 | G_cal = ( (Sreflect[:,0,0] - a12)/(1 - Sreflect[:,0,0]*a21_a11)/a11 + (Sreflect[:,1,1] + b21)/(1 + Sreflect[:,1,1]*b12_b11)/b11 )/2 # average 235 | for inx,(Gcal,Gest) in enumerate(zip(G_cal, reflect_est)): 236 | if abs(Gcal - Gest) > abs(Gcal + Gest): 237 | a11[inx] = -a11[inx] 238 | b11[inx] = -b11[inx] 239 | G_cal[inx] = -G_cal[inx] 240 | a11 = a11.mean() 241 | b11 = b11.mean() 242 | reflect_est = G_cal*np.exp(2*gamma*reflect_offset) 243 | 244 | X = X_@np.diag([a11b11, b11, a11, 1]) # build the calibration matrix (de-normalize) 245 | 246 | return X, k, ereff, gamma, reflect_est, lambd 247 | 248 | # EOF -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Multiline TRL Calibration 2 | 3 | **NOTE:** The TUG multiline TRL procedure is already part of the [scikit-rf package](https://scikit-rf.readthedocs.io/en/latest/api/calibration/generated/skrf.calibration.calibration.TUGMultilineTRL.html). 4 | 5 | In this repository you find two multiline TRL calibration implementations: 6 | 7 | 1. My own _improved_ implementation TUG multiline TRL [1]. The related PowerPoint slides can be downloaded [here](https://pure.tugraz.at/ws/portalfiles/portal/46207898/ziad_ARFTG_98_presentation.pdf). Also, the mathematical derivation can be found on my [website](https://ziadhatab.github.io/) through [this link](https://ziadhatab.github.io/posts/multiline-trl-calibration/). 8 | 9 | 2. The classical MultiCal implementation from NIST [2,3]. 10 | 11 | I have included the NIST method here as a reference. There are a couple of reasons why the NIST method is not the best, and its optimality is limited. Below, I provide a brief comparison between the two methods. Additionally, please refer to the last example below, where I compare the two methods with Monte Carlo analysis. 12 | 13 | _NIST multiline TRL [2,3]_: 14 | 15 | - The measurement assumes a first-order approximation with respect to any disturbance, and this should also hold true in the eigenvectors of the line pairs. 16 | - If the first-order approximation assumption holds true, multiple eigenvalue problems can be solved and combined using the Gauss-Markov estimator (weighted sum) to obtain a combined solution. 17 | - The weights are applied to the solutions (eigenvectors) and not to the measurements themselves. 18 | - The derived covariance matrix used to weight the eigenvectors assumes that both ports exhibit the same level of statistical error. 19 | - During the calibration procedure, a common line is selected, which can change across frequencies and often leads to abnormal discontinuities across the frequency axis. 20 | 21 | _TUG multiline TRL [1]_: 22 | 23 | - No assumptions are made about the type of statistical error found in the measurement. 24 | - A weighting matrix is derived to optimally combine the measurements, resulting in a single 4x4 weighted eigenvalue problem. 25 | - The weighting matrix is derived to minimize the sensitivity of the eigenvectors by maximizing the eigengap (i.e., distance between the eigenvalues). 26 | - There is no common line. All measurements are combined at once, so all pair combinations are implicitly used. 27 | 28 | For information on uncertainty propagation in multiline calibration, please refer to my other repository at . 29 | 30 | Additionally, if you are interested in a method to eliminate the need for a thru standard and shifting the reference plane, please see my other repository demonstrating a thru-free multiline method: . 31 | 32 | **NOTE:** the optimization procedure used to calculate the propagation constant, which was discussed in [1], has been removed and is no longer used in the derivation of the weighting matrix. Instead, the weighting matrix is now derived directly through low-rank Takagi decomposition, as discussed in [4]. Furthermore, the propagation constant is derived through linear least squares. 33 | 34 | ## Code requirements 35 | 36 | The three files [`mTRL.py`](https://github.com/ZiadHatab/multiline-trl-calibration/blob/main/mTRL.py), [`MultiCal.py`](https://github.com/ZiadHatab/multiline-trl-calibration/blob/main/MultiCal.py), and [`TUGmTRL.py`](https://github.com/ZiadHatab/multiline-trl-calibration/blob/main/TUGmTRL.py) need to be in the same folder and [`mTRL.py`](https://github.com/ZiadHatab/multiline-trl-calibration/blob/main/mTRL.py) should be loaded in your main script. 37 | 38 | You need to have [`numpy`][numpy] and [`scikit-rf`][skrf] installed in your Python environment. To install these packages, run the following command: 39 | 40 | ```powershell 41 | python -m pip install numpy scikit-rf -U 42 | ``` 43 | 44 | ## How to use 45 | 46 | Below is a sample code on how to run an mTRL calibration: 47 | 48 | ```python 49 | # MultiCal.py and TUGmTRL.py must also be in same folder. 50 | from mTRL import mTRL 51 | import skrf as rf 52 | 53 | # Measured calibration standards 54 | L1 = rf.Network('measured_line_1.s2p') 55 | L2 = rf.Network('measured_line_2.s2p') 56 | L3 = rf.Network('measured_line_3.s2p') 57 | L4 = rf.Network('measured_line_4.s2p') 58 | SHORT = rf.Network('measured_short.s2p') 59 | 60 | lines = [L1, L2, L3, L4] 61 | line_lengths = [0, 1e-3, 3e-3, 5e-3] # in units of meters 62 | reflect = [SHORT] 63 | reflect_est = [-1] 64 | reflect_offset = [0] 65 | 66 | # define the calibration 67 | cal = mTRL(lines=lines, line_lengths=line_lengths, reflect=reflect, reflect_est=reflect_est, reflect_offset=reflect_offset) 68 | cal.run_tug() # run TUGmTRL calibration 69 | # cal.run_multical() # run MultiCal 70 | 71 | dut = rf.Network('measured_dut.s2p') 72 | cal_dut = cal.apply_cal(dut) # apply cal to a dut 73 | 74 | line_gamma = cal.gamma # estimated propagation constant 75 | line_ereff = cal.ereff # effective dielectric constant 76 | ``` 77 | 78 | ## Shifting calibration plane 79 | 80 | After you complete the calibration, the mTRL sets the calibration plane in the middle of the first line you specify in the list of lines, regardless of whether it is the shortest or longest. If you want the calibration plane to be in a different location, you can shift the plane after calibration as follows: 81 | 82 | ```python 83 | cal.shift_plane(d) # d is the shift in units of meters 84 | # the cal coefficients are updated with the new cal plane 85 | cal_dut = cal.apply_cal(dut) 86 | ``` 87 | 88 | Here's how you specify *d* (the applied offset), as shown in the image below: 89 | 90 | 91 | 92 | If your Thru standard (the first line) has a non-zero length, and you want the cal plane to be on the edges of the Thru line, you can negatively shift by half of its length: 93 | 94 | ```python 95 | cal.shift_plane(-thru_length/2) 96 | ``` 97 | 98 | ## Renormalizing impedance 99 | 100 | By default, the reference impedance after a mTRL calibration is set to the characteristic impedance of the line standards. However, if the used transmission lines have an impedance that's different from what you want (e.g. 50 ohm), you can renormalize the calibration coefficients to any desired impedance by specifying the characteristic impedance of your lines: 101 | 102 | ```python 103 | cal.renorm_impedance(new_impedance, old_impedance) 104 | # new_impedance: The desired impedance (can be an array, i.e., frequency dependent). 105 | # old_impedance: The old impedance, typically the characteristic impedance of the line standards, unless you've previously renormalized it (also can be an array, i.e., frequency dependent). 106 | 107 | cal_dut = cal.apply_cal(dut) # The DUT is now calibrated with the new impedance. 108 | ``` 109 | 110 | ## Extracting the 12 error terms 111 | 112 | I originally only included a function to return the 6-error terms (3 from each port). After the [feedback](https://github.com/scikit-rf/scikit-rf/discussions/805#discussioncomment-4227698) from @Zwelckovich, I decided to update `error_coef(self)` function to return all 12 error terms. It should be noted that these error terms will be updated automatically if you shift reference plane or perform impedance renormalization. 113 | ```python 114 | # forward direction 115 | cal.coefs['EDF'] # forward directivity 116 | cal.coefs['ESF'] # forward source match 117 | cal.coefs['ERF'] # forward reflection tracking 118 | cal.coefs['ELF'] # forward load match 119 | cal.coefs['ETF'] # forward transmission tracking 120 | cal.coefs['EXF'] # forward crosstalk (set to zero!) 121 | cal.coefs['GF'] # forward switch term 122 | 123 | # reverse direction 124 | cal.coefs['EDR'] # reverse directivity 125 | cal.coefs['ESR'] # reverse source match 126 | cal.coefs['ERR'] # reverse reflection tracking 127 | cal.coefs['ELR'] # reverse load match 128 | cal.coefs['ETR'] # reverse transmission tracking 129 | cal.coefs['EXR'] # reverse crosstalk (set to zero!) 130 | cal.coefs['GR'] # reverse switch term 131 | ``` 132 | 133 | ## Splitting reciprocal error-boxes 134 | 135 | If you have reciprocal error-boxes (i.e., S21=S12), you can split them into left and right error-boxes. Use the following function in mTRL to achieve this: 136 | 137 | ```python 138 | left_ntwk, right_ntwk = cal.reciprocal_ntwk() 139 | ``` 140 | 141 | Keep in mind that the reciprocity of the error-boxes depends on the components they represent. If they are passive components such as connectors, reciprocity is likely to hold. However, if they consist of diodes, ferromagnetic materials, or active devices such as amplifiers, reciprocity most certainly wouldn't hold. 142 | 143 | ## Using only line measurements 144 | 145 | In some applications, calibration is not necessary for its own sake, but rather to extract the propagation constant for other applications. In such scenarios, reflect measurements are unnecessary. With only the line standards, you can calculate the propagation constant. Simply provide the line measurements and set the ``reflect`` variable to ``None``, or do not include it at all. 146 | 147 | ```Python 148 | cal = mTRL(lines=lines, line_lengths=line_lengths, ereff_est=5+0j) 149 | ``` 150 | 151 | ## Code examples 152 | 153 | ### example 1 — 2nd-tier calibration 154 | 155 | This example demonstrate how to do a simple 2nd tier calibration (de-embedding), where the s2p data were captured using an already calibrated VNA. 156 | 157 | !['example_1_ereff_loss'](images/example_1_ereff_loss.png) 158 | *Effective permittivity and loss per unit length.* 159 | 160 | !['example_1_cal_dut'](images/example_1_cal_dut.png) 161 | *Calibrated line standard.* 162 | 163 | ### example 2 — 1st-tier calibration 164 | 165 | This example demonstrate how to do a full 1st tier calibration (including switch terms). The s2p data are the raw data from the VNA. 166 | 167 | !['example_2_ereff_loss'](images/example_2_ereff_loss.png) 168 | *Effective permittivity and loss per unit length.* 169 | 170 | !['example_2_cal_dut'](images/example_2_cal_dut.png) 171 | *Calibrated line standard.* 172 | 173 | ### example 3 — statistical comparison 174 | 175 | This example demonstrate statistical performance of different mTRL calibrations via Monte-Carlo method (1000 trials). Below is the error of the calibration coefficients due to iid additive noise. Feel free to do your own comparisons with different dataset and uncertainty types. 176 | 177 | ![](images/example_3_std_0_1.png) | ![](images/example_3_std_0_2.png) 178 | :-------------------------:|:-------------------------: 179 | _Low noise_ | _High noise_ 180 | 181 | ## Crediting 182 | 183 | If you found yourself using my code, please consider citing [1] and [4]. 184 | 185 | ## References 186 | 187 | [1] Z. Hatab, M. Gadringer and W. Bösch, "Improving The Reliability of The Multiline TRL Calibration Algorithm," _2022 98th ARFTG Microwave Measurement Conference (ARFTG)_, 2022, pp. 1-5, doi: [10.1109/ARFTG52954.2022.9844064](http://dx.doi.org/10.1109/ARFTG52954.2022.9844064). 188 | 189 | [2] D. C. DeGroot, J. A. Jargon and R. B. Marks, "Multiline TRL revealed," _60th ARFTG Conference Digest_, Fall 2002., Washington, DC, USA, 2002, pp. 131-155, doi: [10.1109/ARFTGF.2002.1218696](http://dx.doi.org/10.1109/ARFTGF.2002.1218696). 190 | 191 | [3] R. B. Marks, "A multiline method of network analyzer calibration," in _IEEE Transactions on Microwave Theory and Techniques_, vol. 39, no. 7, pp. 1205-1215, July 1991, doi: [10.1109/22.85388](http://dx.doi.org/10.1109/22.85388). 192 | 193 | [4] Z. Hatab, M. E. Gadringer, and W. Bösch, "Propagation of Linear Uncertainties through Multiline Thru-Reflect-Line Calibration," in _IEEE Transactions on Instrumentation and Measurement_, vol. 72, pp. 1-9, 2023, doi: [10.1109/TIM.2023.3296123](http://dx.doi.org/10.1109/TIM.2023.3296123). 194 | 195 | 196 | ## About the license 197 | 198 | Feel free to do whatever you want with the code under limitations of [BSD-3-Clause license](https://github.com/ZiadHatab/multiline-trl-calibration/blob/main/LICENSE). 199 | 200 | 201 | [numpy]: https://github.com/numpy/numpy 202 | [skrf]: https://github.com/scikit-rf/scikit-rf -------------------------------------------------------------------------------- /example_3.py: -------------------------------------------------------------------------------- 1 | """ 2 | Example comparing the statistical performance of different mTRL calibrations. 3 | """ 4 | import os 5 | 6 | # need to be installed via pip 7 | import skrf as rf 8 | import numpy as np 9 | import matplotlib.pyplot as plt 10 | 11 | # my script (MultiCal.py and TUGmTRL.py must also be in same folder) 12 | from mTRL import mTRL 13 | 14 | class PlotSettings: 15 | # to make plots look better for publication 16 | # https://matplotlib.org/stable/tutorials/introductory/customizing.html 17 | def __init__(self, font_size=10, latex=False): 18 | self.font_size = font_size 19 | self.latex = latex 20 | def __enter__(self): 21 | plt.style.use('seaborn-v0_8-paper') 22 | # make svg output text and not curves 23 | plt.rcParams['svg.fonttype'] = 'none' 24 | # fontsize of the axes title 25 | plt.rc('axes', titlesize=self.font_size*1.2) 26 | # fontsize of the x and y labels 27 | plt.rc('axes', labelsize=self.font_size) 28 | # fontsize of the tick labels 29 | plt.rc('xtick', labelsize=self.font_size) 30 | plt.rc('ytick', labelsize=self.font_size) 31 | # legend fontsize 32 | plt.rc('legend', fontsize=self.font_size*1) 33 | # fontsize of the figure title 34 | plt.rc('figure', titlesize=self.font_size) 35 | # controls default text sizes 36 | plt.rc('text', usetex=self.latex) 37 | #plt.rc('font', size=self.font_size, family='serif', serif='Times New Roman') 38 | plt.rc('lines', linewidth=1.5) 39 | def __exit__(self, exception_type, exception_value, traceback): 40 | plt.style.use('default') 41 | 42 | def add_white_noise(NW, sigma=0.01): 43 | # add white noise to a network's S-parameters 44 | freq = NW.frequency 45 | noise = (np.random.standard_normal((len(freq.f),2,2)) 46 | + 1j*np.random.standard_normal((len(freq.f),2,2)))*sigma 47 | S = NW.s + noise 48 | return rf.Network(frequency=freq, s=S) 49 | 50 | def add_uniform_noise(NW, lower=-0.01, upper=0.01): 51 | # add uniform noise to a network's S-parameters 52 | freq = NW.frequency 53 | noise = np.random.uniform(lower, upper, (len(freq.f),2,2)) + \ 54 | 1j*np.random.uniform(lower, upper, (len(freq.f),2,2)) 55 | S = NW.s + noise 56 | return rf.Network(frequency=freq, s=S) 57 | 58 | def add_phase_error(NW, lower=-5, upper=5): 59 | # add uniform phase noise (in degrees) to a network's S-parameters 60 | freq = NW.frequency 61 | noise = np.random.uniform(lower, upper, (len(freq.f),2,2)) 62 | S = abs(NW.s)*np.exp(1j*np.deg2rad(np.angle(NW.s, deg=True) + noise)) 63 | return rf.Network(frequency=freq, s=S) 64 | 65 | def coef_MAE(coef_MC, coefs_ideal, name, name2=None): 66 | name2 = name if name2 is None else name2 67 | return np.array([ abs(x[name]-coefs_ideal[name2]) for x in coef_MC ]).mean(axis=0) 68 | 69 | # main script 70 | if __name__ == '__main__': 71 | # useful functions 72 | c0 = 299792458 # speed of light in vacuum (m/s) 73 | mag2db = lambda x: 20*np.log10(abs(x)) 74 | db2mag = lambda x: 10**(x/20) 75 | gamma2ereff = lambda x,f: -(c0/2/np.pi/f*x)**2 76 | ereff2gamma = lambda x,f: 2*np.pi*f/c0*np.sqrt(-(x-1j*np.finfo(complex).eps)) # eps to ensure positive square-root 77 | gamma2dbmm = lambda x: mag2db(np.exp(x.real*1e-3)) # losses dB/mm 78 | # load the measurements 79 | # files' path are reference to script's path 80 | s2p_path = os.path.dirname(os.path.realpath(__file__)) + '\\s2p_example_1\\' 81 | 82 | # Calibration standards 83 | L1 = rf.Network(s2p_path + 'Cascade_line_0200u.s2p') 84 | L2 = rf.Network(s2p_path + 'Cascade_line_0450u.s2p') 85 | L3 = rf.Network(s2p_path + 'Cascade_line_0900u.s2p') 86 | L4 = rf.Network(s2p_path + 'Cascade_line_1800u.s2p') 87 | L5 = rf.Network(s2p_path + 'Cascade_line_3500u.s2p') 88 | L6 = rf.Network(s2p_path + 'Cascade_line_5250u.s2p') # used as well as DUT 89 | SHORT = rf.Network(s2p_path + 'Cascade_short.s2p') 90 | freq = L1.frequency 91 | f = freq.f 92 | 93 | lines = [L1, L2, L3, L4, L5, L6] 94 | line_lengths = [200e-6, 450e-6, 900e-6, 1800e-6, 3500e-6, 5250e-6] 95 | reflect = [SHORT] 96 | reflect_est = [-1] 97 | reflect_offset = [-100e-6] 98 | 99 | # DUT noiseless 100 | cal = mTRL(lines=lines, line_lengths=line_lengths, reflect=reflect, 101 | reflect_est=reflect_est, reflect_offset=reflect_offset, ereff_est=6.2-0.0001j) 102 | print('\nNoiseless case...') 103 | cal.run_multical() # use MultiCal as reference 104 | coefs_ideal = cal.coefs 105 | gamma_ideal = cal.gamma 106 | 107 | # Monte Carlo Analysis 108 | print('\n\nWith noise...') 109 | M = 10 # number of trials 110 | sigma_noise = 0.2 111 | 112 | coefs_NIST = [] 113 | coefs_TUG = [] 114 | coefs_skrf = [] 115 | gamma_NIST = [] 116 | gamma_TUG = [] 117 | gamma_skrf = [] 118 | 119 | for inx in range(M): 120 | # additive noise 121 | lines_n = [add_white_noise(NW, sigma_noise) for NW in lines] 122 | reflect_n = [add_white_noise(NW, sigma_noise) for NW in reflect] 123 | 124 | #lines_n = [add_phase_error(NW, -20, 20) for NW in lines] 125 | #reflect_n = [add_phase_error(NW, -20, 20) for NW in reflect] 126 | 127 | # calibration object 128 | cal = mTRL(lines=lines_n, line_lengths=line_lengths, reflect=reflect_n, 129 | reflect_est=reflect_est, reflect_offset=reflect_offset, ereff_est=6.2-0.0001j) 130 | 131 | # using NIST MultiCal mTRL 132 | cal.run_multical() 133 | coefs_NIST.append(cal.coefs) 134 | gamma_NIST.append(cal.gamma) 135 | 136 | # using TUG mTRL 137 | cal.run_tug() 138 | coefs_TUG.append(cal.coefs) 139 | gamma_TUG.append(cal.gamma) 140 | 141 | # use skrf 142 | measured = [lines_n[0]] + [reflect_n[0]] + lines_n[1:] 143 | offset = line_lengths[0] 144 | cal_skrf = rf.NISTMultilineTRL( 145 | measured = measured, 146 | Grefls = [-1], 147 | l = [i - offset for i in line_lengths], 148 | refl_offset = reflect_offset, 149 | er_est = 6.2-0.0001j) 150 | cal_skrf.run() 151 | coefs_skrf.append(cal_skrf.coefs) 152 | gamma_skrf.append(cal_skrf.gamma) 153 | print(f'\nMC Index: {inx+1} out of {M} done.') 154 | 155 | EDF_NIST = coef_MAE(coefs_NIST, coefs_ideal, 'EDF') 156 | ESF_NIST = coef_MAE(coefs_NIST, coefs_ideal, 'ESF') 157 | ERF_NIST = coef_MAE(coefs_NIST, coefs_ideal, 'ERF') 158 | EDR_NIST = coef_MAE(coefs_NIST, coefs_ideal, 'EDR') 159 | ESR_NIST = coef_MAE(coefs_NIST, coefs_ideal, 'ESR') 160 | ERR_NIST = coef_MAE(coefs_NIST, coefs_ideal, 'ERR') 161 | ETF_NIST = coef_MAE(coefs_NIST, coefs_ideal, 'ETF') 162 | ETR_NIST = coef_MAE(coefs_NIST, coefs_ideal, 'ETR') 163 | 164 | EDF_TUG = coef_MAE(coefs_TUG, coefs_ideal, 'EDF') 165 | ESF_TUG = coef_MAE(coefs_TUG, coefs_ideal, 'ESF') 166 | ERF_TUG = coef_MAE(coefs_TUG, coefs_ideal, 'ERF') 167 | EDR_TUG = coef_MAE(coefs_TUG, coefs_ideal, 'EDR') 168 | ESR_TUG = coef_MAE(coefs_TUG, coefs_ideal, 'ESR') 169 | ERR_TUG = coef_MAE(coefs_TUG, coefs_ideal, 'ERR') 170 | ETF_TUG = coef_MAE(coefs_TUG, coefs_ideal, 'ETF') 171 | ETR_TUG = coef_MAE(coefs_TUG, coefs_ideal, 'ETR') 172 | 173 | EDF_skrf = coef_MAE(coefs_skrf, coefs_ideal, 'forward directivity', 'EDF') 174 | ESF_skrf = coef_MAE(coefs_skrf, coefs_ideal, 'forward source match', 'ESF') 175 | ERF_skrf = coef_MAE(coefs_skrf, coefs_ideal, 'forward reflection tracking', 'ERF') 176 | EDR_skrf = coef_MAE(coefs_skrf, coefs_ideal, 'reverse directivity', 'EDR') 177 | ESR_skrf = coef_MAE(coefs_skrf, coefs_ideal, 'reverse source match', 'ESR') 178 | ERR_skrf = coef_MAE(coefs_skrf, coefs_ideal, 'reverse reflection tracking', 'ERR') 179 | 180 | 181 | with PlotSettings(14): 182 | fig, axs = plt.subplots(3,2, figsize=(10,11)) 183 | fig.set_dpi(600) 184 | fig.tight_layout(pad=2) 185 | ax = axs[0,0] 186 | ax.plot(f*1e-9, mag2db(EDF_NIST), lw=2, label='NIST MultiCal', 187 | marker='^', markevery=50, markersize=10) 188 | ax.plot(f*1e-9, mag2db(EDF_TUG), lw=2, label='TUG mTRL', 189 | marker='v', markevery=50, markersize=10) 190 | ax.plot(f*1e-9, mag2db(EDF_skrf), lw=2, label='skrf', 191 | marker='>', markevery=50, markersize=10) 192 | ax.set_xlabel('Frequency (GHz)') 193 | ax.set_ylabel('Forward directivity') 194 | ax.set_xlim(0,150) 195 | ax.set_xticks(np.arange(0,151,30)) 196 | 197 | ax = axs[1,0] 198 | ax.plot(f*1e-9, mag2db(ESF_NIST), lw=2, label='NIST MultiCal', 199 | marker='^', markevery=50, markersize=10) 200 | ax.plot(f*1e-9, mag2db(ESF_TUG), lw=2, label='TUG mTRL', 201 | marker='v', markevery=50, markersize=10) 202 | ax.plot(f*1e-9, mag2db(ESF_skrf), lw=2, label='skrf', 203 | marker='>', markevery=50, markersize=10) 204 | ax.set_xlabel('Frequency (GHz)') 205 | ax.set_ylabel('Forward source match') 206 | ax.set_xlim(0,150) 207 | ax.set_xticks(np.arange(0,151,30)) 208 | 209 | ax = axs[2,0] 210 | ax.plot(f*1e-9, mag2db(ERF_NIST), lw=2, label='NIST MultiCal', 211 | marker='^', markevery=50, markersize=10) 212 | ax.plot(f*1e-9, mag2db(ERF_TUG), lw=2, label='TUG mTRL', 213 | marker='v', markevery=50, markersize=10) 214 | ax.plot(f*1e-9, mag2db(ERF_skrf), lw=2, label='skrf', 215 | marker='>', markevery=50, markersize=10) 216 | ax.set_xlabel('Frequency (GHz)') 217 | ax.set_ylabel('Forward reflection tracking') 218 | ax.set_xlim(0,150) 219 | ax.set_xticks(np.arange(0,151,30)) 220 | 221 | ax = axs[0,1] 222 | ax.plot(f*1e-9, mag2db(EDR_NIST), lw=2, label='NIST MultiCal', 223 | marker='^', markevery=50, markersize=10) 224 | ax.plot(f*1e-9, mag2db(EDR_TUG), lw=2, label='TUG mTRL', 225 | marker='v', markevery=50, markersize=10) 226 | ax.plot(f*1e-9, mag2db(EDR_skrf), lw=2, label='skrf', 227 | marker='>', markevery=50, markersize=10) 228 | ax.set_xlabel('Frequency (GHz)') 229 | ax.set_ylabel('Reverse directivity') 230 | ax.set_xlim(0,150) 231 | ax.set_xticks(np.arange(0,151,30)) 232 | 233 | ax = axs[1,1] 234 | ax.plot(f*1e-9, mag2db(ESR_NIST), lw=2, label='NIST MultiCal', 235 | marker='^', markevery=50, markersize=10) 236 | ax.plot(f*1e-9, mag2db(ESR_TUG), lw=2, label='TUG mTRL', 237 | marker='v', markevery=50, markersize=10) 238 | ax.plot(f*1e-9, mag2db(ESR_skrf), lw=2, label='skrf', 239 | marker='>', markevery=50, markersize=10) 240 | ax.set_xlabel('Frequency (GHz)') 241 | ax.set_ylabel('Reverse source match') 242 | ax.set_xlim(0,150) 243 | ax.set_xticks(np.arange(0,151,30)) 244 | 245 | ax = axs[2,1] 246 | ax.plot(f*1e-9, mag2db(ERR_NIST), lw=2, label='NIST MultiCal', 247 | marker='^', markevery=50, markersize=10) 248 | ax.plot(f*1e-9, mag2db(ERR_TUG), lw=2, label='TUG mTRL', 249 | marker='v', markevery=50, markersize=10) 250 | ax.plot(f*1e-9, mag2db(ERR_skrf), lw=2, label='skrf', 251 | marker='>', markevery=50, markersize=10) 252 | ax.set_xlabel('Frequency (GHz)') 253 | ax.set_ylabel('Reverse reflection tracking') 254 | ax.set_xlim(0,150) 255 | ax.set_xticks(np.arange(0,151,30)) 256 | 257 | handles, labels = ax.get_legend_handles_labels() 258 | fig.legend(handles, labels, bbox_to_anchor=(0.5, 0.98), 259 | loc='lower center', ncol=3, borderaxespad=0 260 | ) 261 | plt.suptitle(f"Mean Absolute Error (MAE) in dB of calibration coefficients. Noise std = {sigma_noise:.2f}", verticalalignment='bottom').set_y(1.02) 262 | 263 | plt.show() 264 | 265 | # EOF -------------------------------------------------------------------------------- /MultiCal.py: -------------------------------------------------------------------------------- 1 | """ 2 | @author: Ziad Hatab (zi.hatab@gmail.com) 3 | 4 | This is an implementation of the MultiCal multiline TRL calibration algorithm 5 | discussed in [1]. The original algorithm is from [2]. 6 | 7 | Some concerns regarding [1]: 8 | 1. on page 139, the paragraph after Eq. (11). It says that "MultiCal sets 9 | phieff to 0-deg if the argument of the arcsine happens to exceed 1 due 10 | to measurement noise". This sounds counter-intuitive to me, because you 11 | would think that phieff should be set to 90-deg if the argument of arcsine 12 | exceeds 1 (i.e., saturation). And when you look at [2], on page 1209, 13 | the paragraph after Eq. (53) reads "We stipulate that phieff = 90-deg if 14 | the argument of the arcsin is greater than 1". This statement makes more 15 | sense to me than that in [1]. The question now: is the statement about 16 | phieff in [1] a typo? I implemented both, see the function commonLine(). 17 | 18 | 2. On page 148, at Eq. (48). In the numerator of the first sum term 19 | it says: exp(-g*(lm-lc))*exp(-g*(lm-lc)).conj(). This is definitely a typo. 20 | The correct term should be exp(-g*(lm-lc))*exp(-g*(ln-lc)).conj(). 21 | The typo is the line length in the second term, it should be ln not lm. 22 | The original equation can be found in [2] at page 1211, Eq. (76). There it 23 | is written correctly. 24 | 25 | 3. On page 150, Eq. (57), the equation has a sign error. The second 26 | fraction should have a plus sign in both numerator and denominator. 27 | 28 | 4. On page 151, Eqs. (62) and (63) are used to separate the 7-th error 29 | term into two parts for each port. I tried using Eqs. (62) and (63) multiple 30 | times and it never worked properly. When I take their product to compute R1R2 31 | and use it in the calibration, the result of the calibration is wrong. 32 | Am I missing something here? I ended up deriving an equation for R1R2 33 | directly from the Thru measurements (which works quite good). 34 | 35 | [1] D. C. DeGroot, J. A. Jargon and R. B. Marks, "Multiline TRL revealed," 36 | 60th ARFTG Conference Digest, Fall 2002, pp. 131-155 37 | 38 | [2] R. B. Marks, "A multiline method of network analyzer calibration", 39 | IEEE Transactions on Microwave Theory and Techniques, 40 | vol. 39, no. 7, pp. 1205-1215, July 1991. 41 | 42 | ##########-NOTE-########## 43 | This script is written to process only one frequency point. Therefore, you need 44 | to call this script in your main script and iterate through all frequency points. 45 | ##########-END-########## 46 | """ 47 | 48 | import numpy as np 49 | 50 | c0 = 299792458 # speed of light in vacuum (m/s) 51 | 52 | def S2T(S): 53 | # convert S- to T-parameters at a single frequency point 54 | T = S.copy() 55 | T[0,0] = -(S[0,0]*S[1,1]-S[0,1]*S[1,0]) 56 | T[0,1] = S[0,0] 57 | T[1,0] = -S[1,1] 58 | T[1,1] = 1 59 | return T/S[1,0] 60 | 61 | def T2S(T): 62 | # convert T- to S-parameters at a single frequency point 63 | S = T.copy() 64 | S[0,0] = T[0,1] 65 | S[0,1] = T[0,0]*T[1,1]-T[0,1]*T[1,0] 66 | S[1,0] = 1 67 | S[1,1] = -T[1,0] 68 | return S/T[1,1] 69 | 70 | def deleteDiag(A): 71 | # delete diagonal elements 72 | return A[~np.eye(A.shape[0],dtype=bool)].reshape(A.shape[0],-1) 73 | 74 | def commonLine(gamma, line_lengths): 75 | # select a common line 76 | exps = np.exp(gamma*line_lengths) 77 | A = abs(np.outer(exps,1/exps) - np.outer(1/exps,exps))/2 78 | A = deleteDiag(A) # remove the same line differences 79 | 80 | # for this, please read comment #1 in the header of this file! 81 | # A[A > 1] = 0 # anything above 1 is set to 0 (see [1]): arcsin(0)=0 82 | A[A > 1] = 1 # anything above 1 is set to 1 (see [2]): arcsin(1)=pi/2 83 | 84 | phieff = np.arcsin(A) 85 | min_phieff = np.min(phieff, axis=1) # find minimum phase in every group 86 | 87 | return np.argmax(min_phieff) # the group that has maximum minimum phase is chosen 88 | 89 | def BLUE(x,y,Vinv): 90 | # perform the Gauss-Markov linear estimation 91 | x = x*(1+0j) # force x to be complex type 92 | # return (x.conj().transpose().dot(w).dot(y))/(x.conj().transpose().dot(w).dot(x)) 93 | return np.dot(x.conj().transpose().dot(Vinv), y)/np.dot(x.conj().transpose().dot(Vinv), x) 94 | 95 | def VGamma(N): 96 | # inverse covariance matrix for gamma 97 | return np.eye(N-1, dtype=complex) - (1/N)*np.ones(shape=(N-1, N-1), dtype=complex) 98 | 99 | def VCA(gamma, cline, lines): 100 | # inverse covariance matrix for C/A coefficient 101 | g = gamma 102 | l = lines 103 | lc = cline 104 | dl = l-lc 105 | 106 | lm, ln = np.meshgrid(lines, lines, sparse=False, indexing='ij') 107 | 108 | V = ( 1/(np.exp(-g*(lm-lc))*np.exp(-g*(ln-lc)).conj()) 109 | + 1/(abs(np.exp(-g*lc))**2*np.exp(-g*lm)*np.exp(-g*ln).conj()) )/( np.exp(-g*(lm-lc)) - np.exp(g*(lm-lc)) )/( np.exp(-g*(ln-lc)) - np.exp(g*(ln-lc)) ).conj() 110 | 111 | # Account for the terms with kronecker-delta (see [2], Eq.(77)) 112 | diag = (abs(np.exp(-g*dl))**2 + 1/(abs(np.exp(-g*l))*abs(np.exp(-g*lc)))**2)/abs(np.exp(-g*dl) - np.exp(g*dl))**2 113 | 114 | V = V + np.diag(diag) 115 | 116 | return np.linalg.pinv(V) 117 | 118 | def VB(gamma, cline, lines): 119 | # inverse covariance matrix for B coefficient 120 | g = gamma 121 | l = lines 122 | lc = cline 123 | dl = l-lc 124 | 125 | lm, ln = np.meshgrid(lines, lines, sparse=False, indexing='ij') 126 | 127 | V = (np.exp(-g*(lm-lc))*np.exp(-g*(ln-lc)).conj() 128 | + abs(np.exp(-g*lc))**2*np.exp(-g*lm)*np.exp(-g*ln).conj())/( np.exp(-g*(lm-lc)) - np.exp(g*(lm-lc)) )/( np.exp(-g*(ln-lc)) - np.exp(g*(ln-lc)) ).conj() 129 | 130 | # Account for the terms with kronecker-delta (see [2], Eq.(76)) 131 | diag = (1/abs(np.exp(-g*dl))**2 + (abs(np.exp(-g*l))*abs(np.exp(-g*lc)))**2)/abs(np.exp(-g*dl) - np.exp(g*dl))**2 132 | 133 | V = V + np.diag(diag) 134 | 135 | return np.linalg.pinv(V) 136 | 137 | def computeGL(Mc, Mlines, cline, lines, g_est): 138 | # Perform root choice procedure as described in [1] 139 | # Compute the vectors G and L used to estimate gamma (see [1], Eq. (24)) 140 | # The work by https://github.com/simonary/MultilineTRL was very helpful. 141 | 142 | gdl = [] 143 | dls = [] 144 | for inx, (linej, Mj) in enumerate(zip(lines, Mlines)): # For every other line 145 | Mjc = Mj@np.linalg.pinv(Mc) 146 | Eij = np.linalg.eigvals(Mjc) 147 | dl = linej - cline 148 | # case 1 Eij[0] = exp(-gamma*l), Eij[1] = exp(gamma*l) 149 | Ea1 = (Eij[0]+1/Eij[1])/2 # exp(-gamma*l) 150 | Eb1 = (Eij[1]+1/Eij[0])/2 # exp(gamma*l) 151 | 152 | Pa1 = np.round( (g_est*dl + np.log(Ea1)).imag/2/np.pi ) 153 | g_a1 = (-np.log(Ea1) + 1j*2*np.pi*Pa1)/dl 154 | Da1 = abs(g_a1/g_est - 1) 155 | 156 | Pb1 = np.round( -(g_est*dl - np.log(Eb1)).imag/2/np.pi ) 157 | g_b1 = (-np.log(Eb1) + 1j*2*np.pi*Pb1)/dl 158 | Db1 = abs(g_b1/g_est + 1) 159 | 160 | # case 2 Eij[1] = exp(-gamma*l), Eij[0] = exp(gamma*l) 161 | Ea2 = (Eij[1] + 1/Eij[0])/2 # exp(-gamma*l) 162 | Eb2 = (Eij[0] + 1/Eij[1])/2 # exp(gamma*l) 163 | 164 | Pa2 = np.round( (g_est*dl + np.log(Ea2)).imag/2/np.pi ) 165 | g_a2 = (-np.log(Ea2) + 1j*2*np.pi*Pa2)/dl 166 | Da2 = abs(g_a2/g_est - 1) 167 | 168 | Pb2 = np.round( -(g_est*dl - np.log(Eb2)).imag/2/np.pi ) 169 | g_b2 = (-np.log(Eb2) + 1j*2*np.pi*Pb2)/dl 170 | Db2 = abs(g_b2/g_est + 1) 171 | 172 | dls.append(dl) 173 | 174 | # Determine the assignment of eigenvalue 175 | if (Da1 + Db1) <= 0.1*(Da2 + Db2): 176 | gdl.append(-np.log(Ea1) + 1j*2*np.pi*Pa1) 177 | 178 | elif (Da2 + Db2) <= 0.1*(Da1 + Db1): 179 | gdl.append(-np.log(Ea2) + 1j*2*np.pi*Pa2) 180 | 181 | else: 182 | if (g_a1 + g_b1).real >= 0 and (g_a2 + g_b2).real < 0: 183 | gdl.append(-np.log(Ea1) + 1j*2*np.pi*Pa1) 184 | 185 | elif (g_a1 + g_b1).real < 0 and (g_a2 + g_b2).real >= 0: 186 | gdl.append(-np.log(Ea2) + 1j*2*np.pi*Pa2) 187 | 188 | else: # sign of real part not the same 189 | if (Da1 + Db1) <= (Da2 + Db2): 190 | gdl.append(-np.log(Ea1) + 1j*2*np.pi*Pa1) 191 | else: 192 | gdl.append(-np.log(Ea2) + 1j*2*np.pi*Pa2) 193 | 194 | return np.array(gdl), np.array(dls) # vectors G and L 195 | 196 | def compute_B_CA(Mc, Mlines, cline, lines, g_est, direction='forward'): 197 | Mcinv = np.linalg.inv(Mc) 198 | Bs = [] 199 | CAs = [] 200 | for inx, Mj in enumerate(Mlines): # For every other line 201 | if direction == 'forward': 202 | T = Mj@Mcinv 203 | Eij, V = np.linalg.eig(T) 204 | elif direction == 'backward': 205 | T = (Mcinv@Mj).T 206 | Eij, V = np.linalg.eig(T) 207 | dl = lines[inx] - cline 208 | 209 | mininx = np.argmin( abs(Eij-np.exp(-g_est*dl)) ) 210 | v1 = V[:,mininx] 211 | v2 = V[:,~mininx] 212 | 213 | CA = v1[1]/v1[0] 214 | B = v2[0]/v2[1] 215 | 216 | CAs.append(CA) 217 | Bs.append(B) 218 | 219 | return np.array(CAs), np.array(Bs) # vectors B and C/A 220 | 221 | def mTRL(Slines, lengths, Sreflect, gamma_est, reflect_est, reflect_offset, override_gamma=-1): 222 | # 223 | # Slines : 3D array of 2D S-parameters of line measurements (first is set to Thru) 224 | # lengths : 1D array containing line lengths in same order of measurements 225 | # Sreflect : 3D array of 2D S-parameters of the measured reflects 226 | # gamma_est : Scalar of estimated gamma 227 | # reflect_est : 1D array of reference reflection coefficients (e.g., short=-1, open=1) 228 | # reflect_offset: 1D array of offset lengths of the reflect standards (reference to Thru) 229 | # 230 | 231 | # make sure all inputs have proper shape 232 | Slines = np.atleast_3d(Slines).reshape((-1,2,2)) 233 | lengths = np.atleast_1d(lengths) 234 | Sreflect = np.atleast_3d(Sreflect).reshape((-1,2,2)) 235 | reflect_est = np.atleast_1d(reflect_est) 236 | reflect_offset = np.atleast_1d(reflect_offset) 237 | 238 | lengths = lengths - lengths[0] # setting the first line Thru 239 | 240 | Mi = np.array([S2T(x) for x in Slines]) # convert to T-parameters 241 | thru_T = Mi[0] 242 | N = len(lengths) 243 | gamma = abs(gamma_est.real) + 1j*abs(gamma_est.imag) 244 | 245 | cline_inx = commonLine(gamma, lengths) 246 | 247 | # extract the common line out from the list 248 | line_length_com = lengths[cline_inx] 249 | line_meas_com = Mi[cline_inx] 250 | 251 | # delete the common line from the list 252 | line_meas_T = np.delete(Mi, cline_inx, axis=0) 253 | line_lengths = np.delete(lengths, cline_inx, axis=0) 254 | 255 | # estimate gamma 256 | if override_gamma != -1: 257 | gamma = override_gamma 258 | else: 259 | G,L = computeGL(line_meas_com, line_meas_T, line_length_com, line_lengths, gamma) 260 | gamma = BLUE(L, G, VGamma(N)) 261 | 262 | # estimate B and C/A for forward direction 263 | CAs, Bs = compute_B_CA(line_meas_com, line_meas_T, line_length_com, 264 | line_lengths, gamma, direction='forward') 265 | CA1 = BLUE(np.ones(N-1), CAs, VCA(gamma, line_length_com, line_lengths)) 266 | B1 = BLUE(np.ones(N-1), Bs, VB(gamma, line_length_com, line_lengths)) 267 | 268 | # estimate B and C/A for backward direction 269 | CAs, Bs = compute_B_CA(line_meas_com, line_meas_T, line_length_com, 270 | line_lengths, gamma, direction='backward') 271 | CA2 = BLUE(np.ones(N-1), CAs, VCA(gamma, line_length_com, line_lengths)) 272 | B2 = BLUE(np.ones(N-1), Bs, VB(gamma, line_length_com, line_lengths)) 273 | 274 | ''' 275 | # The original method MultiCal uses to compute A1A2 and R1R2... not recommended! 276 | # solve for A1A2 and R1R2 from Thru measurements 277 | meas_Thru_S = Slines[0] # S-parameters of the Thru standard 278 | S11,S12,S21,S22 = meas_Thru_S.flatten() 279 | A1A2 = -(B1*B2-B1*S22-B2*S11+(S11*S22-S21*S12))/(1-CA1*S11-CA2*S22+CA1*CA2*(S11*S22-S21*S12)) 280 | R1R2 = 1/S21/(CA1*CA2*A1A2 + 1) 281 | ''' 282 | 283 | ''' 284 | Below is a mathematical rewriting of the error-box model using 285 | Kronecker product formulation. This has no influence on MultiCal procedures, 286 | this is just for my convenience (see the NOTE at the end of this file!). 287 | You can also write the problem in terms of the conventional 2 error-boxes 288 | matrices, if you wish... 289 | ''' 290 | # normalized calibration matrix 291 | X_ = np.array([[1, B1, B2, B1*B2], 292 | [CA1, 1, B2*CA1, B2 ], 293 | [CA2, B1*CA2, 1, B1 ], 294 | [CA1*CA2, CA2, CA1, 1 ]]) 295 | 296 | # solve for A1A2 and k, simultaneously (this gives much better results) 297 | KA1A2,_,_,k = np.linalg.pinv(X_)@thru_T.flatten('F') 298 | A1A2 = KA1A2/k 299 | 300 | if np.isnan(Sreflect[0,0,0]): 301 | # no reflect measurement available 302 | A1 = np.sqrt(A1A2) 303 | A2 = A1 304 | else: 305 | # solve for A1/A2, A1 and A2 306 | A1 = [] 307 | A2 = [] 308 | for reflect_S, reflect_ref, offset in zip(Sreflect, reflect_est, reflect_offset): 309 | G1 = reflect_S[0,0] 310 | G2 = reflect_S[1,1] 311 | A1_A2 = (G1 - B1)/(1 - G1*CA1)*(1 + G2*CA2)/(G2 + B2) 312 | a1 = np.sqrt(A1_A2*A1A2) 313 | 314 | # choose correct answer for A1 and A2 315 | ref_est = reflect_ref*np.exp(-2*gamma*offset) 316 | G1 = (G1 - B1)/(1 - G1*CA1)/a1 317 | if abs(G1 - ref_est) > abs(-G1 - ref_est): 318 | a1 = -a1 319 | A1.append(a1) 320 | A2.append(A1A2/a1) 321 | A1 = np.array(A1).mean() 322 | A2 = np.array(A2).mean() 323 | 324 | # de-normalize 325 | X = X_@np.diag([A1A2, A2, A1, 1]) 326 | 327 | ''' 328 | X: is 4x4 matrix and is defined as X = (B.T kron A), where A is the 329 | forward error-box and B is the reverse error-box (T-parameters). 330 | This matrix holds the 6 error terms. 331 | 332 | k: is the 7-th term of the error-box model 333 | 334 | ############-NOTE-############ 335 | Background on Kronecker product: 336 | Given three matrices X, Y, and Z, the vectorization of their triplet 337 | product is given as: 338 | vec(XZY) = (Y.T kron X)*vec(Z) 339 | where vec() flatten a matrix into a vector. 340 | 341 | In our case if the error-box model is given as: 342 | M = k*A*T*B 343 | where k is scalar, A and B are forward and backward error-boxes, and 344 | T is the DUT. Then using Kronecker product description, we have: 345 | vec(M) = k*(B.T kron A)*vec(T) 346 | Therefore, the calibrated DUT is solved as: 347 | vec(T) = (1/k)*(B.T kron A)^(-1)*vec(M) 348 | 349 | https://en.wikipedia.org/wiki/Kronecker_product 350 | https://en.wikipedia.org/wiki/Vectorization_(mathematics) 351 | ############-END-############ 352 | ''' 353 | 354 | return X, k, gamma 355 | 356 | # EOF -------------------------------------------------------------------------------- /images/shift_cal_plane.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 19 | 43 | 48 | 49 | 51 | 59 | 64 | 65 | 73 | 78 | 79 | 87 | 92 | 93 | 101 | 106 | 107 | 115 | 120 | 121 | 129 | 134 | 135 | 143 | 148 | 149 | 150 | 155 | 162 | 171 | 180 | 189 | 198 | 205 | 212 | 221 | 230 | 237 | 244 | 248 | 252 | 256 | 260 | 264 | 268 | 272 | 276 | 280 | 284 | +d 295 | -d 306 | -d 317 | +d 328 | 333 | original cal plane 349 | positive shift 360 | negative shift 371 | 372 | 373 | -------------------------------------------------------------------------------- /mTRL.py: -------------------------------------------------------------------------------- 1 | import MultiCal 2 | import TUGmTRL 3 | 4 | import skrf as rf 5 | import numpy as np 6 | 7 | c0 = 299792458 # speed of light in vacuum (m/s) 8 | 9 | def correct_switch_term(S, GF, GR): 10 | ''' 11 | correct switch terms of measured S-parameters at a single frequency point 12 | GF: forward (sourced by port-1) 13 | GR: reverse (sourced by port-2) 14 | ''' 15 | S_new = S.copy() 16 | S_new[0,0] = (S[0,0]-S[0,1]*S[1,0]*GF)/(1-S[0,1]*S[1,0]*GF*GR) 17 | S_new[0,1] = (S[0,1]-S[0,0]*S[0,1]*GR)/(1-S[0,1]*S[1,0]*GF*GR) 18 | S_new[1,0] = (S[1,0]-S[1,1]*S[1,0]*GF)/(1-S[0,1]*S[1,0]*GF*GR) 19 | S_new[1,1] = (S[1,1]-S[0,1]*S[1,0]*GR)/(1-S[0,1]*S[1,0]*GF*GR) 20 | return S_new 21 | 22 | def sqrt_unwrapped(z): 23 | ''' 24 | Take the square root of a complex number with unwrapped phase. 25 | ''' 26 | return np.sqrt(abs(z))*np.exp(0.5*1j*np.unwrap(np.angle(z))) 27 | 28 | 29 | class mTRL: 30 | """ 31 | Multiline TRL calibration. 32 | 33 | Two algorithms implemented here: 34 | 1. The classical mTRL from NIST (MultiCal) [2,3] 35 | 2. Improved implementation based on [1] 36 | 37 | [1] Ziad Hatab, Michael Gadringer, Wolfgang Boesch, "Improving the Reliability 38 | of the Multiline TRL Calibration Algorithm," 98th ARFTG Conference, Jan. 2022 39 | 40 | [2] D. C. DeGroot, J. A. Jargon and R. B. Marks, "Multiline TRL revealed," 41 | 60th ARFTG Conference Digest, Fall 2002, pp. 131-155 42 | 43 | [3] R. B. Marks, "A multiline method of network analyzer calibration", 44 | IEEE Transactions on Microwave Theory and Techniques, 45 | vol. 39, no. 7, pp. 1205-1215, July 1991. 46 | """ 47 | 48 | def __init__(self, lines, line_lengths, reflect=None, 49 | reflect_est=[-1], reflect_offset=[0], ereff_est=1+0j, 50 | switch_term=None, compensate_repeated_lines=False, lnorm=1): 51 | """ 52 | mTRL initializer. 53 | 54 | Parameters 55 | -------------- 56 | lines : list of :class:`~skrf.network.Network` 57 | Measured lines. The first one is defined as Thru, 58 | and by default calibration is defined in its middel. 59 | 60 | line_lengths : list of float 61 | Lengths of the line. In the same order as the parameter 'lines' 62 | 63 | reflect : list of :class:`~skrf.network.Network` 64 | Measured reflect standards (2-port device) 65 | 66 | reflect_est : list of float 67 | Estimated reflection coefficient of the reflect standard. 68 | In the same order as the parameter 'reflect'. 69 | E.g., if you have a short : [-1] 70 | 71 | reflect_offset : list of float 72 | Offsets of the reflect standards from the reference plane (mid of Thru standard) 73 | Negative: towards the port 74 | Positive: away from port 75 | Units in meters. 76 | 77 | ereff_est : complex 78 | Estimated effective permittivity. 79 | 80 | switch_term : list of :class:`~skrf.network.Network` 81 | list of 1-port networks. Holds 2 elements: 82 | 1. network for forward switch term. 83 | 2. network for reverse switch term. 84 | 85 | compensate_repeated_lines : boolean 86 | apply scaling to the line measurements with repeated lengths. 87 | only applies to TUGmTRL algorithm. Default is False. 88 | 89 | lnorm : int 90 | specify the norm-weighting in the eigenvalue problem. Default is 1 (L1 norm). 91 | only lnorm = 1 and lnorm = 2 are stable. Higher values are just numerically unstable. 92 | only applies to TUGmTRL algorithm. Default is 1. 93 | """ 94 | 95 | self.f = lines[0].frequency.f 96 | self.Slines = np.array([x.s for x in lines]) 97 | self.lengths = np.array(line_lengths) 98 | self.Sreflect = np.ones((1,len(self.f),2,2))*np.nan if reflect is None else np.array([x.s for x in (reflect if isinstance(reflect, list) else [reflect]) ]) 99 | self.reflect_est = np.atleast_1d(reflect_est) 100 | self.reflect_offset = np.atleast_1d(reflect_offset) 101 | self.ereff_est = ereff_est*(1+0j) # make complex 102 | 103 | if switch_term is not None: 104 | self.switch_term = np.array([x.s.squeeze() for x in switch_term]) 105 | else: 106 | self.switch_term = np.array([self.f*0 for x in range(2)]) 107 | 108 | self.compensate_repeated_lines = compensate_repeated_lines 109 | self.lnorm = lnorm 110 | 111 | 112 | def run_multical(self): 113 | # MultiCal 114 | print('\nMultiCal mTRL in progress:') 115 | 116 | # initial arrays to fill 117 | gammas = [] 118 | Xs = [] 119 | ks = [] 120 | 121 | lengths = self.lengths 122 | reflect_est = self.reflect_est 123 | reflect_offset = self.reflect_offset 124 | 125 | # initial estimate 126 | ereff0 = self.ereff_est 127 | gamma0 = 2*np.pi*self.f[0]/c0*np.sqrt(-ereff0) 128 | 129 | # perform the calibration 130 | for inx, f in enumerate(self.f): 131 | Slines = self.Slines[:,inx,:,:] 132 | Sreflect = self.Sreflect[:,inx,:,:] 133 | sw = self.switch_term[:,inx] 134 | 135 | # correct switch term 136 | Slines = [correct_switch_term(x,sw[0],sw[1]) for x in Slines] if np.any(sw) else Slines 137 | Sreflect = [correct_switch_term(x,sw[0],sw[1]) for x in Sreflect] if np.any(sw) else Sreflect # this is actually not needed! 138 | 139 | X, k, gamma = MultiCal.mTRL(Slines, lengths, Sreflect, 140 | gamma0, reflect_est, reflect_offset) 141 | if inx+1 < len(self.f): 142 | gamma0 = gamma.real + 1j*gamma.imag*self.f[inx+1]/f 143 | 144 | Xs.append(X) 145 | ks.append(k) 146 | gammas.append(gamma) 147 | print(f'Frequency: {(f*1e-9).round(4)} GHz done!', end='\r', flush=True) 148 | 149 | self.X = np.array(Xs) 150 | self.k = np.array(ks) 151 | self.gamma = np.array(gammas) 152 | self.ereff = -(c0/2/np.pi/self.f*self.gamma)**2 153 | self.error_coef() 154 | 155 | def run_tug(self): 156 | # TUG mTRL 157 | print('\nTUG mTRL in progress:') 158 | 159 | # initial arrays to fill 160 | gammas = [] 161 | Xs = [] 162 | ks = [] 163 | lambds = [] 164 | 165 | lengths = self.lengths 166 | 167 | # initial estimate 168 | ereff0 = self.ereff_est 169 | reflect0 = self.reflect_est 170 | reflect_offset = self.reflect_offset 171 | # perform the calibration 172 | for inx, f in enumerate(self.f): 173 | Slines = self.Slines[:,inx,:,:] 174 | Sreflect = self.Sreflect[:,inx,:,:] 175 | sw = self.switch_term[:,inx] 176 | compensate_repeated_lines = self.compensate_repeated_lines 177 | lnorm = self.lnorm 178 | 179 | # correct switch term 180 | Slines = [correct_switch_term(x,sw[0],sw[1]) for x in Slines] if np.any(sw) else Slines 181 | Sreflect = [correct_switch_term(x,sw[0],sw[1]) for x in Sreflect] if np.any(sw) else Sreflect 182 | 183 | X, k, ereff0, gamma, _, lambd = TUGmTRL.mTRL(Slines, lengths, Sreflect, ereff0, 184 | reflect0, reflect_offset, f, 185 | compensate_repeated_lines, lnorm) 186 | 187 | Xs.append(X) 188 | ks.append(k) 189 | gammas.append(gamma) 190 | lambds.append(lambd) 191 | print(f'Frequency: {(f*1e-9).round(4)} GHz done!', end='\r', flush=True) 192 | 193 | self.X = np.array(Xs) 194 | self.k = np.array(ks) 195 | self.gamma = np.array(gammas) 196 | self.ereff = -(c0/2/np.pi/self.f*self.gamma)**2 197 | self.lambd = np.array(lambds) 198 | self.error_coef() # compute the 12 error terms 199 | 200 | def apply_cal(self, NW, left=True): 201 | ''' 202 | Apply calibration to a 1-port or 2-port network. 203 | NW: the network to be calibrated (1- or 2-port). 204 | left: boolean: define which port to use when 1-port network is given. If left is True, left port is used; otherwise right port is used. 205 | ''' 206 | nports = np.sqrt(len(NW.port_tuples)).astype('int') # number of ports 207 | # if 1-port, convert to 2-port (later convert back to 1-port) 208 | if nports < 2: 209 | NW = rf.two_port_reflect(NW) 210 | 211 | # apply cal 212 | P = np.array([[1,0,0,0], [0, 0,1,0], [0,1, 0,0], [0,0,0,1]]) # permute matrix 213 | q = np.array([[0,1],[1,0]]) 214 | S_cal = [] 215 | for x,k,s,sw in zip(self.X, self.k, NW.s, self.switch_term.T): 216 | s = correct_switch_term(s, sw[0], sw[1]) if np.any(sw) else s # swictch term correction 217 | """ 218 | Correction based on the bilinear fractional transformation. 219 | R. A. Speciale, "Projective Matrix Transformations in Microwave Network Theory," 220 | 1981 IEEE MTT-S International Microwave Symposium Digest, Los Angeles, CA, USA, 221 | 1981, pp. 510-512, doi: 10.1109/MWSYM.1981.1129979 222 | """ 223 | A = np.array([[x[2,2],x[2,3]],[x[3,2],1]]) 224 | B = np.array([[x[1,1],x[3,1]],[x[1,3],1]]) 225 | Zero = A*0 226 | E = P.T@np.block([[A*k, Zero],[Zero, q@np.linalg.inv(B)@q]])@P 227 | E11,E12,E21,E22 = E[:2,:2], E[:2,2:], E[2:,:2], E[2:,2:] 228 | S_cal.append( np.linalg.inv(s@E21-E11)@(E12-s@E22) ) 229 | 230 | ''' 231 | # Error-box correcrion procedure (unstable for pure reflect measurements) 232 | xinv = np.linalg.pinv(x) 233 | M_ = np.array([-s[0,0]*s[1,1]+s[0,1]*s[1,0], -s[1,1], s[0,0], 1]) 234 | T_ = xinv@M_ 235 | s21_cal = k*s[1,0]/T_[-1] 236 | T_ = T_/T_[-1] 237 | S_cal.append([[T_[2], (T_[0]-T_[2]*T_[1])/s21_cal],[s21_cal, -T_[1]]]) 238 | ''' 239 | S_cal = np.array(S_cal) 240 | freq = NW.frequency 241 | 242 | # revert to 1-port device if the input was a 1-port device 243 | if nports < 2: 244 | if left: # left port 245 | S_cal = S_cal[:,0,0] 246 | else: # right port 247 | S_cal = S_cal[:,1,1] 248 | return rf.Network(frequency=freq, s=S_cal.squeeze()) 249 | 250 | def error_coef(self): 251 | ''' 252 | This function returns the conventional 12 error terms from the error-box model. The conversion equations used are adapted from references [4] and [5]. 253 | Initially, only the 3 error terms from each port were included. However, due to feedback from @Zwelckovich, the function has been updated to now return 254 | all 12 error terms. Additionally, for the sake of completeness, the switch terms have also been included. 255 | Furthermore, the function also includes a consistency test between the 8-terms and 12-terms models, as discussed in reference [4]. 256 | 257 | [4] R. B. Marks, "Formulations of the Basic Vector Network Analyzer Error Model including Switch-Terms," 50th ARFTG Conference Digest, 1997, pp. 115-126. 258 | [5] Dunsmore, J.P.. Handbook of Microwave Component Measurements: with Advanced VNA Techniques.. Wiley, 2020. 259 | 260 | The following list includes the full error term abbreviations. In reference [4], Marks used the abbreviations without providing their full forms, 261 | which can be challenging to understand for those unfamiliar with VNA calibration terminology. 262 | For a comprehensive understanding of VNAs, I recommend consulting the book by Dunsmore [5], where all the terms are listed in full. 263 | 264 | Left port error terms (forward direction): 265 | EDF: forward directivity 266 | ESF: forward source match 267 | ERF: forward reflection tracking 268 | ELF: forward load match 269 | ETF: forward transmission tracking 270 | EXF: forward crosstalk 271 | 272 | Right port error terms (reverse direction): 273 | EDR: reverse directivity 274 | ESR: reverse source match 275 | ERR: reverse reflection tracking 276 | ELR: reverse load match 277 | ETR: reverse transmission tracking 278 | EXR: reverse crosstalk 279 | 280 | Switch terms: 281 | GF: forward switch term 282 | GR: reverse switch term 283 | 284 | NOTE: the k in my notation is equivalent to Marks' notation [4] by this relationship: k = (beta/alpha)*(1/ERR). 285 | ''' 286 | 287 | self.coefs = {} 288 | # forward 3 error terms. These equations are directly mapped from eq. (3) in [4] 289 | EDF = self.X[:,2,3] 290 | ESF = -self.X[:,3,2] 291 | ERF = self.X[:,2,2] - self.X[:,2,3]*self.X[:,3,2] 292 | 293 | # reverse 3 error terms. These equations are directly mapped from eq. (3) in [4] 294 | EDR = -self.X[:,1,3] 295 | ESR = self.X[:,3,1] 296 | ERR = self.X[:,1,1] - self.X[:,3,1]*self.X[:,1,3] 297 | 298 | # switch terms 299 | GF = self.switch_term[0] 300 | GR = self.switch_term[1] 301 | 302 | # remaining forward terms 303 | ELF = ESR + ERR*GF/(1-EDR*GF) # eq. (36) in [4]. 304 | ETF = 1/self.k/(1-EDR*GF) # eq. (38) in [4], after substituting eq. (36) in eq. (38) and simplifying. 305 | EXF = 0*ESR # setting it to zero, since we assumed no cross-talk in the calibration. (update if known!) 306 | 307 | # remaining reverse terms 308 | ELR = ESF + ERF*GR/(1-EDF*GR) # eq. (37) in [4]. 309 | ETR = self.k*ERR*ERF/(1-EDF*GR) # eq. (39) in [4], after substituting eq. (37) in eq. (39) and simplifying. 310 | EXR = 0*ESR # setting it to zero, since we assumed no cross-talk in the calibration. (update if known!) 311 | 312 | # forward direction 313 | self.coefs['EDF'] = EDF 314 | self.coefs['ESF'] = ESF 315 | self.coefs['ERF'] = ERF 316 | self.coefs['ELF'] = ELF 317 | self.coefs['ETF'] = ETF 318 | self.coefs['EXF'] = EXF 319 | self.coefs['GF'] = GF 320 | 321 | # reverse direction 322 | self.coefs['EDR'] = EDR 323 | self.coefs['ESR'] = ESR 324 | self.coefs['ERR'] = ERR 325 | self.coefs['ELR'] = ELR 326 | self.coefs['ETR'] = ETR 327 | self.coefs['EXR'] = EXR 328 | self.coefs['GR'] = GR 329 | 330 | # consistency check between 8-terms and 12-terms model. Based on eq. (35) in [4]. 331 | # This should equal zero, otherwise there is inconsistency between the models (can arise from bad switch term measurements). 332 | self.coefs['check'] = abs( ETF*ETR - (ERR + EDR*(ELF-ESR))*(ERF + EDF*(ELR-ESF)) ) 333 | return self.coefs 334 | 335 | def reciprocal_ntwk(self): 336 | ''' 337 | Return left and right error-boxes as skrf networks, assuming they are reciprocal. 338 | ''' 339 | freq = rf.Frequency.from_f(self.f, unit='hz') 340 | freq.unit = 'ghz' 341 | 342 | # left error-box 343 | S11 = self.coefs['EDF'] 344 | S22 = self.coefs['ESF'] 345 | S21 = sqrt_unwrapped(self.coefs['ERF']) 346 | S12 = S21 347 | S = np.array([ [[s11,s12],[s21,s22]] for s11,s12,s21,s22 348 | in zip(S11,S12,S21,S22) ]) 349 | left_ntwk = rf.Network(s=S, frequency=freq, name='Left error-box') 350 | 351 | # right error-box 352 | S11 = self.coefs['EDR'] 353 | S22 = self.coefs['ESR'] 354 | S21 = sqrt_unwrapped(self.coefs['ERR']) 355 | S12 = S21 356 | S = np.array([ [[s11,s12],[s21,s22]] for s11,s12,s21,s22 357 | in zip(S11,S12,S21,S22) ]) 358 | right_ntwk = rf.Network(s=S, frequency=freq, name='Right error-box') 359 | right_ntwk.flip() 360 | return left_ntwk, right_ntwk 361 | 362 | def shift_plane(self, da=0, db=None): 363 | ''' 364 | Shift calibration plane by a distance d from either ports. 365 | da is the shift from port-1 (left), and db is the shift from port-2 (right). 366 | Negative d value shifts toward port, while positive d value shift away from port. 367 | For example, if your Thru has a length of L, then da=db=-L/2 shifts the plane backward to the edges of the Thru. 368 | ''' 369 | 370 | db = db if db is not None else da # use da if db is not given 371 | X_new = [] 372 | K_new = [] 373 | for x,k,g in zip(self.X, self.k, self.gamma): 374 | KX_new = k*x@np.diag([np.exp(-g*(db+da)), np.exp(-g*(db-da)), np.exp(g*(db-da)), np.exp(g*(db+da))]) 375 | X_new.append(KX_new/KX_new[-1,-1]) 376 | K_new.append(KX_new[-1,-1]) 377 | self.X = np.array(X_new) 378 | self.k = np.array(K_new) 379 | self.error_coef() # update the 12-error terms 380 | 381 | def renorm_impedance(self, Z_new, Z0=50): 382 | ''' 383 | Re-normalize reference calibration impedance. by default, the ref impedance is the characteristic 384 | impedance of the line standards (even if you don'y know it!). 385 | Z_new: new ref. impedance (can be array if frequency dependent) 386 | Z0: old ref. impedance (can be array if frequency dependent) 387 | ''' 388 | # ensure correct array dimensions if scalar is given (frequency independent). 389 | N = len(self.k) 390 | Z_new = Z_new*np.ones(N) 391 | Z0 = Z0*np.ones(N) 392 | 393 | G = (Z_new-Z0)/(Z_new+Z0) 394 | X_new = [] 395 | K_new = [] 396 | for x,k,g in zip(self.X, self.k, G): 397 | KX_new = k*x@np.kron([[1, -g],[-g, 1]],[[1, g],[g, 1]])/(1-g**2) 398 | X_new.append(KX_new/KX_new[-1,-1]) 399 | K_new.append(KX_new[-1,-1]) 400 | 401 | self.X = np.array(X_new) 402 | self.k = np.array(K_new) 403 | self.error_coef() # update the 12-error terms 404 | # EOF -------------------------------------------------------------------------------- /s2p_example_2/MPI_line_0200u.s2p: -------------------------------------------------------------------------------- 1 | ! 2-Port S-parameters saved by WinCal 2 | ! VAR MeasName=S-Parameters (RAW_DATA) read from VNA (MS4647B) 3 | ! VAR MeasDate=09-Dec-21 16:13:14 4 | ! VAR NAME=L0 5 | ! VAR FILENAME=L0.S2P 6 | ! VAR DATE=09-Dec-21 16:13:14 7 | ! VAR PHYS_PORTS=1,2 8 | ! VAR ObjTypeName=DATASET 9 | ! VAR IndexType=Frequency 10 | ! 11 | # Hz S RI R 50 12 | 200000000.000 -1.6025293618E-002 -8.5093341768E-002 -2.1031497419E-001 -7.0109540224E-001 -3.2870623469E-001 -6.6499161720E-001 +2.6552785188E-002 -5.3683612496E-002 13 | 400000000.000 +1.2299795449E-001 -8.0420121551E-002 -4.8755761981E-001 +4.8600295186E-001 -3.3609536290E-001 +6.1295574903E-001 -1.2639637291E-001 -8.7224878371E-003 14 | 600000000.000 +5.1281094551E-002 -6.9190353155E-002 +5.3583490849E-001 +3.0468362570E-001 +6.0174924135E-001 -9.6782781184E-002 -3.4472823143E-002 +5.1873758435E-002 15 | 800000000.000 +9.5781557262E-002 -2.4115535617E-001 -7.4928812683E-002 -6.5825253725E-001 -4.8941233754E-001 -4.1999271512E-001 +1.9128279388E-001 +8.7912656367E-002 16 | 1000000000.000 +7.8933008015E-002 -1.8864968419E-001 -4.1763469577E-001 +5.7474881411E-001 +1.3050034642E-001 +6.6560155153E-001 +1.5469864011E-001 -5.8512937278E-002 17 | 1200000000.000 +1.1730515212E-001 -2.5182783604E-001 +7.3080962896E-001 +6.2943138182E-002 +4.0671870112E-001 -5.4601454735E-001 -1.1986090988E-001 -1.8053458631E-001 18 | 1400000000.000 +1.5002533793E-001 -1.7641475797E-001 -4.0926137567E-001 -6.1050778627E-001 -6.7174011469E-001 +8.9548699558E-002 -5.5663067847E-002 -6.7553050816E-002 19 | 1600000000.000 +7.0803932846E-002 +1.3814923167E-001 -1.9122007489E-001 +6.0737866163E-001 +4.2935478687E-001 +3.6235132813E-001 -1.3223981857E-001 -7.1322701871E-002 20 | 1800000000.000 +1.2930433452E-001 -6.2953177840E-003 +5.1407510042E-001 -1.3007971644E-001 -1.6052745283E-002 -4.6606990695E-001 +4.3268185109E-002 +1.3544203341E-001 21 | 2000000000.000 +5.7245049626E-002 +1.2417599559E-002 -3.5037970543E-001 -2.9828277230E-001 -2.9385468364E-001 +2.5811770558E-001 +1.3093763590E-001 -4.3336063623E-002 22 | 2200000000.000 +1.5990594029E-001 -1.5531150997E-001 -8.2076244056E-002 +3.9513832331E-001 +3.5573557019E-001 +8.1734962761E-002 +3.4818232059E-002 -2.6268407702E-001 23 | 2400000000.000 -8.1404484808E-002 -1.2408627570E-001 +3.1092226505E-001 -3.1041860580E-001 -2.8920841217E-001 -2.8917896748E-001 -1.1804460734E-001 +7.9647950828E-002 24 | 2600000000.000 +5.4486788809E-002 +1.1471962929E-001 -3.5540249944E-001 -6.8648076057E-001 -5.1206415892E-001 +1.3744075596E-001 +1.8954878673E-002 -5.7402264327E-002 25 | 2800000000.000 +5.8156125247E-002 -2.1989218891E-001 +8.9104193449E-001 +3.8368497044E-002 -4.1204297543E-001 -5.9558176994E-001 -1.2502154708E-001 +1.0783318430E-001 26 | 3000000000.000 +1.3669978082E-001 +1.8333943188E-001 -5.5637311935E-001 +6.6489040852E-001 +4.1847929358E-001 -6.0863029957E-001 -5.5346313864E-002 -1.3364699483E-001 27 | 3200000000.000 -5.9298157692E-002 +1.7014077306E-001 -1.4497549832E-001 -8.0659735203E-001 +6.7158436775E-001 +1.8417520821E-001 +2.3308534175E-002 -9.3653500080E-002 28 | 3400000000.000 +1.7434534431E-001 +1.5161806345E-001 +7.4544614553E-001 +3.3317542076E-001 -1.5147889964E-002 +7.3731416464E-001 -1.5534491837E-001 -3.2538585365E-002 29 | 3600000000.000 +1.0331465304E-001 -3.2808799297E-002 -7.9654562473E-001 +3.2104197145E-001 -8.0650687218E-001 +3.0511528254E-001 -1.6960622370E-001 -5.9404862113E-003 30 | 3800000000.000 -2.0105969906E-001 -2.1297243237E-001 +4.1375580430E-001 -7.9210275412E-001 -3.8519725204E-001 -7.2784167528E-001 +1.4632278681E-001 +1.0399146378E-001 31 | 4000000000.000 +2.0612735301E-002 +9.7491323948E-002 +3.2057121396E-001 +8.3741712570E-001 +5.3335011005E-001 -5.4968833923E-001 -8.8974433020E-003 -6.9010570645E-002 32 | 4200000000.000 +9.5421047881E-003 -3.4713433124E-003 -8.2820504904E-001 -4.1945666075E-001 +7.3675256968E-001 +4.4947189093E-001 -5.7161282748E-002 -2.1661393344E-002 33 | 4400000000.000 -4.1559536010E-002 -9.4811156392E-002 +8.4295666218E-001 -2.3691885173E-001 -2.4973461032E-001 +8.6998468637E-001 +6.9811120629E-002 +8.1635393202E-002 34 | 4600000000.000 -1.3017078163E-003 +2.0787987858E-002 -4.3721821904E-001 +7.5555163622E-001 -8.3377790451E-001 -1.8811823428E-001 -4.3935243040E-002 +4.7499801964E-002 35 | 4800000000.000 -2.7158552781E-002 +2.7396757156E-002 -1.1061190069E-001 -8.6425298452E-001 +3.1781170517E-002 -8.1998884678E-001 -5.0956547260E-002 -1.8499411643E-002 36 | 5000000000.000 +2.0508448780E-001 +1.0571420193E-001 +5.8394497633E-001 +5.5856817961E-001 +8.2845395803E-001 -2.2389213741E-001 -2.0537143946E-001 +5.6085255928E-003 37 | 5200000000.000 +2.6485463977E-001 -1.2788234651E-001 -7.9997891188E-001 -6.6758170724E-002 +2.2768472135E-001 +8.8357818127E-001 +1.1602689326E-001 +2.1882878244E-001 38 | 5400000000.000 -6.5542437136E-002 -5.5133130401E-002 +6.2479275465E-001 -4.6735087037E-001 -7.4743950367E-001 +3.1405726075E-001 +9.9237732589E-002 -5.7718850672E-002 39 | 5600000000.000 +3.0561452731E-003 +6.0171164572E-002 -1.8179011345E-001 +7.0664465427E-001 -4.9198663235E-001 -6.0361975431E-001 +3.5086575896E-002 +2.4802373722E-002 40 | 5800000000.000 -8.2039706409E-002 +1.2741093338E-001 -3.2919859886E-001 -6.0580122471E-001 +5.7667535543E-001 -5.2690100670E-001 -1.8443493545E-001 +1.2429338880E-002 41 | 6000000000.000 +2.4089906365E-003 +4.3962197378E-003 +6.1920088530E-001 +2.3080889881E-001 +5.6344676018E-001 +5.3250002861E-001 -1.0245583951E-001 -6.9697126746E-003 42 | 6200000000.000 +4.7983873636E-002 -3.1912578270E-003 -6.3496464491E-001 +1.4066924155E-001 -4.8305365443E-001 +5.1393067837E-001 +1.1800747365E-001 +8.4344826639E-002 43 | 6400000000.000 -1.4699490368E-001 +1.5132515132E-001 +2.9385864735E-001 -5.5267632008E-001 -6.3865214586E-001 -2.6052573323E-001 -2.5477460027E-001 -1.0660089552E-001 44 | 6600000000.000 +1.4840357006E-001 +5.4764773697E-002 -8.5541959852E-003 +6.3775682449E-001 +3.0494582653E-001 -6.2337023020E-001 -3.1694013625E-002 +8.4198892117E-002 45 | 6800000000.000 +2.4658460170E-002 -1.2121098116E-003 -3.6749011278E-001 -5.1765787601E-001 +6.4854365587E-001 +2.5704923272E-001 +4.9487832002E-003 +3.6191686988E-002 46 | 7000000000.000 +3.3063590527E-002 -6.3553176820E-002 +6.0665464401E-001 +1.0438635200E-001 -4.2999745347E-003 +6.1897462606E-001 +9.3094490469E-002 -7.2181761265E-002 47 | 7200000000.000 -1.2853771448E-001 -2.0927676931E-002 -5.5591320992E-001 +2.2975771129E-001 -5.8115857840E-001 +3.8264825940E-002 +1.0833194852E-001 -6.1164356768E-002 48 | 7400000000.000 -1.5476784110E-001 +2.6151411235E-002 +2.9373282194E-001 -4.9106243253E-001 -6.5460585058E-002 -5.8476150036E-001 -2.5576055050E-001 -1.2736652978E-002 49 | 7600000000.000 +1.1861384660E-001 +5.4258726537E-002 +7.6990783215E-002 +5.7550668716E-001 +5.5660867691E-001 -1.1369709671E-001 +1.1801612377E-001 +4.4195726514E-002 50 | 7800000000.000 -2.3191282153E-001 -8.0394811928E-002 -3.9283928275E-001 -3.9563596249E-001 +1.9104580581E-001 +4.6835401654E-001 -7.3807984591E-002 -6.4979799092E-002 51 | 8000000000.000 +6.5355658531E-002 -3.1604651362E-002 +5.2965021133E-001 +1.0297334939E-001 -4.8570236564E-001 +1.9617880881E-001 -1.0913186707E-002 -8.8996095583E-003 52 | 8200000000.000 -9.4238676131E-002 +8.5438981652E-002 -4.3147322536E-001 +2.5752615929E-001 -2.4054871500E-001 -4.3140208721E-001 -5.3659502417E-002 +6.9576770067E-002 53 | 8400000000.000 +9.3700625002E-002 +1.2663320638E-002 +2.5161632895E-001 -3.9156287909E-001 +3.7124165893E-001 -2.6911535859E-001 +1.8081218004E-002 +1.4920498244E-002 54 | 8600000000.000 +1.6520434618E-001 -2.2368477657E-002 +9.2998363078E-002 +3.9789324999E-001 +2.6370450854E-001 +3.0897489190E-001 +1.8608897924E-001 -8.7447158992E-002 55 | 8800000000.000 -8.9413948357E-002 -7.1568511426E-002 -3.3314034343E-001 -2.4822281301E-001 -2.3518295586E-001 +3.5065937042E-001 -1.3226707280E-001 -4.9973011483E-004 56 | 9000000000.000 -2.8233481571E-002 +1.2063895352E-002 +3.7985441089E-001 +1.8060619012E-002 -3.3169111609E-001 -2.2334851325E-001 -1.1380900629E-002 -2.0169895142E-002 57 | 9200000000.000 -9.9724583328E-002 +3.2924205065E-002 -3.0086234212E-001 +2.3410616815E-001 +1.7866018414E-001 -3.3222788572E-001 +1.6565253958E-002 +1.4110247791E-001 58 | 9400000000.000 +6.6995315254E-002 -6.4529534429E-003 +6.5739616752E-002 -3.5508728027E-001 +3.4880444407E-001 +9.9796868861E-002 -2.1197821945E-002 -4.7626208514E-002 59 | 9600000000.000 -8.0121986568E-002 -9.2259265482E-002 +1.4400242269E-001 +3.1994298100E-001 -9.2032440007E-002 +3.4675756097E-001 -4.3165169656E-002 +1.3526910916E-002 60 | 9800000000.000 +1.7222002149E-002 -2.8227530420E-002 -3.0104029179E-001 -1.6052465141E-001 -3.5607069731E-001 -4.1719529778E-002 -3.9678476751E-002 +4.4969558716E-002 61 | 10000000000.000 -2.0476017147E-002 +5.8997284621E-002 +3.1862798333E-001 -5.9712257236E-002 +1.0450191796E-001 -3.1503635645E-001 -2.7548542712E-003 +3.5226296633E-002 62 | 10200000000.000 +2.9630072415E-002 +4.7696720809E-002 -2.4967910349E-001 +1.9714303315E-001 +3.0270183086E-001 -9.1175422072E-002 +3.2034059986E-003 -1.0191554576E-001 63 | 10400000000.000 +1.3764151931E-001 -4.4506415725E-004 +7.7030390501E-002 -2.8315493464E-001 +6.0398839414E-002 +3.1638029218E-001 -7.2225347161E-002 -7.1729280055E-002 64 | 10600000000.000 +1.1508195661E-002 -6.4665026963E-002 +1.2768843770E-001 +2.7195253968E-001 -3.0645847321E-001 +1.7294831574E-002 -5.1032546908E-002 +1.1522411555E-001 65 | 10800000000.000 -7.0592433214E-002 +1.7746338621E-002 -2.2747246921E-001 -1.6864226758E-001 -9.9540866911E-002 -2.7981451154E-001 +2.5853006169E-002 -4.7363992780E-002 66 | 11000000000.000 +8.1475585699E-002 +1.4971614582E-003 +2.8963094950E-001 +1.6352239996E-002 +2.5430732965E-001 -1.7006462812E-001 +7.2400443256E-002 +1.7951810732E-002 67 | 11200000000.000 -2.4547988549E-002 +8.8638439775E-002 -2.2292260826E-001 +1.5301749110E-001 +1.7839084566E-001 +2.4009524286E-001 -9.9211946130E-002 -4.5609317720E-002 68 | 11400000000.000 -5.4398244247E-003 -3.9323624223E-002 +9.7802333534E-002 -2.4850000441E-001 -2.2980159521E-001 +1.9314077497E-001 +2.8212320060E-002 -6.6645382904E-003 69 | 11600000000.000 -1.2054509483E-002 -2.0078670233E-002 +1.0660327226E-001 +2.2642050683E-001 -1.9218385220E-001 -1.9482935965E-001 +1.5768924728E-002 +1.2418055534E-001 70 | 11800000000.000 -1.0052833706E-001 +8.9000768960E-002 -2.2947947681E-001 -1.0123763233E-001 +1.7061449587E-001 -2.1850544214E-001 -2.6530480012E-002 -1.7447707057E-001 71 | 12000000000.000 +1.5650367737E-001 +1.1921635829E-002 +2.3496426642E-001 -9.9447071552E-003 +1.9287636876E-001 +1.7678970098E-001 -5.7480078191E-002 +1.9299009815E-002 72 | 12200000000.000 +1.1883570813E-002 -5.8106165379E-002 -1.9920180738E-001 +1.1370050162E-001 -1.7407537997E-001 +1.8756930530E-001 -6.7517422140E-002 +5.4853897542E-002 73 | 12400000000.000 +2.2410480306E-002 +4.3761249632E-002 +1.1424332857E-001 -2.0230767131E-001 -1.9217240810E-001 -1.7138022184E-001 +4.3695330620E-002 -4.0310170501E-002 74 | 12600000000.000 -8.2365758717E-003 +2.7906907722E-002 +8.5876680911E-002 +2.1108275652E-001 +1.3054744899E-001 -2.2247150540E-001 -4.0037237108E-002 +3.6875005811E-002 75 | 12800000000.000 -1.4737322927E-002 +4.4564269483E-002 -2.0250377059E-001 -8.5336916149E-002 +2.4747900665E-001 +5.7598918676E-002 +1.3329280540E-002 -1.1171694100E-001 76 | 13000000000.000 +6.8223632872E-002 +3.4167770296E-002 +2.0901358128E-001 -3.9930105209E-002 -3.7427380681E-002 +2.3958608508E-001 -5.7264123112E-002 +1.0460546613E-001 77 | 13200000000.000 -1.4018440247E-001 -1.5555571020E-001 -1.9012735784E-001 +8.5683211684E-002 -1.9228488207E-001 -1.0268478096E-001 +8.7880373001E-002 -1.0440337658E-001 78 | 13400000000.000 -3.4068774432E-002 +1.0223577917E-001 +1.3967931271E-001 -1.4900702238E-001 +1.2081871182E-001 -2.0097765326E-001 +5.7083431631E-002 -6.1556562781E-002 79 | 13600000000.000 -2.9855318367E-002 +8.2972133532E-003 +9.9730733782E-003 +2.1311976016E-001 +2.3305541277E-001 +7.8493468463E-002 -8.5365913808E-002 -4.9045979977E-003 80 | 13800000000.000 +2.5570906699E-002 -3.8464985788E-002 -1.4740324020E-001 -1.5527507663E-001 +2.7825621888E-002 +2.2731810808E-001 +6.9659881294E-002 -4.1138630360E-002 81 | 14000000000.000 +1.8710462376E-002 -8.3785643801E-003 +2.0280888677E-001 +1.9392004237E-002 -2.0749489963E-001 +5.6901756674E-002 +6.5810859203E-002 +6.7815177143E-002 82 | 14200000000.000 -1.1680729687E-001 -3.7346895784E-002 -1.8493741751E-001 +9.0928301215E-002 -8.5783980787E-002 -1.9436870515E-001 +1.8265420571E-002 -8.8769711554E-002 83 | 14400000000.000 +7.4730202556E-002 +2.6231134310E-002 +1.0967345536E-001 -1.6563455760E-001 +2.1148446202E-001 -3.6076918244E-002 -2.2375492379E-002 +4.9743566662E-002 84 | 14600000000.000 +3.8729339838E-002 -4.2788065970E-002 +1.3929552399E-002 +1.9360728562E-001 +2.7163803577E-002 +1.9327442348E-001 +4.8174217343E-002 +2.0377095789E-002 85 | 14800000000.000 -2.3554395884E-002 -3.6389905959E-002 -1.4276567101E-001 -1.4195975661E-001 -1.8374796212E-001 +8.5031643510E-002 +5.3333245218E-002 +3.5161212087E-002 86 | 15000000000.000 +1.5849860385E-002 -5.2196055651E-002 +1.9874824584E-001 +1.1477680877E-002 -1.0169652104E-001 -1.6937366128E-001 -1.0239869356E-002 -7.5455211103E-002 87 | 15200000000.000 -4.4585920870E-002 +1.0766541213E-001 -1.7493896186E-001 +1.0198599845E-001 +1.6027316451E-001 -1.0215117782E-001 -1.4771646820E-002 +3.8576241583E-002 88 | 15400000000.000 +5.7705167681E-002 -6.2377061695E-003 +5.4981119931E-002 -1.9099538028E-001 +1.0116186738E-001 +1.5613488853E-001 +2.2912884131E-002 +8.6020581424E-002 89 | 15600000000.000 +7.8356461599E-003 -4.3318271637E-002 +5.9292219579E-002 +1.9931028783E-001 -1.2249704450E-001 +1.4774848521E-001 +3.6078278208E-004 -6.6364750266E-002 90 | 15800000000.000 -9.3773659319E-003 +4.3122570962E-002 -1.4405077696E-001 -1.6014645994E-001 -1.4850543439E-001 -1.1903900653E-001 +4.7290805727E-002 +9.2371828854E-002 91 | 16000000000.000 +3.4068569541E-002 -4.2079176754E-002 +2.0159009099E-001 +3.2125134021E-002 +1.4314375818E-001 -1.1657407880E-001 -1.7031127587E-002 -5.9106726199E-002 92 | 16200000000.000 -2.0026601851E-002 +7.6713494956E-002 -1.8363122642E-001 +9.2415295541E-002 +1.3222104311E-001 +1.1640583724E-001 -3.2161045820E-002 +6.8154916167E-002 93 | 16400000000.000 +5.0441622734E-002 +1.7750108382E-003 +6.7943014205E-002 -1.8280124664E-001 -9.6258826554E-002 +1.3997884095E-001 +4.8595428467E-002 -3.3609069884E-002 94 | 16600000000.000 -4.9759190530E-002 -4.4526230544E-002 +2.3351522163E-002 +1.8844112754E-001 -1.5958848596E-001 -6.6549621522E-002 -1.2695332989E-002 +2.0662168041E-002 95 | 16800000000.000 -5.6014093570E-003 +7.3557429016E-002 -9.6980087459E-002 -1.6509871185E-001 +5.8870166540E-002 -1.5472686291E-001 -3.8443457335E-002 +8.2116939127E-002 96 | 17000000000.000 -1.3594536111E-002 +7.0072920062E-004 +1.7599640787E-001 +6.7720532417E-002 +1.5294246376E-001 +5.3220640868E-002 +1.9559696317E-002 -8.8962696493E-002 97 | 17200000000.000 +9.2243934050E-003 -1.7932814080E-003 -1.5636961162E-001 +9.3550741673E-002 -4.0276519954E-002 +1.5361167490E-001 +2.8326553293E-003 +1.3822139800E-001 98 | 17400000000.000 +7.4580922956E-004 +7.0195712149E-002 +5.1895026118E-002 -1.5650875866E-001 -1.4490249753E-001 -2.0151840523E-002 -6.7811056972E-002 -2.7453498915E-002 99 | 17600000000.000 -7.3607876897E-002 -5.9059776366E-002 +5.5390637368E-002 +1.6157425940E-001 -1.4860232361E-002 -1.4805117249E-001 +3.3492382616E-002 -3.8388022222E-003 100 | 17800000000.000 -1.5992140397E-002 +5.0126451999E-002 -1.2459982187E-001 -1.0328918695E-001 +1.3681522012E-001 -3.7552207708E-002 -2.0406994969E-002 +6.2423676252E-002 101 | 18000000000.000 +2.5541491807E-002 -9.0590808541E-003 +1.6703893244E-001 +1.2497099116E-002 +4.1570175439E-002 +1.3960461318E-001 -5.7675775141E-002 -9.3420572579E-002 102 | 18200000000.000 -2.6092566550E-002 -1.1762848496E-001 -1.4238353074E-001 +6.2844447792E-002 -1.3055609167E-001 +3.1246265396E-002 -5.2156995982E-002 +8.0288484693E-002 103 | 18400000000.000 -2.0327238366E-002 +3.6004994065E-002 +5.4274577647E-002 -1.5590308607E-001 -6.0900233686E-002 -1.2838870287E-001 +2.1844694857E-003 +3.4413335379E-003 104 | 18600000000.000 +2.6907028630E-002 -7.6546952128E-002 +7.2694033384E-002 +1.4079424739E-001 +1.1653061956E-001 -5.5844150484E-002 -6.9482825696E-002 -5.9847757220E-002 105 | 18800000000.000 -4.7320416197E-003 +3.8552079350E-002 -1.3567836583E-001 -7.1304850280E-002 +9.2053927481E-002 +1.0635365546E-001 +3.6232075654E-003 -6.4185168594E-003 106 | 19000000000.000 +8.7300166488E-002 +2.3456262425E-003 +1.5506139398E-001 -3.0810269527E-003 -1.0294168442E-001 +8.3649553359E-002 -4.5924931765E-002 -4.6377360821E-002 107 | 19200000000.000 -9.9979247898E-003 -1.0212166607E-001 -1.2234614789E-001 +9.1154560447E-002 -8.1957064569E-002 -9.9105015397E-002 -1.8825426698E-002 +2.8177788481E-002 108 | 19400000000.000 +3.9564721286E-002 +1.4848956466E-001 +5.7869568467E-002 -1.4699578285E-001 +9.3255624175E-002 -9.2967711389E-002 +1.0444881022E-001 -9.5839731395E-002 109 | 19600000000.000 +4.2613636702E-002 -2.2445611656E-002 +5.1874075085E-002 +1.4532542229E-001 +1.0939601809E-001 +7.5074113905E-002 -1.0046524554E-001 -3.5413908772E-003 110 | 19800000000.000 +3.2432198524E-002 +2.1357828751E-002 -1.4455781877E-001 -8.5557870567E-002 -9.0769469738E-002 +1.1871965230E-001 +2.4153098464E-002 -4.8030901700E-002 111 | 20000000000.000 -2.0367128775E-002 +2.9626954347E-002 +1.5492297709E-001 -2.2008577362E-002 -8.1662192941E-002 -1.1022516340E-001 +1.9386680797E-003 +3.6658301950E-002 112 | 20200000000.000 -1.4974498190E-003 -6.9567933679E-002 -1.2836413085E-001 +8.0948501825E-002 -1.0759118013E-002 -1.3709983230E-001 -4.3332323432E-002 -3.0222455040E-002 113 | 20400000000.000 -3.3043924719E-002 +9.6604414284E-002 +6.7676782608E-002 -1.3185153902E-001 +1.3399776816E-001 -1.2324154377E-002 +1.5710184351E-002 -8.8154688478E-002 114 | 20600000000.000 -5.3950478323E-003 +1.5886817127E-002 +3.3747985959E-002 +1.4027321339E-001 +2.1724240854E-002 +1.2769696116E-001 -2.0394176245E-002 +6.0673736036E-002 115 | 20800000000.000 +3.7971969694E-002 -6.1502153985E-003 -1.1520601809E-001 -9.7636364400E-002 -1.3432963192E-001 +3.2380344346E-003 -3.4065190703E-002 -5.9746976942E-002 116 | 21000000000.000 -7.8416332603E-002 -1.9430723041E-002 +1.2463115901E-001 -9.4421720132E-003 +3.0727395788E-002 -1.1137524992E-001 +3.1471416354E-002 -5.2786987275E-002 117 | 21200000000.000 -2.5148695335E-002 +5.6471396238E-002 -9.8363637924E-002 +9.6654005349E-002 +1.1925408244E-001 +1.6194272786E-002 -1.0794478655E-001 +5.7047624141E-003 118 | 21400000000.000 -1.8646534532E-002 -5.9207867831E-002 +3.2245934010E-002 -1.2959250808E-001 +1.3310193317E-003 +1.1661513150E-001 +1.0310892016E-001 -2.9293039814E-002 119 | 21600000000.000 -1.0576241650E-002 +3.1204141676E-002 +4.9607552588E-002 +1.2568332255E-001 -1.0221935809E-001 +5.1609128714E-002 -4.5610811561E-002 -7.2175469249E-003 120 | 21800000000.000 -3.4925185144E-002 -4.8225361854E-002 -8.0296337605E-002 -9.3346439302E-002 -6.3062213361E-002 -8.8282361627E-002 +6.1672013253E-003 -7.9796813428E-002 121 | 22000000000.000 -1.4616955072E-002 -7.5037866831E-002 +1.2160515785E-001 +1.8472032622E-002 +7.5245693326E-002 -7.0975363255E-002 +3.0606253073E-002 +5.1684970967E-003 122 | 22200000000.000 +6.4141348004E-002 +9.9332183599E-002 -1.1903737485E-001 +5.3437624127E-002 +7.2401471436E-002 +8.3365797997E-002 -9.4405608252E-003 +2.1367212757E-002 123 | 22400000000.000 -1.5979532152E-002 -1.2632504106E-001 +6.1608325690E-002 -1.0038353503E-001 -6.5978892148E-002 +7.4082836509E-002 +1.2237970531E-001 -1.0710580647E-001 124 | 22600000000.000 +1.3371466659E-002 +1.4535584487E-003 -6.4890955400E-005 +1.3059562445E-001 -8.7060354650E-002 -6.1786066741E-002 -6.9728791714E-002 +3.9769828320E-002 125 | 22800000000.000 +2.8869051486E-002 +2.7281641960E-002 -7.1191392839E-002 -9.5163404942E-002 +5.5148839951E-002 -9.1913275421E-002 +3.2972175628E-002 +1.2525016209E-003 126 | 23000000000.000 -2.5223229080E-002 -6.9506508298E-003 +1.2094284594E-001 +1.2575768866E-002 +9.7729593515E-002 +5.0640780479E-002 +4.8895798624E-002 +2.7938686311E-002 127 | 23200000000.000 +8.6662486196E-002 -7.2910944000E-003 -9.2565849423E-002 +6.3858091831E-002 -4.0310248733E-002 +8.6456947029E-002 +5.5319812149E-002 -6.2305130996E-003 128 | 23400000000.000 -4.4259922579E-003 -1.2797875330E-002 +1.3841290958E-002 -1.2012218684E-001 -9.9860168993E-002 -3.4729648381E-002 -3.5495478660E-002 -2.5141544640E-002 129 | 23600000000.000 -6.5795309842E-002 +2.4254040793E-002 +5.8686766773E-002 +1.0988214612E-001 +2.6650868356E-002 -1.0534586012E-001 -3.9599284530E-002 +3.4408703446E-002 130 | 23800000000.000 +1.0817336291E-001 +2.0912718028E-002 -9.6078924835E-002 -6.4638577402E-002 +1.0000898689E-001 +2.2700408474E-002 +1.3300178945E-001 +1.8025791273E-002 131 | 24000000000.000 -2.5824302807E-002 +3.8472324610E-002 +1.2714977562E-001 +1.6045033932E-002 -2.7189407498E-002 +1.0491266847E-001 -2.9701255262E-002 +1.4927199110E-002 132 | 24200000000.000 +3.1219096854E-003 -3.7691291422E-002 -1.1868433654E-001 +5.0627179444E-002 -1.0784238577E-001 -2.3211572319E-002 +3.0671281740E-002 -5.2335809916E-002 133 | 24400000000.000 +2.7919264510E-002 +1.9515797496E-002 +7.9654335976E-002 -1.0162792355E-001 +6.6759763286E-003 -1.1244995147E-001 -2.6532781776E-003 +4.9200292677E-002 134 | 24600000000.000 -6.3613899052E-002 +3.3916924149E-002 -2.2874852642E-002 +1.2884828448E-001 +1.0727233440E-001 -5.4277768359E-003 -5.2821785212E-002 +3.6869753152E-002 135 | 24800000000.000 +1.8557627918E-003 +1.6203695908E-002 -7.0153251290E-002 -1.0962217301E-001 +6.6747525707E-003 +1.0886683315E-001 +8.3567924798E-002 +1.5989616513E-002 136 | 25000000000.000 +3.0026696622E-002 -3.3289767802E-002 +1.2954664230E-001 +2.3695230484E-002 -1.1162915081E-001 +1.3684837148E-002 +6.7021255381E-003 -2.1469747648E-002 137 | 25200000000.000 -7.0939478464E-003 +5.5746253580E-002 -1.0300425440E-001 +8.2933284342E-002 -4.1224718094E-002 -9.9868543446E-002 -9.4515765086E-003 +3.2079432160E-002 138 | 25400000000.000 -1.1056488380E-002 +1.0382584296E-002 +3.6112559028E-003 -1.2958271801E-001 +7.7889561653E-002 -8.0182023346E-002 -1.6634698957E-002 -1.1313287541E-002 139 | 25600000000.000 -9.9112826865E-004 -5.0980094820E-002 +8.6918234825E-002 +9.2772789299E-002 +9.4615414739E-002 +4.5961480588E-002 +1.6850516200E-002 +9.1540692374E-003 140 | 25800000000.000 -3.6399387754E-003 +1.0131161660E-001 -1.2085769325E-001 -1.7521273345E-002 -2.6970641688E-002 +9.4214998186E-002 +7.7550522983E-002 +5.3784314543E-002 141 | 26000000000.000 -1.6513157170E-003 -2.7488205582E-002 +1.1303439736E-001 -3.9071701467E-002 -9.9128440022E-002 -2.5925381109E-002 -5.6822035462E-002 -5.6823235005E-002 142 | 26200000000.000 -2.1493179724E-002 +1.8145345151E-002 -9.0744249523E-002 +8.0982647836E-002 +4.4839888811E-002 -9.0524315834E-002 +3.9309542626E-002 +3.7818010896E-002 143 | 26400000000.000 -1.6939524561E-002 +2.2886207327E-002 +5.6590493768E-002 -1.0900215060E-001 +7.9684354365E-002 +6.5664350986E-002 -2.5998428464E-002 +1.8799819052E-002 144 | 26600000000.000 +9.3557285145E-003 -5.8368343860E-002 -1.6087418422E-002 +1.1512057483E-001 -6.9532535970E-002 +7.2868004441E-002 -7.0010097697E-003 -7.3725436814E-003 145 | 26800000000.000 -3.1655985862E-002 +6.7803789862E-003 -3.5914480686E-002 -1.1404180527E-001 -7.1688279510E-002 -6.8042941391E-002 +6.6541987471E-003 +7.9271733761E-002 146 | 27000000000.000 +2.8016416356E-002 +4.7985434532E-002 +9.5011517406E-002 +6.0747142881E-002 +6.2485832721E-002 -7.5950913131E-002 +7.3111853562E-003 -4.8645697534E-002 147 | 27200000000.000 -5.2444182336E-002 -5.7251326740E-002 -1.0286232084E-001 +2.9744125903E-002 +8.5149511695E-002 +2.3126905784E-002 -4.6923927963E-002 +4.4689413160E-002 148 | 27400000000.000 +1.4573822729E-002 -1.0597978719E-002 +4.7611288726E-002 -9.9815577269E-002 +2.2548565641E-002 +8.9978404343E-002 +1.8475838006E-003 +1.0125329718E-002 149 | 27600000000.000 -2.4887999520E-002 +3.8210827857E-002 +2.5504373014E-002 +1.1188032478E-001 -8.2759886980E-002 +4.9407839775E-002 +2.9042731971E-002 +2.9701308813E-003 150 | 27800000000.000 -4.2616035789E-002 -3.0566465110E-002 -8.9402273297E-002 -7.3035463691E-002 -6.9325640798E-002 -6.6233277321E-002 -2.0152322948E-002 +1.6821974888E-002 151 | 28000000000.000 +7.6288476586E-002 +2.4380344898E-002 +1.1629065871E-001 -8.8918339461E-003 +5.6020516902E-002 -7.5504846871E-002 -2.8390720487E-002 -4.0001872927E-002 152 | 28200000000.000 -1.0500549339E-002 -3.4475635737E-002 -7.7449873090E-002 +8.2252129912E-002 +7.9493515193E-002 +4.3709386140E-002 +3.7084657699E-002 +4.0780149400E-002 153 | 28400000000.000 -4.6051483601E-002 -3.4303631634E-002 +3.9591893554E-002 -1.0201132298E-001 -4.0644649416E-002 +8.8401317596E-002 -1.0120036080E-002 +3.6014266312E-002 154 | 28600000000.000 +3.2768458128E-002 +3.9527043700E-002 +6.2380582094E-003 +1.0812243074E-001 -7.5918503106E-002 -4.8749297857E-002 +1.3423272409E-002 -4.9021754414E-002 155 | 28800000000.000 -2.5679914281E-002 -3.8487546146E-002 -6.8486213684E-002 -8.2220628858E-002 +5.3376834840E-002 -7.1835406125E-002 +5.2679446526E-004 +6.9496788085E-002 156 | 29000000000.000 +3.5447616130E-002 +3.7071440369E-002 +1.1269766837E-001 +2.2986678407E-002 +7.8670427203E-002 +5.8657538146E-002 -2.4125544354E-002 -7.3087969795E-003 157 | 29200000000.000 +3.4939687699E-002 -6.3026614487E-002 -9.5102101564E-002 +5.1270268857E-002 -5.6488260627E-002 +7.9303614795E-002 -2.8625808656E-002 -1.2165410444E-003 158 | 29400000000.000 -6.0309492052E-002 -3.5610301420E-003 +3.1397301704E-002 -1.0534337163E-001 -8.2716897130E-002 -3.8375373930E-002 +3.1464785337E-002 +2.8556907550E-002 159 | 29600000000.000 +7.6305747032E-002 +5.1868904382E-002 +3.5904046148E-002 +9.0172030032E-002 +1.2225231156E-002 -8.1979423761E-002 -6.6151909530E-002 +3.0252479017E-002 160 | 29800000000.000 -8.8143404573E-003 -5.1317382604E-002 -8.8186539710E-002 -4.7256883234E-002 +8.5246086121E-002 -6.6548580071E-004 +1.9823592156E-002 +1.0601839982E-002 161 | 30000000000.000 +3.2361362129E-002 +5.9141423553E-002 +9.4776950777E-002 -1.6744581982E-002 +5.8693378232E-003 +8.1914193928E-002 -3.7530966103E-002 +1.9217125373E-004 162 | 30200000000.000 -3.1381244771E-003 -5.7239226997E-002 +3.1773447990E-001 +4.7440242022E-002 -5.8201533556E-001 +1.7120833695E-001 +1.2943624752E-003 +2.3528079037E-003 163 | 30400000000.000 -9.9087804556E-003 -1.7040449381E-001 +1.5821141005E-001 -2.7499544621E-001 +4.0163475275E-001 +4.5216363668E-001 -8.1959471107E-002 -3.1488634646E-002 164 | 30600000000.000 -1.7276410013E-002 -4.9844451249E-002 -2.1493220702E-002 -3.1726515293E-001 -1.0796438158E-001 -5.9935802221E-001 -5.6096664630E-003 -2.3671781644E-002 165 | 30800000000.000 +1.8642282113E-002 -2.4079297483E-001 -2.7564013004E-001 -1.3820707798E-001 -4.4559487700E-001 +3.9911037683E-001 -1.0335068405E-001 -2.2150225937E-002 166 | 31000000000.000 -3.3975984901E-002 -9.4504639506E-002 -3.1696292758E-001 +4.2380318046E-002 +6.1175185442E-001 -9.5245555043E-002 -3.4051995724E-002 -1.2332954444E-002 167 | 31200000000.000 -1.0921470821E-001 -1.4007134736E-001 -4.8292510211E-002 +3.1340610981E-001 -2.9708111286E-001 -5.4054647684E-001 -4.8880990595E-002 +2.6371298358E-002 168 | 31400000000.000 +3.0617292505E-003 -6.0210894793E-002 +1.5665949881E-001 +2.7954161167E-001 -6.0377512127E-002 +6.1102432013E-001 -3.7982769310E-002 -3.9569213986E-002 169 | 31600000000.000 -2.1342126653E-002 -1.7848043144E-001 +3.0809274316E-001 +5.6143660098E-002 +4.9106907845E-001 -3.6049744487E-001 -6.2617838383E-002 -3.2156652305E-003 170 | 31800000000.000 -8.4518134594E-002 -7.6043456793E-002 +2.9586973786E-001 -1.0762377828E-001 -6.0536229610E-001 +7.9770490527E-002 -6.1223283410E-002 -1.0017154738E-002 171 | 32000000000.000 -9.1501966119E-002 -9.8884977400E-002 -2.3440940306E-002 -3.1581345201E-001 +2.6720198989E-001 +5.4603987932E-001 -4.2337138206E-002 +3.1724352390E-002 172 | 32200000000.000 -4.0804278105E-002 -1.0868498683E-001 -2.2914199531E-001 -2.1793176234E-001 +1.2659579515E-001 -5.9473091364E-001 -6.2692277133E-002 +4.8258537427E-003 173 | 32400000000.000 -9.4372168183E-002 -5.1660485566E-002 -3.0914482474E-001 +6.2836892903E-002 -5.4986894131E-001 +2.5613164902E-001 +1.0571180843E-002 -3.9370888844E-003 174 | 32600000000.000 -6.1626393348E-002 -8.1728823483E-002 -2.0615319908E-001 +2.4116545916E-001 +5.8751487732E-001 +1.0398059338E-001 -8.5139952600E-002 -1.1080550030E-002 175 | 32800000000.000 -5.2466496825E-002 -4.3366994709E-002 +2.7196200565E-002 +3.1433290243E-001 -3.5468503833E-001 -4.8388376832E-001 -2.8150783852E-002 +2.7224067599E-002 176 | 33000000000.000 -3.8838222623E-002 -1.2549817562E-001 +2.4856288731E-001 +1.9047665596E-001 -8.1617981195E-002 +5.9285396338E-001 -4.8008069396E-002 +2.9967794195E-002 177 | 33200000000.000 -1.1451136321E-001 -1.3273580000E-002 +3.1069391966E-001 -6.7989765666E-003 +4.1812118888E-001 -4.1963329911E-001 +2.4568932131E-002 -1.6558893025E-002 178 | 33400000000.000 -8.8498130441E-002 -3.7785347551E-002 +1.9410568476E-001 -2.4380198121E-001 -5.8576488495E-001 -2.5832295418E-002 -8.5409849882E-002 +1.3299058191E-002 179 | 33600000000.000 +2.9390713200E-002 +1.1544702575E-002 -7.6550133526E-002 -2.9806369543E-001 +3.5671570897E-001 +4.7684970498E-001 -1.4402059838E-002 -1.1071144603E-002 180 | 33800000000.000 -8.1804350019E-002 -9.6094608307E-002 -2.9680418968E-001 -8.3069190383E-002 +1.9963456690E-001 -5.5187290907E-001 -3.5518430173E-002 +4.7433223575E-002 181 | 34000000000.000 -1.8134381622E-002 -5.0712123513E-002 -2.3035459220E-001 +2.0583672822E-001 -5.6028300524E-001 +1.5967509151E-001 -2.5613144040E-002 -4.2250238359E-002 182 | 34200000000.000 -1.7942045629E-001 -4.6200234443E-002 +6.6913083196E-002 +2.9290825129E-001 +4.1573330760E-001 +3.8779419661E-001 -6.6784523427E-002 +7.8305184841E-002 183 | 34400000000.000 +1.8363935873E-002 +6.9446876645E-002 +2.3509041965E-001 +1.9018562138E-001 -7.9608842731E-002 -5.7799166441E-001 +2.4368403479E-002 -2.1279046312E-002 184 | 34600000000.000 -8.1731542945E-002 -6.2707848847E-003 +3.0459141731E-001 +9.2715048231E-004 -2.5370800495E-001 +5.2946829796E-001 -3.1922318041E-002 +4.3883543462E-002 185 | 34800000000.000 +4.8605311662E-002 -7.7647201717E-002 +2.6269039512E-001 -1.4924280345E-001 +4.6242633462E-001 -3.5730654001E-001 -6.0802165419E-002 -2.6608459651E-002 186 | 35000000000.000 -1.5430375934E-001 -9.9971494637E-004 +1.6064746305E-002 -2.9570320249E-001 -5.3830403090E-001 -1.8529282510E-001 -3.0995721463E-003 +7.1787387133E-002 187 | 35200000000.000 -3.9002683014E-002 +4.6020532027E-003 -1.4582163095E-001 -2.6441517472E-001 +3.8071182370E-001 +4.4295266271E-001 -1.2937141582E-002 -7.2111189365E-003 188 | 35400000000.000 -5.8494318277E-002 +7.4878044426E-002 -2.9482007027E-001 -3.3207237720E-002 +1.0855197906E-001 -5.7001215219E-001 -1.0299541056E-002 +2.9205134138E-002 189 | 35600000000.000 +4.9432095140E-002 -3.4795112908E-002 -2.5618085265E-001 +1.5901274979E-001 -4.2054370046E-001 +3.9998307824E-001 -2.8066996485E-002 +1.1435217224E-002 190 | 35800000000.000 -4.2972315103E-002 +2.3115832359E-002 +1.3392940164E-001 +2.6627796888E-001 +4.4314232469E-001 +3.5879161954E-001 +3.1136468053E-002 +1.6771614552E-002 191 | 36000000000.000 -5.9309765697E-002 -4.6019252390E-002 +2.9443958402E-001 +5.0200253725E-002 -1.6093991697E-002 -5.8009195328E-001 -5.0595659763E-002 +2.5174120441E-002 192 | 36200000000.000 -1.6447426751E-002 +8.3219900727E-002 +2.2626596689E-001 -1.8968440592E-001 -4.2066398263E-001 +3.9270350337E-001 +1.3258982450E-002 +1.0770702735E-002 193 | 36400000000.000 +9.0582948178E-003 +4.1859898716E-002 +1.1393991113E-001 -2.7360162139E-001 +5.2657544613E-001 -1.7913703620E-001 +2.7753602713E-002 +4.6445216984E-002 194 | 36600000000.000 +4.8579011112E-002 -5.2342875861E-003 -1.7405888438E-001 -2.4116547406E-001 -4.4419196248E-001 -3.5983839631E-001 +9.2330602929E-003 -4.9282126129E-002 195 | 36800000000.000 -8.1422096118E-003 +1.2375917286E-003 -2.8255856037E-001 -8.7005868554E-002 +1.7976325750E-001 +5.3203248978E-001 -1.2957273982E-002 +3.7171505392E-002 196 | 37000000000.000 +3.4173719585E-002 -3.8965009153E-002 -2.5751641393E-001 +1.4650674164E-001 +2.4910235405E-001 -5.0685918331E-001 +7.3264380917E-003 -2.0814292133E-002 197 | 37200000000.000 -7.8117116354E-003 +7.6089434326E-002 -1.4781086147E-001 +2.4545919895E-001 -4.3916159868E-001 +3.2838621736E-001 +4.8415895551E-002 +2.3964667693E-002 198 | 37400000000.000 +4.6901784837E-002 -8.8668979704E-002 +5.9283867478E-002 +2.8969776630E-001 +5.6859421730E-001 +3.8978282362E-002 -3.8607947528E-002 -4.8968482763E-002 199 | 37600000000.000 +3.2145693898E-002 +1.0307865590E-001 +2.3645955324E-001 +1.5839575231E-001 -3.6692571640E-001 -3.9815142751E-001 +6.6721521318E-002 +4.9259783700E-003 200 | 37800000000.000 +8.6575932801E-002 -1.2233173102E-001 +2.6196634769E-001 -1.3460063934E-001 -1.6755709052E-001 +5.4433172941E-001 -5.2869487554E-002 -5.2180610597E-002 201 | 38000000000.000 +3.7024267018E-002 +2.8030991554E-002 -7.3404083960E-003 -2.9195097089E-001 +5.4935628176E-001 -1.1446329206E-001 +3.1810283661E-002 -1.7958337441E-002 202 | 38200000000.000 -4.1508655995E-002 -1.1007599533E-001 -2.4223484099E-001 -1.6405816376E-001 -4.5310893655E-001 -3.3251008391E-001 -5.4572317749E-002 +2.4668036494E-003 203 | 38400000000.000 +1.1502058804E-001 +8.4541745484E-002 -2.6826527715E-001 +9.4889037311E-002 -2.6887567714E-002 +5.4133307934E-001 +7.4735127389E-002 -4.4478703290E-002 204 | 38600000000.000 +2.8275672346E-002 -1.2656770647E-001 -1.1565200984E-001 +2.7657052875E-001 +4.1952565312E-001 -3.9192169905E-001 -5.8412715793E-002 -4.0960412472E-002 205 | 38800000000.000 +1.0274861753E-001 -5.8977898210E-002 +1.2854257226E-001 +2.7140513062E-001 -5.7577127218E-001 -3.7329918705E-003 -1.3421842828E-002 -7.4962198734E-002 206 | 39000000000.000 -6.6220916808E-002 -6.8409658968E-002 +2.0695997775E-001 +2.0747618377E-001 +5.4293918610E-001 +1.4569517970E-001 -4.3743319809E-002 +3.4622944891E-002 207 | 39200000000.000 +1.4266227186E-001 -6.7636929452E-002 +2.5818517804E-001 +1.4153373241E-001 -4.9032986164E-001 -2.9279366136E-001 -9.2335660011E-003 -6.9389976561E-002 208 | 39400000000.000 -3.8187753409E-002 -5.3044091910E-002 +2.9369404912E-001 -4.0670581162E-002 +2.6393488050E-001 +4.9644306302E-001 +1.6246066662E-003 -2.7461911086E-003 209 | 39600000000.000 +5.5487375706E-002 -1.6241811216E-001 +4.2746778578E-002 -2.9347851872E-001 +3.7205946445E-001 -4.1726243496E-001 -7.0725992322E-002 -8.4063239396E-002 210 | 39800000000.000 +1.7923653126E-002 -4.2668394744E-003 -2.2103786469E-001 -1.8381632864E-001 -5.4865926504E-001 -7.0559188724E-002 -1.8452586606E-002 -1.3836999424E-002 211 | 40000000000.000 +1.6108794371E-003 -2.1249474585E-001 -2.5098475814E-001 +1.2640586495E-001 +1.8270356953E-001 +5.0955975056E-001 -1.1268433928E-001 -1.7452174798E-002 212 | 40200000000.000 +3.2965485007E-002 -5.9683596191E-005 -2.5358527899E-001 -1.2367175519E-001 -5.0845575333E-001 -1.6409899294E-001 +2.3868922144E-002 -1.1820073240E-002 213 | 40400000000.000 -5.9674166143E-002 -1.9793093204E-001 -2.7984261513E-001 +3.2213404775E-003 +4.0185940266E-001 +3.3605825901E-001 -8.6670503020E-002 +3.1278303359E-003 214 | 40600000000.000 +8.2121983171E-002 -7.6441042125E-002 -1.5012598038E-001 +2.2992296517E-001 +4.4815536588E-002 -5.1832073927E-001 -8.4654428065E-003 -7.5737506151E-002 215 | 40800000000.000 -1.7833279073E-001 -1.5004304051E-001 +1.7815668881E-001 +1.9115540385E-001 -5.0589334965E-001 +7.4644185603E-002 -1.1701450497E-001 +3.5801351070E-002 216 | 41000000000.000 +1.1257957667E-001 -4.4573672116E-002 +2.7368050814E-001 -2.0179459825E-003 +4.1691380739E-001 +3.2162085176E-001 -3.4015182406E-002 -4.0985938162E-002 217 | 41200000000.000 -1.3946859539E-001 -1.4272597432E-001 +2.2442544997E-001 -1.5357020497E-001 -1.6983263195E-001 -4.6854692698E-001 -5.3665649146E-002 +8.0932147801E-002 218 | 41400000000.000 +1.8010092899E-002 -1.9405592978E-001 -3.9529655129E-002 -2.6930311322E-001 -3.5440003872E-001 +3.9051324129E-001 -3.7819899619E-002 -8.0109067261E-002 219 | 41600000000.000 -2.0388886333E-001 -2.1906933398E-004 -2.6328784227E-001 -2.6864588261E-002 +4.7408005595E-001 +2.5598660111E-001 -4.7224812210E-002 +4.6657532454E-002 220 | 41800000000.000 +2.6249533519E-002 -1.4637233317E-001 -2.0930862427E-001 +1.8540598452E-001 -1.7995545268E-001 -5.0262165070E-001 -9.8097123206E-002 -2.1314950660E-002 221 | 42000000000.000 -1.1694702506E-001 -1.6170524061E-002 -9.3778893352E-002 +2.6472219825E-001 -8.5719674826E-002 +5.2221512794E-001 -2.0051192492E-002 +7.3534741998E-002 222 | 42200000000.000 -9.4092734158E-002 -1.8881545961E-001 +1.6694439948E-001 +2.2497609258E-001 +4.7220361233E-001 -2.8178581595E-001 -7.6962292194E-002 +1.9172136672E-003 223 | 42400000000.000 -7.9617165029E-002 +8.6602799594E-002 +2.6462683082E-001 -8.5324525833E-002 -4.2310747504E-001 -3.5045492649E-001 +2.9680015519E-002 +2.3647353053E-002 224 | 42600000000.000 -1.2614072859E-001 -1.8600137532E-001 +1.1847024411E-001 -2.5151556730E-001 +8.3047360182E-002 +5.4216539860E-001 -1.0626560450E-001 +2.3586815223E-002 225 | 42800000000.000 -3.8443218917E-002 +4.1779041290E-002 +3.1452350318E-002 -2.8182166815E-001 +6.8667769432E-002 -5.5232262611E-001 +4.4016496395E-004 -8.8317608461E-003 226 | 43000000000.000 -1.6657745838E-001 -7.0365048945E-002 -1.5605726838E-001 -2.3130781949E-001 -3.5784992576E-001 +3.9606240392E-001 -7.7235318720E-002 +8.1596963108E-002 227 | 43200000000.000 +4.9993049353E-002 +4.0860963054E-003 -2.7517506480E-001 +2.8919596225E-002 +5.2726554871E-001 +1.2068899721E-001 +2.9420208186E-002 +4.5164834592E-004 228 | 43400000000.000 -2.1303932369E-001 -9.4496227801E-002 -1.5259958804E-001 +2.2143216431E-001 -2.7725544572E-001 -4.6856081486E-001 -4.2535208166E-002 +5.4759975523E-002 229 | 43600000000.000 +2.4179751053E-002 +7.6699904166E-003 -2.3968612775E-002 +2.7702084184E-001 +4.1987758130E-002 +5.3173738718E-001 -1.3626052067E-002 -5.1249571145E-002 230 | 43800000000.000 -1.9763438404E-001 +2.7961408719E-002 +1.7143684626E-001 +2.1326895058E-001 +3.0658379197E-001 -4.2166835070E-001 -3.3721238375E-002 +8.5798867047E-002 231 | 44000000000.000 +5.6279454380E-002 -4.3889656663E-002 +2.6564848423E-001 -4.8428572714E-002 -5.1905345917E-001 -4.4131156057E-002 -3.6402594298E-002 -2.4645945057E-002 232 | 44200000000.000 -1.3631986082E-001 +2.5018800050E-002 +1.0340312868E-001 -2.4745458364E-001 +2.6359188557E-001 +4.5450940728E-001 +9.5752086490E-003 +5.3555000573E-002 233 | 44400000000.000 +2.2607207298E-002 -9.4366803765E-002 -7.9050011933E-002 -2.5403726101E-001 +6.1618451029E-002 -5.1646351814E-001 -3.8381755352E-002 -1.6523882747E-002 234 | 44600000000.000 -1.3637104630E-001 +3.0430790037E-002 -2.2795058787E-001 -1.4521369338E-001 -3.6014133692E-001 +3.6869964004E-001 +1.3403346762E-002 +8.3466200158E-003 235 | 44800000000.000 -5.8542720973E-002 -3.8509413600E-002 -2.5576007366E-001 +8.0752760172E-002 +4.9964705110E-001 +1.6483094543E-002 -8.4473311901E-002 -1.5036261640E-002 236 | 45000000000.000 +3.0853433535E-002 +4.8513092101E-002 -1.2731303275E-001 +2.2972865403E-001 -3.8901597261E-001 -3.4563788772E-001 -1.0859725066E-002 +2.5579651818E-002 237 | 45200000000.000 -6.9894261658E-002 -1.4999267459E-001 +1.0264315642E-002 +2.5577789545E-001 +1.6409631073E-001 +4.7775930166E-001 -4.7310829163E-002 +5.4757487029E-002 238 | 45400000000.000 -7.1042396128E-002 -2.5402393192E-002 +1.8375933170E-001 +1.8913559616E-001 +1.5845213830E-001 -4.6238961816E-001 +4.7442386858E-003 -4.6416882426E-002 239 | 45600000000.000 -1.9189125299E-001 -4.1148494929E-003 +2.5223338604E-001 -3.9172027260E-002 -4.7300601006E-001 +1.3559176028E-001 -8.9135877788E-002 +3.2990716398E-002 240 | 45800000000.000 +8.7615869939E-002 +8.8744405657E-003 +8.5560172796E-002 -2.3519901931E-001 +3.8770785928E-001 +3.2032084465E-001 -5.4230779409E-002 +2.7835329529E-003 241 | 46000000000.000 -1.7346574366E-001 -9.1299146414E-002 -1.2307696044E-001 -2.1584591269E-001 +1.6150452197E-002 -4.8917889595E-001 -3.6931339651E-002 +9.8886981606E-002 242 | 46200000000.000 -2.2468328476E-002 -7.2027556598E-002 -2.5252714753E-001 -1.7301252112E-002 -3.8242021203E-001 +2.9674306512E-001 -3.4018717706E-002 -3.1134655699E-002 243 | 46400000000.000 -2.4308168888E-001 +2.9489675537E-002 -1.7548039556E-001 +1.7129004002E-001 +4.7449702024E-001 +1.1884557456E-001 -5.4272368550E-002 +9.2133313417E-002 244 | 46600000000.000 +2.0797699690E-002 -1.7818581313E-002 +1.5226732008E-002 +2.5169584155E-001 -2.7570617199E-001 -4.1182318330E-001 -4.9907233566E-002 +6.2433006242E-003 245 | 46800000000.000 -2.1546258032E-001 +4.2970959097E-002 +1.8204776943E-001 +1.7000029981E-001 -9.7268700600E-002 +4.8332029581E-001 -1.9337672740E-002 +1.0050803423E-001 246 | 47000000000.000 +7.0172105916E-003 -7.0478975773E-002 +2.4035458267E-001 -6.6516421735E-002 +4.3777659535E-001 -2.2133977711E-001 -6.6912703216E-002 +1.7491528764E-002 247 | 47200000000.000 -2.2554571927E-001 +8.1545889378E-002 +8.4016904235E-002 -2.3646637797E-001 -4.1405022144E-001 -2.6876097918E-001 -2.3066988215E-003 +1.2060339004E-001 248 | 47400000000.000 -6.1335466802E-002 -5.6469339877E-002 -1.5930330753E-001 -2.0691300929E-001 +6.9125942886E-002 +4.9791920185E-001 -3.3344697207E-002 +4.0737193078E-002 249 | 47600000000.000 -1.7505255342E-001 +1.4176312089E-001 -2.5791189075E-001 -1.5637354925E-002 +3.2613876462E-001 -3.8911047578E-001 +1.1761448346E-002 +7.7645197511E-002 250 | 47800000000.000 -4.7010935843E-002 -6.7562218755E-003 -1.4770902693E-001 +2.1405921876E-001 -4.9712428451E-001 -2.6752911508E-002 -4.7312412411E-002 +6.9979190826E-002 251 | 48000000000.000 -1.2204392254E-001 +1.4422507584E-001 +5.4825682193E-002 +2.5998520851E-001 +3.2533448935E-001 +3.8167023659E-001 +3.3010449260E-002 +9.3553721905E-002 252 | 48200000000.000 -9.1478042305E-002 -3.6469683051E-002 +2.1980448067E-001 +1.5820732713E-001 -4.2457211763E-002 -4.9316212535E-001 -1.2505773455E-002 +9.6269212663E-002 253 | 48400000000.000 -8.2126945257E-002 +1.1498299986E-001 +2.6222521067E-001 -7.9147703946E-002 -3.5182103515E-001 +3.6424824595E-001 +5.0846859813E-002 +6.1935540289E-002 254 | 48600000000.000 -1.8616953492E-001 +1.1679015309E-001 +7.2035319172E-003 -2.6206943393E-001 +4.6263673902E-001 +1.5989913046E-001 +4.5540772378E-002 +9.2950917780E-002 255 | 48800000000.000 +1.9105166197E-002 +1.4398045838E-001 -2.0973567665E-001 -1.5797784925E-001 -1.5193012357E-001 -4.5667815208E-001 +1.3225916773E-002 +2.5712717324E-002 256 | 49000000000.000 -3.9670124650E-002 +9.8181106150E-002 -2.6148021221E-001 +9.4367926940E-003 -1.4367474616E-001 +4.4478958845E-001 +3.8883138448E-002 +1.1352756619E-001 257 | 49200000000.000 -2.2781997919E-002 -7.2050690651E-003 -1.2934853137E-001 +2.2177250683E-001 +4.5386850834E-001 -1.6069428623E-001 +6.2770389020E-002 +5.4736472666E-002 258 | 49400000000.000 -1.8016417325E-001 +2.0215992630E-001 +1.8003231287E-001 +1.5606854856E-001 -2.5011542439E-001 -3.8492697477E-001 +1.2025704235E-001 +5.1444716752E-002 259 | 49600000000.000 +3.6100290716E-002 +9.7157076001E-002 +2.2522032261E-001 -9.9501170218E-002 -2.4270685017E-001 +3.8319793344E-001 -1.5167314559E-003 -8.7858358165E-004 260 | 49800000000.000 +3.6160547286E-002 +2.3067025840E-001 +8.8637128472E-002 -2.1967898309E-001 +4.2980438471E-001 -1.1674684286E-001 +1.0047394037E-001 +6.9533161819E-002 261 | 50000000000.000 +2.0839653909E-002 -5.2014946938E-002 -1.1791589111E-001 -2.0299567282E-001 -3.8042381406E-001 -2.7413502336E-001 +4.9685150385E-002 +2.4031620473E-002 262 | 50200000000.000 -3.5974968225E-002 +1.7613768578E-001 -2.3232159019E-001 +4.1074004024E-002 -1.0525196046E-001 +4.4477933645E-001 +1.0477979481E-001 -3.5774270073E-003 263 | 50400000000.000 -2.4989964440E-002 +4.3108724058E-002 -1.4753937721E-001 +1.8803608418E-001 +3.5378193855E-001 -2.8773501515E-001 +2.0056245849E-002 +2.4475831538E-002 264 | 50600000000.000 +8.4970690310E-002 +2.5215086341E-001 -1.1402980238E-001 +1.9094757736E-001 -3.7735760212E-001 +2.2787298262E-001 +1.2776435912E-001 +1.3633642811E-003 265 | 50800000000.000 +6.4420267940E-002 -2.7601644397E-002 -3.4872230142E-002 +2.3262353241E-001 +4.6456342936E-001 -5.8968294412E-002 +4.4730052352E-002 -2.6119466871E-002 266 | 51000000000.000 +1.0108762980E-001 +1.1929548532E-001 +1.5997694433E-001 +1.7936813831E-001 -3.7639936805E-001 -2.8489583731E-001 +5.2654106170E-002 -4.2632903904E-002 267 | 51200000000.000 -1.1219633743E-002 +9.9558932707E-003 +2.2192803025E-001 +9.3318901956E-002 +2.5493857265E-001 +3.9781779051E-001 +5.1539495587E-002 +1.8487770110E-002 268 | 51400000000.000 +1.0595174134E-001 +1.2460148335E-001 +2.2380003333E-001 +7.4903018773E-002 -2.2643058002E-001 -4.0709248185E-001 +8.4238909185E-002 -4.6353176236E-002 269 | 51600000000.000 +3.6192893982E-002 +1.0063782334E-002 +2.2640375793E-001 -9.3874461949E-002 -7.5288161635E-002 +4.6390545368E-001 +4.8795130104E-002 -5.3840097040E-002 270 | 51800000000.000 +1.2183152139E-001 +8.0776467919E-002 -3.7739083171E-002 -2.4138854444E-001 +4.6648901701E-001 -6.9980040193E-002 +1.9006814808E-002 -5.8671858162E-002 271 | 52000000000.000 +8.7013371289E-002 +2.6245366782E-002 -2.1118283272E-001 -1.2464371324E-001 -3.7707656622E-001 -2.8335645795E-001 +2.7699140832E-002 -3.4728735685E-002 272 | 52200000000.000 +1.3363079727E-001 -6.9361455739E-002 -2.4158334732E-001 -3.3386830240E-002 +2.6098865271E-001 +3.8378694654E-001 +1.4459911734E-002 -2.5135099888E-002 273 | 52400000000.000 -1.3638459146E-002 -2.8451740742E-002 -1.4174103737E-001 +2.0087453723E-001 +1.9426028430E-001 -4.1079512239E-001 +6.0062490404E-002 -5.9028133750E-002 274 | 52600000000.000 +2.4208411574E-002 +4.9640640616E-002 +2.0781695843E-001 +1.2364792824E-001 -4.1477763653E-001 -1.9906441867E-001 +1.4537633397E-002 -7.6674446464E-002 275 | 52800000000.000 +1.6563493013E-001 +2.8069123626E-002 +2.0332126319E-001 -1.1888376623E-001 +4.3320894241E-002 +4.4671928883E-001 -4.0322273970E-002 -9.1151207685E-002 276 | 53000000000.000 +9.8002634943E-002 -1.4459009469E-001 +1.1226846278E-001 -2.0593467355E-001 +1.8533886969E-001 -4.0790432692E-001 -3.3475711942E-002 +3.0720329378E-003 277 | 53200000000.000 -1.2075598352E-002 -8.9380502701E-002 -1.2755559385E-001 -1.9865627587E-001 -4.4549870491E-001 +5.6730818003E-002 +2.3668397218E-002 -4.1639834642E-002 278 | 53400000000.000 -5.4162375629E-002 -2.2098573390E-003 -2.0609779656E-001 +1.0364046693E-001 +1.3753150403E-001 +4.3036767840E-001 -5.2814427763E-003 -6.7049100995E-002 279 | 53600000000.000 +1.1158185452E-001 +2.9966367874E-003 -9.2440880835E-002 +2.0752960443E-001 +1.5159872174E-001 -4.1748720407E-001 -7.3856361210E-002 -6.5542012453E-002 280 | 53800000000.000 +4.9125507474E-002 -7.3205851018E-002 -8.4939926863E-002 +2.1576932073E-001 -1.6166238487E-001 +4.1690403223E-001 -2.9254952446E-002 +2.4841336999E-003 281 | 54000000000.000 +2.1626947448E-002 -1.2161406875E-001 +2.3020153865E-002 +2.3041208088E-001 +3.1818166375E-001 -3.2423132658E-001 -2.9544526711E-002 -1.9460599869E-002 282 | 54200000000.000 -2.1513331681E-002 -6.7008309066E-002 +1.7099562287E-001 +1.6001455486E-001 -4.5521688461E-001 +6.0481049120E-002 -2.9797974974E-002 -4.3981168419E-002 283 | 54400000000.000 -9.6829598770E-003 -5.5142331868E-002 +2.3268392682E-001 -2.4716738611E-002 +3.5551238060E-001 +2.8420072794E-001 -4.3954905123E-002 -9.9284127355E-003 284 | 54600000000.000 -7.6449371409E-004 -3.6918777972E-002 +7.1108654141E-002 -2.2288636863E-001 +9.7586303949E-002 -4.4382828474E-001 -3.0757414177E-002 -3.2083220780E-002 285 | 54800000000.000 -3.2666740008E-003 -7.4114508927E-002 -1.6716820002E-001 -1.6406130791E-001 -4.3387833238E-001 +1.3584496081E-001 -4.9513891339E-002 -6.6204685718E-003 286 | 55000000000.000 +7.8461522935E-004 -7.3833525181E-002 -2.3442594707E-001 +5.5975024588E-004 +4.1650247574E-001 +1.7832903564E-001 -6.2241103500E-002 -2.1892020479E-002 287 | 55200000000.000 -4.1724115610E-002 -3.8828521967E-002 -1.7079640925E-001 +1.5532936156E-001 -2.0641280711E-001 -3.9746147394E-001 -1.9261484966E-002 +3.2072499394E-002 288 | 55400000000.000 -1.6968155280E-002 -1.0456731915E-001 +5.8088589460E-002 +2.2266578674E-001 -2.3089194298E-001 +3.8032439351E-001 -4.3344665319E-002 -1.7274592072E-002 289 | 55600000000.000 -7.6183214784E-002 -2.7050191537E-002 +2.2752453387E-001 -2.6444369927E-002 +4.0819612145E-001 +1.5510490537E-001 -1.2467038818E-002 -1.4474245720E-002 290 | 55800000000.000 -5.5344559252E-002 -1.8022155389E-002 +6.7150861025E-002 -2.1637621522E-001 -4.3473646045E-002 -4.3125221133E-001 -8.3392426372E-002 -1.3497360051E-002 291 | 56000000000.000 +3.5804942250E-002 +1.1917945929E-002 -9.5041155815E-002 -2.0176017284E-001 -2.4371606112E-001 +3.6299961805E-001 -3.8804922253E-002 +3.5858821124E-002 292 | 56200000000.000 -1.5479126945E-002 -1.6781833768E-001 -2.1264582872E-001 -5.7132635266E-002 +4.1739448905E-001 -7.5492456555E-002 -3.7502370775E-002 +4.2497713119E-002 293 | 56400000000.000 -1.1647771299E-001 -6.1125341803E-002 -1.2975482643E-001 +1.8197286129E-001 -2.1406905353E-001 -3.4396350384E-001 +2.1986322477E-002 -3.3423263580E-002 294 | 56600000000.000 -1.5562863648E-001 +1.0559272021E-002 +8.4234751761E-002 +1.9991567731E-001 -1.7736431956E-001 +3.7299966812E-001 -9.5411971211E-002 +5.6526198750E-004 295 | 56800000000.000 +7.9229414463E-002 +2.8639655560E-002 +1.4055044949E-001 +1.5673398972E-001 +2.7525433898E-001 -3.1971004605E-001 -6.8697974086E-002 +5.7376362383E-003 296 | 57000000000.000 -8.2064852118E-002 -1.2520346045E-001 +1.6277909279E-001 +1.3996900618E-001 -2.9858401418E-001 +2.6547312737E-001 -3.3210258931E-002 +9.4084449112E-002 297 | 57200000000.000 -6.8985059857E-002 -1.0385968536E-001 +2.1661631763E-001 +1.6945520416E-002 +3.9408949018E-001 -5.9199996293E-002 -9.1903228313E-003 -2.8062608093E-002 298 | 57400000000.000 -2.1269884706E-001 +1.2415027246E-002 +1.5427407622E-001 -1.4247217774E-001 -3.1834381819E-001 -2.5774860382E-001 -6.3246928155E-002 +5.4171901196E-002 299 | 57600000000.000 -1.0563950054E-003 -2.2712305654E-003 +9.2338018119E-002 -1.9044069946E-001 +2.3040364683E-001 +3.4739890695E-001 -7.1513101459E-002 +6.0765482485E-003 300 | 57800000000.000 -1.3922069967E-001 +2.3784806952E-002 +8.2848675549E-002 -2.0202340186E-001 -2.1074900031E-001 -3.5305628181E-001 -4.7617312521E-003 +9.7312226892E-002 301 | 58000000000.000 -3.6636050791E-002 -1.0768536478E-001 -4.3801117688E-002 -2.1285769343E-001 +9.9314525723E-003 +4.0854704380E-001 -7.1389839053E-002 +1.0396756232E-002 302 | 58200000000.000 -1.5356473625E-001 +5.9263493866E-002 -2.2059139609E-001 -3.2135933638E-002 +3.8964536786E-001 -1.5853631496E-001 +3.0930901994E-004 +7.4728049338E-002 303 | 58400000000.000 -1.0451737791E-001 -7.2442770004E-002 -1.1228572577E-001 +1.9279384613E-001 -3.1660318375E-001 -2.6954019070E-001 -7.3606975377E-002 +4.8560041934E-002 304 | 58600000000.000 -1.3035000861E-001 +7.7171921730E-002 -8.7779983878E-003 +2.2673679888E-001 +1.7500701547E-001 +3.8595017791E-001 +1.9615476951E-002 +7.6522246003E-002 305 | 58800000000.000 -1.3596461713E-001 -4.3124526739E-002 +1.1217437685E-001 +1.9438402355E-001 +1.9118899480E-002 -4.2130047083E-001 -6.6538728774E-002 +6.3853099942E-002 306 | 59000000000.000 -6.2675438821E-002 +1.2412936240E-001 +2.2119964659E-001 -6.5720856190E-002 -4.0587079525E-001 +1.1285935342E-001 +1.8220607191E-002 +4.7832932323E-002 307 | 59200000000.000 -1.3755621016E-001 -4.9398131669E-002 -8.1372343004E-002 -2.1706189215E-001 +1.0475129634E-001 +3.9166793227E-001 -5.7534553111E-002 +1.1366124451E-001 308 | 59400000000.000 -6.2757693231E-002 +1.6012251377E-002 -2.2690172493E-001 -2.8011322021E-002 +2.7702164650E-001 -3.1750771403E-001 +3.7462078035E-002 +5.3899515420E-002 309 | 59600000000.000 -2.5778225064E-001 +4.5401368290E-002 -2.0110900700E-001 +8.4477193654E-002 -3.8111004233E-001 +1.6327059269E-001 +4.0775437810E-005 +8.8486246765E-002 310 | 59800000000.000 -2.7540756389E-002 +1.3655856252E-001 -5.4216586053E-002 +2.1961796284E-001 +3.5181143880E-001 +1.6984525323E-001 -1.8109427765E-002 +2.0851593465E-002 311 | 60000000000.000 -1.1105763167E-001 +7.9468011856E-002 +2.1756099164E-001 +6.5040655434E-002 +1.3281922042E-001 -3.5500851274E-001 -9.0851234272E-003 +1.4994731545E-001 312 | 60200000000.000 -3.5309940577E-002 -6.7262686789E-002 +1.3563489914E-001 -1.5541365743E-001 -3.9459273219E-001 +6.9500215352E-002 +3.0304038897E-002 +5.5808153003E-002 313 | 60400000000.000 -2.6512011886E-001 +1.1981428415E-001 +1.0601305217E-001 -1.7188955843E-001 +3.7987580895E-001 -8.5546420887E-003 +7.0293873549E-002 +7.1918517351E-002 314 | 60600000000.000 -8.3498589695E-002 +9.0527810156E-002 +8.7889686227E-002 -1.9441571832E-001 -3.4935709834E-001 -2.3602845147E-002 -4.9549963325E-002 +4.2951606214E-002 315 | 60800000000.000 -4.3925419450E-002 +2.2348824143E-001 -5.6003808975E-002 -1.9347785413E-001 +2.5981077552E-001 +2.5059324503E-001 +6.1018779874E-002 +1.2964928150E-001 316 | 61000000000.000 -3.8561869413E-002 -6.2230303884E-002 -1.7754484713E-001 -6.3447862864E-002 +4.5866835862E-002 -3.7792345881E-001 +2.8515350074E-002 +7.4609965086E-002 317 | 61200000000.000 -1.4324653149E-001 +1.5686367452E-001 -1.9183591008E-001 +4.9455188215E-002 -2.3434720933E-001 +2.7851304412E-001 +9.3433901668E-002 +3.3321373165E-002 318 | 61400000000.000 -1.6745491326E-001 +6.1669070274E-002 -1.5370546281E-001 +1.2318786234E-001 +3.0924659967E-001 -1.6511280835E-001 -2.0792813972E-002 +8.7539926171E-002 319 | 61600000000.000 -5.9347120114E-003 +2.6632508636E-001 -3.3678483218E-002 +1.8766546249E-001 -3.4854999185E-001 -1.0445923358E-001 +1.1000745744E-001 +6.0293003917E-002 320 | 61800000000.000 -8.2255080342E-002 +4.1068602353E-002 +1.6912779212E-001 +9.9955432117E-002 +3.3816445619E-002 +3.8374736905E-001 +4.0705181658E-002 +8.0915741622E-002 321 | 62000000000.000 +2.2981517017E-002 +1.7966783047E-001 +1.8271654844E-001 -8.8495090604E-002 +2.8397953510E-001 -2.5583106279E-001 +8.4612309933E-002 -8.2708185073E-004 322 | 62200000000.000 -1.4749380946E-001 +1.0990718007E-001 +1.3874737918E-001 -1.4558067918E-001 -3.5586422682E-001 +1.5534977615E-001 +4.1228853166E-002 +1.0249324888E-001 323 | 62400000000.000 +8.2123860717E-002 +1.8276414275E-001 +9.1512106359E-002 -1.8461389840E-001 +3.9836487174E-001 -4.4005990028E-002 +9.7140513361E-002 +1.0128844297E-003 324 | 62600000000.000 -1.0353349894E-001 +1.4371976256E-001 -1.0390829295E-001 -1.9189117849E-001 -2.9943525791E-001 -2.8163999319E-001 +9.6593752503E-002 +6.6847518086E-002 325 | 62800000000.000 +8.4690429270E-002 +1.4430500567E-001 -2.1501684189E-001 +6.2941126525E-002 -1.9171740115E-001 +3.7208047509E-001 +6.3464164734E-002 -3.2231613994E-002 326 | 63000000000.000 +5.6739957072E-003 +2.1773026884E-001 -6.3053317368E-002 +2.1658353508E-001 +4.2292651534E-001 -1.0332883149E-001 +9.4825141132E-002 +3.7000395358E-002 327 | 63200000000.000 +1.2710139155E-001 +2.1348750219E-002 +6.2468118966E-002 +2.1707516909E-001 -4.1051045060E-001 -1.0460881144E-001 +4.1811410338E-002 +7.5979786925E-003 328 | 63400000000.000 -1.1788460426E-002 +1.5952950716E-001 +2.2126503289E-001 +9.0731471777E-002 +2.0278535783E-001 +3.5486871004E-001 +1.4600194991E-001 +1.1737382738E-003 329 | 63600000000.000 -2.6504970156E-003 +9.6714153886E-002 +1.0249862075E-001 -2.1064202487E-001 +3.2806941867E-001 -2.7235051990E-001 +4.7105520964E-002 -4.6557050198E-002 330 | 63800000000.000 +1.8374431133E-001 +2.4480755627E-001 -1.8005467951E-001 -1.1759354174E-001 -3.4490904212E-001 -2.3218512535E-001 +6.7691095173E-002 -5.8247901499E-002 331 | 64000000000.000 +1.2617743015E-001 -2.6800578460E-002 -2.1610544622E-001 +4.7918718308E-002 +6.2247920781E-002 +3.8564226031E-001 +2.9329838231E-002 +3.7791203707E-002 332 | 64200000000.000 +1.4137843251E-001 +3.3505324274E-002 -1.3736835122E-001 +1.7656785250E-001 +1.5344525874E-001 -3.4064349532E-001 +1.3030987978E-001 -6.9843500853E-002 333 | 64400000000.000 -6.8450942636E-002 +4.5611124486E-002 +5.8968320489E-002 +1.9883204997E-001 -3.8527351618E-001 +8.7173335254E-002 +3.6138057709E-002 -5.5310178548E-002 334 | 64600000000.000 +2.0691798627E-001 +1.5071323514E-001 +1.9915057719E-001 +6.7902337760E-003 +2.1913738549E-001 +3.1030315161E-001 +2.0086117089E-002 -9.4817169011E-002 335 | 64800000000.000 +7.9316079617E-002 +7.4095963500E-003 +1.2400302291E-001 -1.6736741364E-001 +1.2893141806E-001 -3.4742534161E-001 +2.8518291190E-002 +1.5506193973E-002 336 | 65000000000.000 +2.0685601234E-001 -5.0398740917E-002 +2.0308075473E-002 -1.9479881227E-001 -2.5721064210E-001 +2.4532054365E-001 +5.4889924824E-002 -1.0675561428E-001 337 | 65200000000.000 -5.7114027441E-002 -6.6198445857E-003 -5.7859439403E-002 -1.8222272396E-001 +3.6165890098E-001 -1.0395292938E-001 +1.0115490295E-002 -3.8898605853E-002 338 | 65400000000.000 +1.5178550780E-001 +2.2015543655E-002 -1.8813489377E-001 -5.4180283099E-002 -2.9992517829E-001 -2.1831035614E-001 -1.5133900568E-002 -7.4413985014E-002 339 | 65600000000.000 +5.1655214280E-002 +6.3293918967E-002 -1.2594647706E-001 +1.5167981386E-001 -6.1056565493E-002 +3.6669617891E-001 +4.2291756719E-002 -2.5925477967E-002 340 | 65800000000.000 +1.7185518146E-001 -1.0014013946E-001 -1.0856445879E-002 +1.8549428880E-001 +2.6140505075E-001 -2.5655755401E-001 -1.8550973386E-002 -9.5366381109E-002 341 | 66000000000.000 -1.1447877623E-003 +1.0055216961E-002 +3.1907577068E-002 +1.9157318771E-001 -3.2743027806E-001 +1.9539131224E-001 -9.8473746330E-003 -4.7164671123E-002 342 | 66200000000.000 +9.8934419453E-002 -7.6676666737E-002 +1.4486552775E-001 +1.3586124778E-001 +3.7807163596E-001 +1.5420879237E-002 -4.2173013091E-002 -3.1485632062E-002 343 | 66400000000.000 +6.9103196263E-002 -1.0932490113E-004 +1.8237896264E-001 -8.1491872668E-002 -1.6053311527E-001 -3.5545837879E-001 +1.4427468181E-002 -4.7050330788E-002 344 | 66600000000.000 +8.0045545474E-003 -1.0866707563E-001 +2.6234479621E-002 -1.9541327655E-001 -1.9815693796E-001 +3.3424931765E-001 -2.2377489135E-002 -4.6341974288E-002 345 | 66800000000.000 +3.1558476388E-002 +3.8465615362E-002 -6.9175221026E-002 -1.9353258610E-001 +3.0799856782E-001 -2.1788537502E-001 -4.9617484212E-002 -7.4811823666E-002 346 | 67000000000.000 +6.4520910382E-002 -2.4072268978E-002 -1.4768104255E-001 -1.4595504105E-001 -3.7233465910E-001 +8.2617461681E-002 -6.1556816101E-002 +8.3065321669E-003 347 | 67200000000.000 +1.0953420401E-001 -1.2098997086E-001 -2.0032516122E-001 +1.8286127597E-002 +3.3689972758E-001 +2.0259386301E-001 -2.7824463323E-002 -9.0565551072E-003 348 | 67400000000.000 -1.0908949375E-001 -7.7720254660E-002 -8.0160461366E-002 +1.8178814650E-001 -1.0674806981E-004 -3.7989658117E-001 +1.7308847979E-002 -1.0182878934E-002 349 | 67600000000.000 -7.9233674332E-003 +5.1783919334E-003 +6.3255973160E-002 +1.9840496778E-001 -2.2759616375E-001 +2.8750514984E-001 -7.1999579668E-002 -7.2688832879E-002 350 | 67800000000.000 +3.1140156090E-002 +8.0223262310E-002 +1.3413643837E-001 +1.4733129740E-001 +3.2726922631E-001 -1.8765094876E-001 -5.4522085935E-002 +3.3537708223E-002 351 | 68000000000.000 +9.5403209329E-002 -1.4190168679E-001 +1.9371174276E-001 +2.8977846727E-002 -3.8389497995E-001 -3.4071929753E-002 -3.9238817990E-002 +2.2417904809E-002 352 | 68200000000.000 -8.1782013178E-002 -2.0008634776E-002 +9.0382598341E-002 -1.7620240152E-001 +9.8307609558E-002 +3.5876494646E-001 +2.5884801522E-002 +4.2001204565E-003 353 | 68400000000.000 -5.9170156717E-002 -5.3906626999E-002 -1.3926817477E-001 -1.4668513834E-001 +2.8205531836E-001 -2.3951400816E-001 -6.4187645912E-002 -2.7498288080E-002 354 | 68600000000.000 -5.6471792050E-003 +1.2034959346E-001 -1.8440647423E-001 -3.7635222077E-002 -3.6569908261E-001 +3.8825828582E-002 -2.1123129874E-002 +3.8712751120E-002 355 | 68800000000.000 +5.2041385323E-002 -7.0600643754E-002 -1.8757931888E-001 +5.7931330055E-002 +3.5121288896E-001 +1.3198594749E-001 -1.8387235701E-002 +2.1855179220E-002 356 | 69000000000.000 -2.9440235812E-003 +1.1952394620E-002 -6.4434438944E-002 +1.8571899831E-001 -1.2534366548E-001 -3.4865447879E-001 +6.8831481040E-003 +7.4242325500E-003 357 | 69200000000.000 -4.8659611493E-002 -5.1567580551E-002 +1.5082585812E-001 +1.2740178406E-001 -2.5619098544E-001 +2.6947963238E-001 -3.2452702522E-002 +3.8360236213E-003 358 | 69400000000.000 -9.9188592285E-003 +6.8379975855E-002 +1.8846383691E-001 -1.3527694158E-002 +3.6049926281E-001 -2.9285078868E-002 -7.2517171502E-003 +4.1181217879E-002 359 | 69600000000.000 +6.2012895942E-003 -3.3996805549E-002 +1.6401250660E-001 -1.0342761874E-001 -3.3851769567E-001 -1.3337865472E-001 -7.1282824501E-004 +1.3490165584E-002 360 | 69800000000.000 -2.6175299659E-002 +4.8535551876E-002 +3.6120820791E-002 -1.8579849601E-001 +1.5642383695E-001 +3.2083705068E-001 +1.0102639906E-002 +2.7170224115E-002 361 | 70000000000.000 +1.1105915532E-002 +1.6900449991E-002 -1.7333991826E-001 -7.8739583492E-002 +2.6783514023E-001 -2.3646387458E-001 -4.5980652794E-003 -1.4284399804E-003 362 | 70200000000.000 +2.5914771482E-002 +3.7931766361E-002 -1.1967024207E-001 +1.4290086925E-001 -3.0648040771E-001 -1.6765858233E-001 +3.7890919484E-003 +4.9156144261E-002 363 | 70400000000.000 +3.3360619098E-002 -6.2601797283E-002 +1.0780802928E-002 +1.8777444959E-001 +1.1037016660E-001 +3.3329638839E-001 +2.9390839860E-002 +1.6505192034E-003 364 | 70600000000.000 -9.3196995556E-002 +3.4361515194E-002 +1.1383196712E-001 +1.4505489171E-001 +6.1451647431E-002 -3.3878344297E-001 +2.8205554932E-002 +5.0878915936E-003 365 | 70800000000.000 +2.5827202946E-002 +7.2823368013E-002 +1.8042510748E-001 +2.6299441233E-002 -2.7945765853E-001 +2.0128493011E-001 -2.2450614721E-002 -2.4105641991E-002 366 | 71000000000.000 +7.0639997721E-002 +5.5336929858E-002 +1.2216892838E-001 -1.3071399927E-001 +3.2749959826E-001 +8.7834455073E-002 +3.7313345820E-003 +5.6924033910E-002 367 | 71200000000.000 +8.6838506162E-002 -9.4190441072E-002 +2.0230202004E-002 -1.7836755514E-001 -1.9973519444E-001 -2.7303501964E-001 +4.7869641334E-002 -9.0705708135E-004 368 | 71400000000.000 -1.0106395930E-001 -3.1032646075E-002 -5.8577455580E-002 -1.7424529791E-001 +9.4151534140E-002 +3.3102592826E-001 +2.6622980833E-002 -2.0733892918E-002 369 | 71600000000.000 -1.7449207604E-002 +5.1287747920E-002 -1.6182418168E-001 -8.6301229894E-002 +1.4702026546E-001 -3.1447842717E-001 -2.9322326183E-002 -2.0909279585E-002 370 | 71800000000.000 +3.7300810218E-002 +6.7337915301E-002 -1.2442950159E-001 +1.2998887897E-001 -3.4502929449E-001 -2.7758384123E-002 +7.7848965302E-003 +3.3750586212E-002 371 | 72000000000.000 +7.8024722636E-002 -4.0369220078E-002 +9.7795732319E-002 +1.5184813738E-001 +5.5587328970E-002 +3.3667284250E-001 +3.1676512212E-002 -6.9100144319E-003 372 | 72200000000.000 -3.4320134670E-002 -6.8025074899E-002 +1.8396072090E-001 +1.9040416926E-002 +2.1855111420E-001 -2.6747345924E-001 -4.2982897721E-003 -2.2676376626E-002 373 | 72400000000.000 -4.6586323529E-002 +2.3511400446E-002 +1.5867576003E-001 -9.3980610371E-002 -3.3211192489E-001 +1.1223700643E-001 -1.2401011772E-002 +4.1985302232E-003 374 | 72600000000.000 -1.0828672908E-002 +3.5196099430E-002 +4.8701032996E-002 -1.7739176750E-001 +3.2765510678E-001 +1.2691077590E-001 -2.6433093008E-003 +1.4049986377E-002 375 | 72800000000.000 +4.8610541970E-002 +3.9081841707E-002 -1.2640745938E-001 -1.3001196086E-001 -7.7786661685E-002 -3.3492684364E-001 +2.0786449313E-002 -5.8068837970E-003 376 | 73000000000.000 +2.0540650003E-003 -5.0448134542E-002 -1.7967827618E-001 +3.4559782594E-002 -2.3159146309E-001 +2.5707584620E-001 -1.9345974550E-002 +3.1801741570E-003 377 | 73200000000.000 +2.1746888757E-002 +3.0611569062E-002 -1.1813993752E-001 +1.3795518875E-001 +3.3329904079E-001 -8.4585368633E-002 +1.4308638871E-002 -4.7381399199E-003 378 | 73400000000.000 -2.6344863698E-002 -4.8384562135E-002 -3.4066725522E-002 +1.7989435792E-001 -3.3735078573E-001 -8.0749824643E-002 -2.4623276666E-002 +1.8717596307E-002 379 | 73600000000.000 +1.4127649367E-002 +2.9156913981E-002 +9.2154800892E-002 +1.5697290003E-001 +2.2539345920E-001 +2.6023101807E-001 +2.5222307071E-002 +2.2050288680E-004 380 | 73800000000.000 -6.8802818656E-002 +1.5210333513E-003 +1.7955006659E-001 +1.5667036176E-002 +5.9551022947E-002 -3.4261152148E-001 -1.0117578320E-002 +1.0656065308E-002 381 | 74000000000.000 +9.3324631453E-002 +7.8113257885E-002 +1.1097743362E-001 -1.3315887749E-001 -2.9122570157E-001 +1.6341258585E-001 -2.4999456946E-003 -2.0537056029E-002 382 | 74200000000.000 +1.7459038645E-002 -6.2826931477E-002 -7.7588041313E-003 -1.7871539295E-001 +3.2076436281E-001 +7.7330626547E-002 -2.3437216878E-002 +5.4015550762E-002 383 | 74400000000.000 +2.9256377369E-002 -5.4128512740E-002 -1.1568833888E-001 -1.3253973424E-001 -2.2773514688E-001 -2.4332760274E-001 +4.3091673404E-002 -4.1636051610E-003 384 | 74600000000.000 -1.2106892467E-001 +2.2634249181E-002 -1.6882885993E-001 -3.1460076571E-002 +4.9408908933E-002 +3.3615204692E-001 +5.7219183072E-003 +1.9602209795E-003 385 | 74800000000.000 +1.0062403977E-001 +7.5960181653E-002 -1.3714739680E-001 +9.9531516433E-002 +1.8366602063E-001 -2.6096218824E-001 -2.1056069061E-002 -2.2582123056E-002 386 | 75000000000.000 +3.9312709123E-002 -2.7225708589E-002 -1.0632418096E-002 +1.7421437800E-001 -3.1835347414E-001 +2.6240341365E-002 -8.4266379417E-005 +5.8611154556E-002 387 | 75200000000.000 +5.2261799574E-002 -1.0526169091E-001 +1.2029226869E-001 +1.1291169375E-001 +2.4236887693E-001 +2.1567562222E-001 +3.4829501063E-002 -1.8761524931E-002 388 | 75400000000.000 -1.0758048296E-001 -1.0825162753E-002 +1.6634650528E-001 -1.3680325821E-002 -6.4181759953E-003 -3.3132073283E-001 -7.8565231524E-004 -4.9249213189E-003 389 | 75600000000.000 +3.9944782853E-002 +2.7220249176E-002 +8.0504231155E-002 -1.4927737415E-001 -2.5253409147E-001 +2.0102702081E-001 -2.4917460978E-002 -3.8352247793E-003 390 | 75800000000.000 +3.1496718526E-002 +8.8440626860E-003 -9.5902845263E-002 -1.3913716376E-001 +3.0513432622E-001 +1.1749090254E-001 +1.6131322831E-002 +3.7196867168E-002 391 | 76000000000.000 +5.0054714084E-002 -1.0058519989E-001 -1.6077010334E-001 +1.0583153926E-002 -7.2133690119E-002 -3.1847709417E-001 +1.2878987938E-002 -1.5255273320E-002 392 | 76200000000.000 -6.4602531493E-002 -4.6959616244E-002 -8.9654296637E-002 +1.3803711534E-001 -2.0806998014E-001 +2.5220060349E-001 -8.9494241402E-003 -3.1344688032E-003 393 | 76400000000.000 -3.1041432172E-002 -2.0459799096E-002 +6.8688817322E-002 +1.5139804780E-001 +3.2594025135E-001 +1.8424777314E-002 -9.4409771264E-003 +2.0111793652E-002 394 | 76600000000.000 +1.7975750379E-003 +7.1177241625E-004 +1.6581870615E-001 +6.3746329397E-003 -1.5386761725E-001 -2.9118615389E-001 +1.1512474157E-002 +6.6398363560E-003 395 | 76800000000.000 -8.2755470648E-003 -5.4999012500E-002 +7.6678283513E-002 -1.4446261525E-001 -1.7786358297E-001 +2.7499219775E-001 +6.8656778894E-003 +5.3116036579E-003 396 | 77000000000.000 -3.3347900957E-002 -5.6462060660E-002 -7.2448715568E-002 -1.4541159570E-001 +3.1660529971E-001 -3.3745732158E-002 -1.8632924184E-002 -1.5584820649E-003 397 | 77200000000.000 -6.4896419644E-002 -4.2453613132E-003 -1.5112295747E-001 -5.9237077832E-002 -2.6524761319E-001 -1.8623840809E-001 +1.2168541551E-002 +3.3790234476E-002 398 | 77400000000.000 -1.5143747441E-002 -5.6011907756E-002 -1.5455120802E-001 +4.5527983457E-002 +1.2383985519E-001 +2.9542446136E-001 -3.3451241907E-003 +4.4537577778E-003 399 | 77600000000.000 -9.1171510518E-002 -6.7194029689E-003 -9.1127410531E-002 +1.3322477043E-001 +8.3453938365E-002 -3.0803090334E-001 +3.3875524998E-002 +1.4354665764E-002 400 | 77800000000.000 -7.4262626469E-002 -3.0102098361E-002 +1.3248944655E-002 +1.5907436609E-001 -2.3442110419E-001 +1.9823034108E-001 -2.6905318722E-002 -1.2849902734E-002 401 | 78000000000.000 -4.6220403165E-002 +8.6338236928E-002 +8.3426810801E-002 +1.3522484899E-001 +3.1257197261E-001 -7.1881495416E-002 +1.3369115070E-002 +3.1030999497E-002 402 | 78200000000.000 -2.0629044622E-002 -8.3319708705E-002 +1.3415583968E-001 +7.8777968884E-002 -3.0844449997E-001 -4.5298326761E-002 -1.3220759109E-002 +2.3717986420E-002 403 | 78400000000.000 -9.8509930074E-002 +3.2164465636E-002 +1.5680372715E-001 -2.7464076877E-002 +2.0184327662E-001 +2.3920775950E-001 +5.2536275238E-002 +1.0337540880E-002 404 | 78600000000.000 -1.1714307219E-001 -1.6356391832E-002 +3.7044815719E-002 -1.4990243316E-001 +1.0487628728E-001 -2.8455999494E-001 -2.9359113425E-002 -6.3161361031E-003 405 | 78800000000.000 -4.4513173401E-002 +1.4034622908E-001 -9.3681991100E-002 -1.2243842334E-001 -3.0717954040E-001 +8.4934838116E-002 +1.9272185862E-002 +2.6995304972E-002 406 | 79000000000.000 -3.9185825735E-002 -4.0819238871E-002 -1.4957091212E-001 -4.1603889316E-002 +3.0360826850E-001 +7.6924383640E-002 -7.4228155427E-003 +2.8259338811E-002 407 | 79200000000.000 -5.4150249809E-002 +7.3090448976E-002 -1.5545354784E-001 +2.9072178528E-002 -2.4334053695E-001 -2.0504045486E-001 +4.2896032333E-002 +5.8402763680E-003 408 | 79400000000.000 -1.2194894254E-001 -5.6364620104E-003 -7.6930232346E-002 +1.3001662493E-001 +4.2327515781E-002 +3.0737671256E-001 -1.6803735867E-002 +1.2304717675E-002 409 | 79600000000.000 -5.2754536271E-002 +1.4771080017E-001 +7.0863030851E-002 +1.3466952741E-001 +2.5736016035E-001 -1.8743188679E-001 +2.4374408647E-002 +2.4415295571E-002 410 | 79800000000.000 -6.5717861056E-002 +4.1482273489E-002 +1.5176378191E-001 +3.2908104360E-002 -3.1788834929E-001 -3.8439810276E-002 +8.5851345211E-003 +1.7394056544E-002 411 | 80000000000.000 -2.0632538944E-002 +1.1851797253E-001 +1.4591614902E-001 -5.4166276008E-002 +2.5248289108E-001 +1.9666050375E-001 +2.2684823722E-002 +1.8776824698E-002 412 | 80200000000.000 -7.9719178379E-002 +6.1830561608E-002 -1.1076007783E-001 -1.0820718855E-001 +2.6736727357E-001 -1.6449849308E-001 +1.3826394454E-002 +1.7209636047E-002 413 | 80400000000.000 -4.5481674373E-002 +1.3765905797E-001 -1.5211305022E-001 -2.1827036515E-002 -3.0766382813E-001 -1.8796097487E-002 +2.9899187386E-002 +3.4485548735E-002 414 | 80600000000.000 -4.8784583807E-002 +1.0596646369E-001 -1.5241487324E-001 +2.6246817783E-002 +3.0159732699E-001 +8.9947395027E-002 +2.5261629373E-002 -7.4588938151E-004 415 | 80800000000.000 -3.1539101154E-002 +1.5036919713E-001 -1.2613695860E-001 +8.5167460144E-002 -2.3977527022E-001 -1.8402156234E-001 +1.7950955778E-002 +3.8229387254E-002 416 | 81000000000.000 +8.3896063734E-004 +1.2693844736E-001 -1.1473900639E-002 +1.5289153159E-001 +1.8591221422E-002 +3.0562236905E-001 +2.0164916292E-002 +6.5890159458E-003 417 | 81200000000.000 +6.3376268372E-003 +1.5559001267E-001 +1.3727493584E-001 +6.0379114002E-002 +2.6447930932E-001 -1.2637384236E-001 +3.5615418106E-002 +6.0263730586E-002 418 | 81400000000.000 +6.1841670424E-002 +8.5939638317E-002 +1.2922576070E-001 -8.2365021110E-002 -2.6723885536E-001 -1.5864017606E-001 +5.0537239760E-002 -6.7540118471E-003 419 | 81600000000.000 -4.0694162250E-002 +1.2406916171E-001 +6.5157897770E-002 -1.3650915027E-001 +1.7491555214E-001 +2.4859693646E-001 +4.0912024677E-002 +3.0018521473E-002 420 | 81800000000.000 +5.0156138837E-002 +1.4242725074E-001 +1.6326960176E-002 -1.5040911734E-001 -9.2649258673E-002 -2.9143097997E-001 +1.1538095772E-002 -7.1927951649E-003 421 | 82000000000.000 +6.0101069510E-002 +1.9093267620E-001 -7.1953177452E-002 -1.2293221802E-001 -7.6575107872E-002 +2.7852106094E-001 +5.0774820149E-002 +6.8227849901E-002 422 | 82200000000.000 +1.7590153217E-001 +4.7117237002E-002 -1.4341536164E-001 -1.8166113645E-002 +2.9674014449E-001 -8.3034142852E-002 +7.5297035277E-002 -1.0212087072E-002 423 | 82400000000.000 -2.1484772151E-004 +5.9872925282E-002 -8.2881554961E-002 +1.2854327261E-001 -2.4477921426E-001 -2.0498912036E-001 +5.1947280765E-002 -7.2701141471E-004 424 | 82600000000.000 +5.8439761400E-002 +8.4896177053E-002 +2.4427423254E-002 +1.5144701302E-001 +7.6527960598E-002 +3.0808556080E-001 +1.6537761316E-002 -1.4552799985E-002 425 | 82800000000.000 +7.8879773617E-002 +1.8365384638E-001 +7.8585222363E-002 +1.1829486489E-001 +2.5762606412E-002 -2.9704201221E-001 +6.0041245073E-002 +4.6882312745E-002 426 | 83000000000.000 +2.1267068386E-001 +4.3495908380E-002 +1.1887060851E-001 +7.7850356698E-002 -1.8205167353E-001 +2.4243298173E-001 +7.5380966067E-002 -3.3181738108E-002 427 | 83200000000.000 +9.1544471681E-002 +7.8052370809E-003 +1.3981455564E-001 -6.3010200858E-002 +3.2587251067E-001 -7.6684458181E-003 +4.0857721120E-002 -1.2339002453E-002 428 | 83400000000.000 +8.4185838699E-002 -7.8529324383E-003 -3.3034287393E-002 -1.5092881024E-001 -1.0815250874E-001 -3.1096330285E-001 +2.9758889228E-002 -2.0128203556E-002 429 | 83600000000.000 +6.0412768275E-002 +8.4027215838E-002 -1.4982289076E-001 -2.5971543044E-002 -2.1822978556E-001 +2.4027135968E-001 +5.5422905833E-002 +2.2207540460E-003 430 | 83800000000.000 +1.4177706838E-001 +1.8002631143E-002 -1.3460211456E-001 +6.7604005337E-002 +3.1995674968E-001 -6.7517995834E-002 +4.4672876596E-002 -2.8906419873E-002 431 | 84000000000.000 +1.0649964958E-001 +2.4971775711E-002 -8.6577691138E-002 +1.2634071708E-001 -3.2294625044E-001 -6.8311914802E-002 +4.2500089854E-002 -2.0750654861E-002 432 | 84200000000.000 +1.2101680785E-001 -2.4110944942E-002 +1.3904077001E-002 +1.5252617002E-001 +2.2027325630E-001 +2.4377469718E-001 +4.5367404819E-002 -2.6372689754E-002 433 | 84400000000.000 +8.8865518570E-002 -1.7990119755E-002 +1.4351159334E-001 +5.7793568820E-002 +9.3747153878E-002 -3.1337767839E-001 +2.8748918325E-002 -3.4193560481E-002 434 | 84600000000.000 +6.9171950221E-002 -2.0037783310E-002 +1.1042203009E-001 -1.0877006501E-001 -3.1821152568E-001 +6.3202627003E-002 +4.5298375189E-002 -2.0602609962E-002 435 | 84800000000.000 +7.9365767539E-002 +1.7905162647E-002 -2.9499640223E-003 -1.5424557030E-001 +2.7800199389E-001 +1.6752184927E-001 +2.7697227895E-002 -3.8163736463E-002 436 | 85000000000.000 +1.3111361861E-001 +6.3158855774E-003 -7.4861913919E-002 -1.3190154731E-001 -1.8480342627E-001 -2.5658342242E-001 +4.9846634269E-002 -3.8304541260E-002 437 | 85200000000.000 +1.1528690159E-001 -7.1644619107E-002 -1.3693700731E-001 -6.2653109431E-002 +5.8072018437E-003 +3.0863875151E-001 +9.9587514997E-003 -3.8088701665E-002 438 | 85400000000.000 +7.2877831757E-002 -5.4391741753E-002 -1.2164995819E-001 +8.9186117053E-002 +2.5470000505E-001 -1.6536915302E-001 +5.6025139987E-002 -4.7176815569E-002 439 | 85600000000.000 +2.4404186755E-002 -4.6845752746E-002 +6.8392366171E-002 +1.3293480873E-001 -2.1435591578E-001 -2.2609123588E-001 -6.8032904528E-003 -5.3038217127E-002 440 | 85800000000.000 +8.7959103286E-002 +2.5299832225E-002 +1.4690782130E-001 -2.7447542176E-002 -1.2768061459E-001 +2.8470429778E-001 +3.1846366823E-002 -3.7869401276E-002 441 | 86000000000.000 +1.0488793254E-001 -2.8822688386E-002 +7.8725144267E-002 -1.2506544590E-001 +2.8019514680E-001 -1.1900664121E-001 +2.1050581709E-002 -2.6902290061E-002 442 | 86200000000.000 +1.4925792813E-001 -7.0654638112E-002 -3.6070225760E-003 -1.4120243490E-001 -2.8401666880E-001 -4.1459627450E-002 +4.5160084963E-002 -9.2316702008E-002 443 | 86400000000.000 +2.5290990248E-002 -1.3722768426E-001 -7.8990332782E-002 -1.1647034436E-001 +2.0615769923E-001 +2.1306852996E-001 -4.1191712022E-002 -5.0516262650E-002 444 | 86600000000.000 +2.2720418870E-002 -3.1674429774E-002 -1.4705115557E-001 -7.1154730394E-003 +2.2179622203E-002 -3.1327474117E-001 +1.8508411944E-002 -3.3405639231E-002 445 | 86800000000.000 +4.1657768190E-002 -6.2521325890E-004 -8.7744303048E-002 +1.1580236256E-001 -2.4585412443E-001 +1.9111892581E-001 +2.6930917054E-002 -3.6757525057E-002 446 | 87000000000.000 +1.6258689761E-001 -6.7739546299E-002 +5.7020159438E-003 +1.3743761182E-001 +2.9297640920E-001 -8.4627961041E-004 +1.0920905508E-002 -1.0715608299E-001 447 | 87200000000.000 +2.4127455428E-002 -1.5548110008E-001 +5.0655201077E-002 +1.2892904878E-001 -2.7781414986E-001 -1.2151867896E-001 -4.7428775579E-002 -4.5762591064E-002 448 | 87400000000.000 +7.5834728777E-003 -8.2985617220E-002 +1.2054382265E-001 +8.0910079181E-002 +1.9032001495E-001 +2.5596958399E-001 -5.3577725776E-003 -4.3491527438E-002 449 | 87600000000.000 -1.3905981556E-002 -3.3277377486E-002 +1.3388143480E-001 -5.6649744511E-002 +8.2223825157E-002 -3.0992892385E-001 -5.8731832542E-004 -4.7783389688E-002 450 | 87800000000.000 +8.1821002066E-002 -6.1890125275E-002 -3.3048246056E-002 -1.4106070995E-001 -3.1617099047E-001 -4.4499454089E-003 -2.3180224001E-002 -7.5171910226E-002 451 | 88000000000.000 +3.8592633791E-003 -8.6788706481E-002 -1.4565066993E-001 -1.2909187717E-005 +8.0989159644E-002 +3.0947193503E-001 -3.6219023168E-002 -4.9576699734E-002 452 | 88200000000.000 +4.2125329375E-002 -7.5358688831E-002 -8.4952391684E-002 +1.2066435814E-001 +1.8500241637E-001 -2.6155886054E-001 -4.1165247560E-002 -4.5506838709E-002 453 | 88400000000.000 +9.8824163433E-004 -1.0220762342E-001 +4.2975125834E-003 +1.4705631137E-001 -2.9795226455E-001 +1.2050172687E-001 -3.8076724857E-002 -3.3891212195E-002 454 | 88600000000.000 -1.5103415586E-002 -9.4590462744E-002 +9.2997990549E-002 +1.1413458735E-001 +3.1570091844E-001 +6.0028653592E-002 -2.9283912852E-002 -3.0901962891E-002 455 | 88800000000.000 -4.3561682105E-002 -5.6736469269E-002 +1.4775481820E-001 +1.4176545665E-004 -1.6993835568E-001 -2.6690739393E-001 -4.7256588936E-002 -4.7167319804E-002 456 | 89000000000.000 +4.7910218127E-003 -4.2068205774E-002 +7.2492800653E-002 -1.3131736219E-001 -1.3433235884E-001 +2.8765746951E-001 -4.4468432665E-002 -9.5404563472E-003 457 | 89200000000.000 +6.6925678402E-003 -9.3558073044E-002 -7.5608775020E-002 -1.2863907218E-001 +3.1211599708E-001 -6.7368045449E-002 -4.0500622243E-002 -2.8261652216E-002 458 | 89400000000.000 -3.9645921439E-002 -1.0032899678E-001 -1.4068223536E-001 -4.6416945755E-002 -2.8721117973E-001 -1.2741948664E-001 -3.2061930746E-002 -2.2650288418E-002 459 | 89600000000.000 -8.1923812628E-002 -9.8196648061E-002 -1.4097248018E-001 +3.5433240235E-002 +1.8522328138E-001 +2.3557411134E-001 -8.0101422966E-002 -1.7695723101E-002 460 | 89800000000.000 -1.0017517209E-001 -1.2448535301E-002 -1.0352709889E-001 +1.0196541250E-001 -3.7141881883E-002 -2.9985302687E-001 -1.4822213911E-002 +2.6358885691E-002 461 | 90000000000.000 -3.8911513984E-002 -2.7042664587E-002 -8.9241993919E-006 +1.4999084175E-001 -1.6147682071E-001 +2.6011884212E-001 -4.3903343379E-002 -3.6322712898E-002 462 | 90200000000.000 -1.8136970699E-002 -2.4304175749E-002 +1.2556636333E-001 +7.8454762697E-002 +3.0195325613E-001 -4.2292565107E-002 -5.1825359464E-002 -1.2429873459E-002 463 | 90400000000.000 -9.5283009112E-002 -1.2949530780E-001 +1.2258283794E-001 -5.9551868588E-002 -2.0006804168E-001 -1.9648523629E-001 -8.8655628264E-002 +3.2764114439E-002 464 | 90600000000.000 -1.4957703650E-001 +2.4361213669E-002 +5.1925677806E-002 -1.2556995451E-001 -1.6043970361E-002 +2.8043058515E-001 +9.0272789821E-003 +4.2400058359E-002 465 | 90800000000.000 -9.5988079906E-002 +2.1546849981E-002 -4.4357385486E-002 -1.3602760434E-001 +1.7896910012E-001 -2.3277835548E-001 -4.3857801706E-002 -1.8506042659E-002 466 | 91000000000.000 -4.4251908548E-003 +6.1497546732E-002 -1.1430641264E-001 -8.0719076097E-002 -2.7807772160E-001 +1.0687512159E-001 -5.0174698234E-002 +1.6766024753E-002 467 | 91200000000.000 -8.0979488790E-002 -8.5606649518E-002 -1.3527925313E-001 +1.2759800069E-002 +2.7687516809E-001 +7.2424128652E-002 -5.1862463355E-002 +5.6926392019E-002 468 | 91400000000.000 -1.1345375329E-001 +3.6847326905E-002 -8.9156948030E-002 +1.0663184524E-001 -1.3922902942E-001 -2.5163900852E-001 +1.4396151528E-002 +3.8212750107E-002 469 | 91600000000.000 -1.2665839493E-001 +4.5733943582E-002 +3.1354442239E-002 +1.3634468615E-001 -8.5105307400E-002 +2.8153550625E-001 -3.0926428735E-002 +3.6027329043E-004 470 | 91800000000.000 -4.1919562966E-002 +9.3938104808E-002 +1.2213690579E-001 +6.7718647420E-002 +2.5842630863E-001 -1.3401909173E-001 -3.0067855492E-002 +3.8060057908E-002 471 | 92000000000.000 -7.7187739313E-002 +5.4771751165E-002 +1.3089643419E-001 -5.1411360502E-002 -2.7564805746E-001 -8.9017637074E-002 -3.7050869316E-002 +4.0819369256E-002 472 | 92200000000.000 -1.6282547265E-002 +9.3142062426E-002 +4.3612319976E-002 -1.3548833132E-001 +1.0906316340E-001 +2.6304876804E-001 +6.3670636155E-003 +6.9759011269E-002 473 | 92400000000.000 -3.1234961003E-002 +3.8505911827E-002 -9.5855668187E-002 -1.1078807712E-001 +1.4795184135E-001 -2.5246107578E-001 +7.1361609735E-003 +2.6816014200E-002 474 | 92600000000.000 -6.7216597497E-002 +5.6747309864E-002 -1.4070844650E-001 +3.6007169634E-002 -2.8788706660E-001 +1.3573814183E-002 +1.1184944771E-002 +2.9743613675E-002 475 | 92800000000.000 -6.1094328761E-002 +1.2657488883E-001 -3.3999089152E-002 +1.3712428510E-001 +1.6559746861E-001 +2.2993241251E-001 -3.0962031335E-002 +3.5798676312E-002 476 | 93000000000.000 +2.3770134896E-002 +1.6215051711E-001 +9.2829845846E-002 +1.0216426104E-001 +9.4959966838E-002 -2.5940370560E-001 +3.0199261382E-002 +8.1773862243E-002 477 | 93200000000.000 +9.9019296467E-002 +6.1094332486E-002 +1.4103850722E-001 -1.3744654134E-002 -2.7779072523E-001 +8.4501996636E-002 +4.8887137324E-002 +2.0175999030E-002 478 | 93400000000.000 -7.1692134952E-004 +2.3505290970E-002 +6.2552817166E-002 -1.3260664046E-001 +2.4471315742E-001 +1.7092698812E-001 +1.9199993461E-002 +1.2757545337E-002 479 | 93600000000.000 -1.5319706872E-002 +7.0345796645E-002 -9.3179978430E-002 -1.1161992699E-001 +1.0972843505E-002 -2.9616099596E-001 +1.0089443997E-002 +3.5698343068E-002 480 | 93800000000.000 +1.2820911594E-002 +1.6327928007E-001 -1.3175453246E-001 +3.7790015340E-002 -2.5550672412E-001 +1.2869867682E-001 +5.7000905275E-002 +4.3407369405E-002 481 | 94000000000.000 +1.5139012039E-001 +1.0428688675E-001 -4.3338179588E-002 +1.2928478420E-001 +2.4502195418E-001 +1.4538009465E-001 +4.6884551644E-002 -2.2631011903E-002 482 | 94200000000.000 +1.2038636208E-001 +2.4879958481E-002 +7.4880808592E-002 +1.2173771113E-001 -7.0942051709E-002 -2.7967965603E-001 +2.1645899396E-003 +2.4708950892E-002 483 | 94400000000.000 +6.8291693926E-002 -4.3878566474E-002 +1.3569584489E-001 +4.2010989040E-002 -1.0963128507E-001 +2.6696789265E-001 +5.9911422431E-002 +2.0912494510E-002 484 | 94600000000.000 +8.9043268235E-004 +8.6324080825E-002 +1.2966524065E-001 -4.9049280584E-002 +2.3523977399E-001 -1.7011739314E-001 +6.3683293760E-002 -8.9056538418E-003 485 | 94800000000.000 +1.3713873923E-001 +8.0123446882E-002 +7.0531778038E-002 -1.1866267025E-001 -2.8026363254E-001 -5.1568271592E-003 +2.5249717757E-002 -5.9873264283E-002 486 | 95000000000.000 +1.6233669221E-001 +8.0851409584E-003 -2.5536108762E-002 -1.3744033873E-001 +2.1589164436E-001 +1.7877690494E-001 -1.0881080292E-002 +1.8222590908E-002 487 | 95200000000.000 +1.0709233582E-001 -8.1337615848E-002 -9.1756314039E-002 -1.0619346052E-001 -1.0304462165E-001 -2.6302739978E-001 +5.6389458477E-002 -6.8654441275E-003 488 | 95400000000.000 +3.4523431212E-002 -2.2686352953E-002 -1.3387340307E-001 -5.0848305225E-002 -8.7174074724E-003 +2.9034516215E-001 +3.5818096250E-002 -2.2694295272E-002 489 | 95600000000.000 +8.4510833025E-002 +1.3450058177E-002 -1.3985189795E-001 +2.0287990570E-002 +1.2198654562E-001 -2.5752288103E-001 +1.1664479971E-002 -6.1097815633E-002 490 | 95800000000.000 +1.0457689315E-001 -2.2428669035E-002 -8.8866628706E-002 +1.0838840157E-001 -2.5714871287E-001 +1.2121441215E-001 -1.4452549629E-002 +8.6635332555E-003 491 | 96000000000.000 +1.1082311720E-001 -4.9269977957E-002 +5.2414849401E-002 +1.2902086973E-001 +2.3806300759E-001 +1.5268780291E-001 +2.5982987136E-002 -1.6460249200E-002 492 | 96200000000.000 +7.8046202660E-002 -6.2923118472E-002 +1.3720928133E-001 +1.1961332522E-002 +8.3017218858E-003 -2.8438043594E-001 +3.5533215851E-002 -4.7798166052E-003 493 | 96400000000.000 +9.5002889633E-002 -9.2791229486E-002 +1.0017342120E-001 -8.7509118021E-002 -2.0209521055E-001 +1.9555628300E-001 +1.7039103433E-002 -7.1076042950E-002 494 | 96600000000.000 +1.0336302221E-002 -9.1733381152E-002 +4.7949105501E-002 -1.2695594132E-001 +2.7909189463E-001 -8.4055610001E-002 -3.0278416350E-002 -1.8861036748E-002 495 | 96800000000.000 +3.4812405705E-002 -4.2750023305E-002 -2.1585136652E-002 -1.3610078394E-001 -2.9239618778E-001 -3.2678622752E-002 -6.5164039843E-003 +5.2458839491E-003 496 | 97000000000.000 +7.6458290219E-002 -2.8878116980E-002 -1.0772372782E-001 -7.9906046391E-002 +2.0394048095E-001 +2.0574921370E-001 +4.4249814004E-002 -4.9512861297E-003 497 | 97200000000.000 +1.0307453573E-001 -1.3702198863E-001 -1.1545554549E-001 +5.5225607008E-002 +8.1342488527E-002 -2.7316829562E-001 +9.9429115653E-003 -6.8862855434E-002 498 | 97400000000.000 -1.6296504065E-002 -1.5958832204E-001 -2.7252700180E-002 +1.2825390697E-001 -2.6977622509E-001 +1.0245373100E-001 -4.6111132950E-002 -2.5094233453E-002 499 | 97600000000.000 -7.6826818287E-002 -8.2104898989E-002 +6.8390831351E-002 +1.1606329679E-001 +2.7812907100E-001 +8.8482849300E-002 +5.4847798310E-003 +2.2293820977E-002 500 | 97800000000.000 -2.1307198331E-003 +1.2783795595E-002 +1.2346641719E-001 +5.8551926166E-002 -1.9910591841E-001 -2.1410186589E-001 +2.8064429760E-002 -3.6514166743E-002 501 | 98000000000.000 +8.5005015135E-002 -7.6292008162E-002 +1.2510204315E-001 -5.0742227584E-002 +2.6611941867E-003 +2.9304113984E-001 -1.4146664180E-002 -4.9040347338E-002 502 | 98200000000.000 +5.8516231366E-003 -1.6831532121E-001 -2.9022255912E-002 -1.2954004109E-001 +2.8073242307E-001 -6.3880078495E-002 -4.3701641262E-002 -4.3777008541E-003 503 | 98400000000.000 -1.0002455860E-001 -1.1655835807E-001 -1.2704102695E-001 +4.5663867146E-002 -3.5223789513E-002 -2.8367680311E-001 +2.9133604839E-002 +1.6691830242E-003 504 | 98600000000.000 -8.8608048856E-002 -1.0473822244E-002 +3.2069757581E-002 +1.3449829817E-001 -2.7882111073E-001 +7.8457117081E-002 -1.5114518814E-002 -5.5822715163E-002 505 | 98800000000.000 +2.9339686036E-002 -9.4448057935E-003 +1.3285660744E-001 +4.2559105903E-002 +2.3916870356E-001 +1.8021290004E-001 -3.6027230322E-002 -2.1786918864E-002 506 | 99000000000.000 +8.3116709720E-004 -1.2683443725E-001 +1.3104103506E-001 -4.1522413492E-002 -1.1300919950E-001 -2.7162104845E-001 -3.7173468620E-002 +2.0325675607E-002 507 | 99200000000.000 -8.4114953876E-002 -1.0612178594E-001 +8.3565570414E-002 -1.1030740291E-001 -4.9261972308E-002 +2.8431165218E-001 +3.4908402711E-002 -9.3294242397E-003 508 | 99400000000.000 -1.1410452425E-001 -3.0603304505E-002 -4.9637123942E-002 -1.2852180004E-001 +2.6595005393E-001 -1.1825112253E-001 -2.7686504647E-002 -5.0036806613E-002 509 | 99600000000.000 -1.8421432003E-002 -8.7118363008E-003 -1.3622145355E-001 -2.4926485494E-002 -2.6032969356E-001 -1.4741030335E-001 -4.2700812221E-002 -2.4434212595E-002 510 | 99800000000.000 -5.6280318648E-002 -7.1307867765E-002 -1.2082566321E-001 +6.6793970764E-002 +1.2756003439E-001 +2.6772874594E-001 -5.3763706237E-002 +2.2970270365E-002 511 | 100000000000.000 -6.3617005944E-002 -4.3333034962E-002 -9.2230521142E-002 +1.0536941886E-001 -5.3571753204E-002 -2.9253998399E-001 +1.4643515460E-002 +1.0823669843E-002 512 | 100200000000.000 -6.5991930664E-002 -1.0292882100E-002 -4.9049183726E-002 +1.2791074812E-001 -2.1417396143E-002 +2.9751253128E-001 -1.0056223720E-002 -3.7625111639E-002 513 | 100400000000.000 -3.1939356122E-003 -6.9661289454E-002 +6.1122667044E-002 +1.1793057621E-001 +2.1814069152E-001 -1.9486328959E-001 -6.3734076917E-002 -4.3822716922E-002 514 | 100600000000.000 -1.0971550643E-001 -8.3512336016E-002 +1.2803655863E-001 -3.0205462128E-002 -2.4183318019E-001 -1.6046041250E-001 -8.3592824638E-002 +3.6038387567E-002 515 | 100800000000.000 -1.0371332616E-001 -2.0982841030E-002 +1.1377895251E-002 -1.3454648852E-001 -5.6328486651E-002 +2.8994128108E-001 -4.9709030427E-003 +4.0238894522E-002 516 | 101000000000.000 -5.1390670240E-002 +2.3487647995E-002 -8.1238731742E-002 -1.0477849096E-001 +2.1673469245E-001 -1.9878458977E-001 -1.4812524430E-002 -2.6795726269E-002 517 | 101200000000.000 +3.6981308367E-003 -9.4755895436E-002 -1.0403578728E-001 -7.7555723488E-002 -2.4718959630E-001 +1.4686985314E-001 -8.8255882263E-002 -1.5535636805E-002 518 | 101400000000.000 -1.2860555947E-001 -1.2434846908E-001 -1.2252095342E-001 -4.1832417250E-002 +2.7427440882E-001 -7.3137789965E-002 -8.1873007119E-002 +6.4540527761E-002 519 | 101600000000.000 -1.8617896736E-001 -3.6235824227E-002 -1.0883770138E-001 +6.8986713886E-002 -2.3875282705E-001 -1.5484020114E-001 -8.7990732864E-003 +5.0072334707E-002 520 | 101800000000.000 -1.0925973207E-001 +5.7277396321E-002 +2.6656080037E-002 +1.2601412833E-001 -4.8357639462E-002 +2.7895593643E-001 -5.3987819701E-002 -3.3463244326E-003 521 | 102000000000.000 -2.4025233462E-002 -3.2374408096E-002 +1.1824655533E-001 +5.5945456028E-002 +2.4268117547E-001 -1.4727936685E-001 -8.9358694851E-002 +5.2956305444E-002 522 | 102200000000.000 -1.1440435797E-001 -1.2117541581E-001 +1.2827782333E-001 +1.2352534570E-002 -2.7069926262E-001 +7.9343840480E-002 -5.4883133620E-002 +9.4860889018E-002 523 | 102400000000.000 -2.1814291179E-001 -4.0992468596E-002 +1.2654627860E-001 +5.0443005748E-003 +2.6877996325E-001 -7.3587305844E-002 -9.2570362613E-003 +5.9789925814E-002 524 | 102600000000.000 -1.7723684013E-001 +3.8175515831E-002 +1.1777063459E-001 -5.1462076604E-002 -2.7450263500E-001 -3.7509504706E-002 -7.1106091142E-002 +4.9626134336E-002 525 | 102800000000.000 -1.2065331638E-001 +3.5450298339E-002 +2.8252643533E-003 -1.2821276486E-001 +1.0287010670E-001 +2.6088219881E-001 -5.6761659682E-002 +1.0345558077E-001 526 | 103000000000.000 -1.6789288819E-001 -2.1298008040E-002 -1.2110383064E-001 -3.4276995808E-002 +2.0859558880E-001 -1.8213936687E-001 -3.6521058530E-002 +1.2439779937E-001 527 | 103200000000.000 -1.8550354242E-001 +7.2321660817E-002 -1.0328727961E-001 +6.8638429046E-002 -2.7444228530E-001 -3.1260460615E-002 +1.0669332929E-002 +1.0528189689E-001 528 | 103400000000.000 -1.5047435462E-001 +5.5198296905E-002 -6.2269635499E-002 +1.0886957496E-001 +2.4618479609E-001 +1.3003653288E-001 -2.5048613548E-002 +9.3716956675E-002 529 | 103600000000.000 -1.4148785174E-001 +7.1305319667E-002 -2.0236151759E-003 +1.2242118269E-001 -1.7444664240E-001 -2.1364066005E-001 -1.6450364143E-002 +1.2139230967E-001 530 | 103800000000.000 -2.0790968835E-001 +6.5319977701E-002 +1.0429030657E-001 +5.2197530866E-002 -9.2308394611E-002 +2.4951350689E-001 +2.2776895203E-003 +1.6092982888E-001 531 | 104000000000.000 -1.5016309917E-001 +1.9364963472E-001 +4.4784300029E-002 -1.0216209292E-001 +2.3427876830E-001 +1.1555806547E-001 +7.5594924390E-002 +1.3708259165E-001 532 | 104200000000.000 -7.0979356766E-002 +1.2907797098E-001 -1.0824861377E-001 -4.6896405518E-002 +1.1275555193E-001 -2.4681170285E-001 +4.9999501556E-002 +8.3177529275E-002 533 | 104400000000.000 -7.7995769680E-002 +8.7550431490E-002 -9.8311275244E-002 +6.4945451915E-002 -2.6078411937E-001 +7.9112946987E-002 +1.7509533092E-002 +1.1414431036E-001 534 | 104600000000.000 -1.8861040473E-001 +1.0264658183E-001 -5.5742062628E-002 +9.5427788794E-002 +2.5909766555E-001 +1.2383327819E-002 +5.9154380113E-002 +1.6354298592E-001 535 | 104800000000.000 -1.1949501187E-001 +2.5450077653E-001 +1.4598900452E-003 +1.0427379608E-001 -1.9627660513E-001 -1.4532640576E-001 +1.3603781164E-001 +1.2225469947E-001 536 | 105000000000.000 +8.3379009739E-003 +2.1933826804E-001 +1.0196937621E-001 +4.0341965854E-002 -7.0451192558E-002 +2.3611761630E-001 +9.3947857618E-002 +4.4465813786E-002 537 | 105200000000.000 +4.6911645681E-002 +1.2180532515E-001 +4.0752604604E-002 -1.0548140109E-001 +2.4479122460E-001 +5.5519957095E-002 +5.6011617184E-002 +1.0846707225E-001 538 | 105400000000.000 -6.2749765813E-002 +6.7414887249E-002 -8.3870343864E-002 -7.7731825411E-002 -6.4894318581E-002 -2.3965787888E-001 +1.1661841720E-001 +1.1483049393E-001 539 | 105600000000.000 -8.0073498189E-002 +2.0585238934E-001 -1.0708095878E-001 -2.3873431608E-002 -4.3092157692E-002 +2.3207969964E-001 +1.5665394068E-001 +7.1756884456E-002 540 | 105800000000.000 +5.5434904993E-002 +2.2410751879E-001 -1.0850476474E-001 +4.0088938549E-003 +1.0948794335E-001 -2.0290924609E-001 +1.0118331760E-001 +1.2604614720E-002 541 | 106000000000.000 +1.1158778518E-001 +1.3627932966E-001 -7.4329301715E-002 +8.4214322269E-002 -2.2442422807E-001 +6.5149478614E-002 +9.3160927296E-002 +8.3412870765E-002 542 | 106200000000.000 +7.4749551713E-002 +5.0983596593E-002 +7.4223719537E-002 +8.7545260787E-002 +1.0955479741E-001 +2.1352721751E-001 +1.3767819107E-001 +5.3505361080E-002 543 | 106400000000.000 +7.0606339723E-003 +1.0834714770E-001 +9.8715446889E-002 -5.6560721248E-002 +1.7323166132E-001 -1.6610482335E-001 +1.5158501267E-001 +2.9797544703E-002 544 | 106600000000.000 +9.4623029232E-002 +1.2014840543E-001 +4.6650972217E-002 -1.0246927291E-001 -2.3644307256E-001 +3.4870952368E-002 +1.0782543570E-001 -1.2136322446E-002 545 | 106800000000.000 +1.0159736872E-001 +8.6339868605E-002 +4.4206134975E-002 -1.0615307838E-001 +2.3942223191E-001 -4.6262327582E-002 +1.1345133185E-001 +3.5807315260E-002 546 | 107000000000.000 +1.2421011180E-001 +3.0611298978E-002 +3.3624410629E-002 -1.0800816864E-001 -2.4339751899E-001 +4.0236670524E-002 +1.3104471564E-001 +5.3231529891E-003 547 | 107200000000.000 +9.3972422183E-002 +5.1455896348E-002 -3.1680505723E-002 -1.0577862710E-001 +2.3146779835E-001 +8.3854719996E-002 +1.4992816746E-001 -1.3709566556E-002 548 | 107400000000.000 +1.5818437934E-001 -2.0980997011E-002 -9.4087496400E-002 -5.1961865276E-002 -1.0264988244E-001 -2.2843176126E-001 +1.0495591164E-001 -6.2225922942E-002 549 | 107600000000.000 +6.9145530462E-002 -5.0450645387E-002 -1.1299458891E-001 -7.0648360997E-004 -1.4977116371E-003 +2.6613673568E-001 +8.0119125545E-002 -2.3955989629E-002 550 | 107800000000.000 +6.4702168107E-002 -3.3435419202E-002 -1.1235179007E-001 -1.1574108154E-002 -6.5279021859E-002 -2.6067662239E-001 +1.0482138395E-001 -1.1836426333E-002 551 | 108000000000.000 +1.0454034060E-001 +2.5381110609E-002 -1.0293598473E-001 -3.3465825021E-002 +1.4095062017E-001 +2.1957343817E-001 +1.3301154971E-001 -5.9481870383E-002 552 | 108200000000.000 +1.9181671739E-001 -1.0900418460E-001 -9.9212519825E-002 +2.7667708695E-002 +3.8101905957E-003 -2.5886979699E-001 +7.5406275690E-002 -1.0019025207E-001 553 | 108400000000.000 +6.7763336003E-002 -1.9207793474E-001 +2.2233743221E-002 +1.0625677556E-001 -2.6059669256E-001 +1.9935535267E-002 +3.0165372416E-002 -5.1383931190E-002 554 | 108600000000.000 -2.8688468039E-002 -1.5101796389E-001 +1.0192632675E-001 -4.2653620243E-002 -2.2443155758E-003 +2.5962191820E-001 +9.6129469573E-002 -3.3401127905E-002 555 | 108800000000.000 +1.1548097245E-002 -1.5762748197E-002 +1.5221022768E-003 -1.1006579548E-001 +2.2928582132E-001 -1.2149996310E-001 +7.8679583967E-002 -1.0564463586E-001 556 | 109000000000.000 +1.5370605886E-001 -1.2037806213E-001 -5.5210921913E-002 -9.1182872653E-002 -2.5551676750E-001 +9.0615749359E-003 +2.4617692456E-002 -1.1250652373E-001 557 | 109200000000.000 +6.0265392065E-002 -2.5535124540E-001 -1.0112827271E-001 -3.3486451954E-002 +1.9096769392E-001 +1.4758257568E-001 -6.9435425103E-003 -4.7187931836E-002 558 | 109400000000.000 -7.3085114360E-002 -2.3304812610E-001 -5.8785565197E-002 +9.0499989688E-002 +8.8953927159E-002 -2.2060240805E-001 +7.3997803032E-002 -7.0427820086E-002 559 | 109600000000.000 -8.3638064563E-002 -1.0351689160E-001 +9.9459357560E-002 +4.7960728407E-002 -2.1966446936E-001 -1.1188956350E-001 +1.0817387141E-002 -1.2130098045E-001 560 | 109800000000.000 +5.1068149507E-002 -1.3186191022E-001 +6.5360240638E-002 -8.7431810796E-002 -3.3411968499E-002 +2.4455374479E-001 -2.3189740255E-002 -1.1513367295E-001 561 | 110000000000.000 -1.1837941594E-002 -2.4621145427E-001 -6.5175192431E-003 -1.0755110532E-001 +1.7282596231E-001 -1.6043128073E-001 -4.7749407589E-002 -4.9998324364E-002 562 | 110200000000.000 +1.0496661998E-002 -1.9050724804E-001 -9.4790048897E-002 -5.6716296822E-002 -2.0958657563E-001 -2.3077560589E-002 -1.4604131691E-002 -7.0827782154E-002 563 | 110400000000.000 -4.0739312768E-002 -1.5024538338E-001 -9.5320835710E-002 +5.0804819912E-002 +1.0199230164E-001 +1.9025650620E-001 -5.8434393257E-002 -7.2906151414E-002 564 | 110600000000.000 +2.8953731060E-002 -1.5527611971E-001 +4.0916311555E-003 +1.0500674695E-001 +1.0580726713E-001 -1.8434920907E-001 -8.3991736174E-002 -8.6844205856E-002 565 | 110800000000.000 -4.7763921320E-002 -1.9220897555E-001 +9.4948373735E-002 +4.3108705431E-002 -2.1272839606E-001 -1.9079029560E-002 -9.6978828311E-002 -1.9036179408E-002 566 | 111000000000.000 -3.7727069110E-002 -1.7693309486E-001 +8.3469606936E-002 -6.7752964795E-002 +1.0060707480E-001 +1.9989731908E-001 -6.3070267439E-002 -4.4789884239E-002 567 | 111200000000.000 -7.8669831157E-002 -1.5365538001E-001 -7.8001962975E-003 -1.0422407091E-001 +8.5696645081E-002 -2.1033710241E-001 -7.2585627437E-002 -5.1609762013E-002 568 | 111400000000.000 -3.8379833102E-002 -2.0305697620E-001 -7.6479323208E-002 -6.3963793218E-002 -1.9683088362E-001 +9.6172347665E-002 -1.3308364153E-001 -6.3948117197E-002 569 | 111600000000.000 -1.4761869609E-001 -1.9738215208E-001 -9.9808588624E-002 -9.1568445787E-003 +2.2391568124E-001 +4.7636892647E-002 -1.3093595207E-001 +1.1844664812E-002 570 | 111800000000.000 -1.4243192971E-001 -1.5073129535E-001 -8.9071214199E-002 +5.7566225529E-002 -1.7773856223E-001 -1.6922397912E-001 -1.0117043555E-001 +1.0300603695E-002 571 | 112000000000.000 -1.2895826995E-001 -1.0531235486E-001 -2.8019515797E-002 +1.0164184123E-001 +5.9038512409E-002 +2.4074035883E-001 -9.6790090203E-002 -1.7115293071E-002 572 | 112200000000.000 -8.7947405875E-002 -1.9373501837E-001 +4.6136587858E-002 +9.0518444777E-002 +9.5116034150E-002 -2.1144336462E-001 -1.5756513178E-001 +1.0071748868E-002 573 | 112400000000.000 -2.2148098052E-001 -2.1654877067E-001 +8.6737692356E-002 +4.9504600465E-002 -2.0188230276E-001 +1.3137897849E-001 -1.2640514970E-001 +6.4037874341E-002 574 | 112600000000.000 -2.8418561816E-001 -1.1440211535E-001 +1.0162667930E-001 +2.9415176250E-003 +2.4007555842E-001 -5.0149507821E-002 -9.1003105044E-002 +5.2476022393E-002 575 | 112800000000.000 -2.2077518702E-001 -1.8578557298E-002 +9.3613691628E-002 -4.4705029577E-002 -2.2828736901E-001 -3.5029754043E-002 -1.2908312678E-001 +2.4950642139E-002 576 | 113000000000.000 -1.3924595714E-001 -1.0336998850E-001 +5.5449921638E-002 -8.5874237120E-002 +1.8024724722E-001 +1.3266414404E-001 -1.4686465263E-001 +9.0192221105E-002 577 | 113200000000.000 -2.7623733878E-001 -1.6776110232E-001 -1.3912795112E-002 -9.5162741840E-002 -6.2000360340E-002 -2.1231259406E-001 -1.0809709877E-001 +1.2204861641E-001 578 | 113400000000.000 -3.5168141127E-001 -3.6278951913E-002 -8.7375998497E-002 -4.3745342642E-002 -1.3392499089E-001 +1.6542336345E-001 -6.1205964535E-002 +9.5399327576E-002 579 | 113600000000.000 -3.0057382584E-001 +4.7059092671E-002 -7.6290965080E-002 +6.5129518509E-002 +1.9927673042E-001 +4.3901894242E-002 -1.2064386159E-001 +8.6361631751E-002 580 | 113800000000.000 -2.1704860032E-001 +3.2502301037E-002 +9.7623141482E-003 +9.8237462342E-002 -8.7168790400E-002 -1.8731893599E-001 -9.8660476506E-002 +1.4518816769E-001 581 | 114000000000.000 -3.1102588773E-001 -1.8887994811E-002 +6.7358523607E-002 +6.5135881305E-002 -4.0351193398E-002 +1.9494688511E-001 -7.5373768806E-002 +1.6723044217E-001 582 | 114200000000.000 -3.1689387560E-001 +1.0159674287E-001 +9.0067267418E-002 +3.2635256648E-002 +1.2647134066E-001 -1.5503032506E-001 -1.5394004993E-002 +1.4736759663E-001 583 | 114400000000.000 -3.0057656765E-001 +1.0912203789E-001 +9.5887683332E-002 -1.7323669046E-002 -1.8219770491E-001 +8.9133791625E-002 -5.4349511862E-002 +1.3545037806E-001 584 | 114600000000.000 -2.6655051112E-001 +1.5070684254E-001 +5.9832468629E-002 -7.4845038354E-002 +1.9720610976E-001 +4.3686568737E-002 -3.0079543591E-002 +1.5327611566E-001 585 | 114800000000.000 -3.1187155843E-001 +1.7187559605E-001 -3.4233752638E-002 -8.4474548697E-002 -6.0553550720E-002 -1.8205277622E-001 -3.2073568553E-002 +1.9243602455E-001 586 | 115000000000.000 -2.2862534225E-001 +2.6667764783E-001 -9.0965114534E-002 -1.8871104345E-002 -1.4052851498E-001 +1.4166347682E-001 +5.2770216018E-002 +1.8351648748E-001 587 | 115200000000.000 -2.0044200122E-001 +2.1889527142E-001 -7.9186812043E-002 +6.1422061175E-002 +2.1720474958E-001 -5.9784419136E-004 +4.4597819448E-002 +1.4097209275E-001 588 | 115400000000.000 -1.8647892773E-001 +2.4293860793E-001 -2.0787199959E-002 +1.0020834208E-001 -1.8896014988E-001 -1.2409248203E-001 +3.8350719959E-002 +1.2338890135E-001 589 | 115600000000.000 -2.1420951188E-001 +2.7506199479E-001 +3.9777036756E-002 +9.1397032142E-002 +1.0189855099E-001 +1.9819688797E-001 +3.2402612269E-002 +1.7432962358E-001 590 | 115800000000.000 -1.3257768750E-001 +3.5732004046E-001 +9.1881677508E-002 +3.7791568786E-002 +7.1424759924E-002 -2.1679860353E-001 +1.0612487048E-001 +1.5130583942E-001 591 | 116000000000.000 -5.3115215153E-002 +3.3307278156E-001 +6.2890805304E-002 -8.2301653922E-002 -2.4238061905E-001 +8.1867538393E-003 +9.6801035106E-002 +1.0922506452E-001 592 | 116200000000.000 -2.0403359085E-003 +2.8246739507E-001 -9.4331733882E-002 -4.6908196062E-002 +1.1035538046E-003 +2.4835444987E-001 +8.3010353148E-002 +1.1134430766E-001 593 | 116400000000.000 -6.6857561469E-002 +2.4222953618E-001 -4.0389467031E-002 +9.6967212856E-002 +2.4279688299E-001 -1.6900818795E-002 +1.1723791808E-001 +1.1818036437E-001 594 | 116600000000.000 -5.4241221398E-002 +3.6347123981E-001 +8.1728465855E-002 +5.9311013669E-002 -9.8122358322E-002 -2.2312574089E-001 +1.3006883860E-001 +7.5049653649E-002 595 | 116800000000.000 +8.8339559734E-002 +3.6128148437E-001 +9.6729077399E-002 -2.4236965925E-002 -8.7974533439E-002 +2.2197830677E-001 +9.6425592899E-002 +5.3905222565E-002 596 | 117000000000.000 +1.4901253581E-001 +2.5771144032E-001 +6.7042581737E-002 -7.4233591557E-002 +1.7745000124E-001 -1.4120230079E-001 +1.0877034068E-001 +1.0286430269E-001 597 | 117200000000.000 +7.1583755314E-002 +1.7512035370E-001 +1.4958851971E-002 -9.9759101868E-002 -2.2372007370E-001 +2.3008268327E-002 +1.6215935349E-001 +5.0482384861E-002 598 | 117400000000.000 +4.5090585947E-002 +2.9264119267E-001 -7.1810498834E-002 -6.8779811263E-002 +1.6902902722E-001 +1.5394008160E-001 +1.3613533974E-001 +1.0207566433E-002 599 | 117600000000.000 +1.8557518721E-001 +2.6698967814E-001 -9.4129972160E-002 +2.8853338212E-002 +3.9992608130E-002 -2.1281479299E-001 +7.9823635519E-002 -6.1816722155E-003 600 | 117800000000.000 +1.8484398723E-001 +1.6722598672E-001 -3.6451205611E-002 +9.4620779157E-002 -1.8524293602E-001 +1.0779623687E-001 +9.7026593983E-002 +7.2697795928E-002 601 | 118000000000.000 +1.2031229585E-001 +1.3159692287E-001 +2.1632123739E-002 +9.7783327103E-002 +2.1786406636E-001 -4.8965099268E-003 +1.5275301039E-001 +2.0127229393E-002 602 | 118200000000.000 +1.3207812607E-001 +2.2403030097E-001 +4.8776865005E-002 +8.2755096257E-002 -2.0870822668E-001 -3.8702804595E-002 +1.4856122434E-001 -1.8979614601E-002 603 | 118400000000.000 +2.3138953745E-001 +1.3642957807E-001 +6.7185811698E-002 +6.5090462565E-002 +1.7907215655E-001 +1.0247493535E-001 +8.3389773965E-002 -5.6976918131E-002 604 | 118600000000.000 +1.5971778333E-001 +8.8712379336E-002 +9.8331145942E-002 +3.5490321461E-003 -7.9200491309E-002 -2.0654749870E-001 +7.4972815812E-002 +1.2710599229E-002 605 | 118800000000.000 +1.3440895081E-001 +9.5355533063E-002 +2.7772583067E-002 -9.2902071774E-002 -1.5921117365E-001 +1.5789788961E-001 +1.0880748928E-001 +2.8305158485E-003 606 | 119000000000.000 +1.8065656722E-001 +1.6002327204E-001 -8.0790907145E-002 -4.1145879775E-002 +1.8609617651E-001 +1.0375371575E-001 +1.4309169352E-001 -3.2947313040E-002 607 | 119200000000.000 +2.3566982150E-001 +4.4097181410E-002 -7.5019359589E-002 +4.4497523457E-002 +7.0740384981E-003 -2.1096457541E-001 +8.4991201758E-002 -7.9403899610E-002 608 | 119400000000.000 +1.6418546438E-001 +2.5504076853E-002 -4.0444266051E-002 +8.2462020218E-002 -1.2490337342E-001 +1.8923921883E-001 +6.5200828016E-002 -4.3273154646E-002 609 | 119600000000.000 +1.2748833001E-001 +2.0549461246E-002 -1.6035186127E-002 +9.0998791158E-002 +1.5751238167E-001 -1.7281931639E-001 +7.4449390173E-002 -2.8062436730E-002 610 | 119800000000.000 +1.6412182152E-001 +9.2829756439E-002 +1.1559459381E-002 +8.9339621365E-002 -1.8358175457E-001 +1.3493019342E-001 +1.0297508538E-001 -5.7891726494E-002 611 | 120000000000.000 +2.0992591977E-001 +6.3455668278E-003 +6.5786801279E-002 +5.9460084885E-002 +2.2832207382E-001 +1.7899852246E-002 +6.7848376930E-002 -7.8590936959E-002 612 | 120200000000.000 +1.7512515187E-001 -2.5263950229E-002 +8.5330389440E-002 -3.3059243113E-002 -1.0359185934E-001 -2.1073196828E-001 +5.2731845528E-002 -7.4697993696E-002 613 | 120400000000.000 +1.2157998234E-001 -3.8070600480E-002 +4.5191296376E-003 -9.2951595783E-002 -1.3552023470E-001 +1.9599328935E-001 +5.0053700805E-002 -6.4932033420E-002 614 | 120600000000.000 +1.4340990782E-001 +1.4620102011E-002 -5.6505810469E-002 -7.5344234705E-002 +2.2116295993E-001 -8.5568711162E-002 +4.3029539287E-002 -7.9538442194E-002 615 | 120800000000.000 +1.8063537776E-001 -3.2665587962E-002 -7.1836784482E-002 -6.1012145132E-002 -2.3522061110E-001 +5.5172853172E-002 +3.3103417605E-002 -7.0494055748E-002 616 | 121000000000.000 +1.5718838573E-001 -8.3454206586E-002 -7.5033411384E-002 -5.7554088533E-002 +2.3111556470E-001 -6.6871948540E-002 +3.3822052181E-002 -7.1381010115E-002 617 | 121200000000.000 +1.1170575768E-001 -8.4299191833E-002 -9.2308714986E-002 -2.4828229100E-002 -2.3382745683E-001 -5.8572908165E-004 +3.5868640989E-002 -9.2755816877E-002 618 | 121400000000.000 +1.1763431877E-001 -6.1349160969E-002 -6.8517908454E-002 +6.5847136080E-002 +1.3624750078E-001 +1.8458703160E-001 -1.7747209640E-003 -1.0115966201E-001 619 | 121600000000.000 +1.5171158314E-001 -1.1616031826E-001 +4.9002449960E-002 +7.7762059867E-002 +1.3759973645E-001 -1.7962223291E-001 -2.7696879581E-002 -8.4271982312E-002 620 | 121800000000.000 +6.5466523170E-002 -1.5479993820E-001 +9.2073835433E-002 -1.0925807059E-002 -2.2355329990E-001 -3.6863759160E-002 -1.8261011690E-002 -4.2322542518E-002 621 | 122000000000.000 +4.6997155994E-002 -1.1480481178E-001 +6.3795097172E-002 -6.9459863007E-002 +1.6191130877E-001 +1.5331953764E-001 +8.9351832867E-003 -7.6357036829E-002 622 | 122200000000.000 +5.8923207223E-002 -8.6775161326E-002 +2.9012007639E-002 -8.5644252598E-002 -1.0567713529E-001 -1.8725229800E-001 -2.3788060993E-002 -9.4188079238E-002 623 | 122400000000.000 +9.1918766499E-002 -1.7800416052E-001 -6.3869422302E-003 -8.3423532546E-002 +2.4381082505E-002 +2.0065610111E-001 -7.6056778431E-002 -8.2779675722E-002 624 | 122600000000.000 -3.2591551542E-002 -1.8704907596E-001 -7.1798816323E-002 -4.6790804714E-002 +1.5620699525E-001 -1.3483580947E-001 -6.1800364405E-002 -1.4467430301E-002 625 | 122800000000.000 -4.7979786992E-002 -1.3810063899E-001 -4.4274423271E-002 +7.7631250024E-002 -1.4802582562E-001 -1.5619842708E-001 -2.9065547511E-002 -4.0307007730E-002 626 | 123000000000.000 -2.4883158505E-002 -8.1535451114E-002 +8.4029987454E-002 +2.2068258375E-002 -1.7450609803E-001 +1.2557384372E-001 -4.0662474930E-002 -5.8051761240E-002 627 | 123200000000.000 +4.0899193846E-003 -1.8495351076E-001 +3.7738084793E-002 -7.2885133326E-002 +1.5615923703E-001 +1.3211512566E-001 -9.1736875474E-002 -5.0094205886E-002 628 | 123400000000.000 -1.0830926895E-001 -1.8060673773E-001 -2.1559927613E-002 -8.2151167095E-002 -1.8551073968E-002 -2.0984809101E-001 -7.4972815812E-002 -1.4096390805E-004 629 | 123600000000.000 -1.5404096246E-001 -1.4613372087E-001 -5.3104519844E-002 -6.9009363651E-002 -5.0124116242E-002 +2.1602423489E-001 -6.6794313490E-002 -1.3162662275E-002 630 | 123800000000.000 -1.4435259998E-001 -6.1855874956E-002 -8.3429634571E-002 -3.2359831035E-002 +1.4338518679E-001 -1.7493279278E-001 -7.7028080821E-002 -4.8571843654E-003 631 | 124000000000.000 -1.2328661978E-001 -1.1359049380E-001 -6.6390067339E-002 +6.1656385660E-002 -2.2397015989E-001 -2.7409937233E-002 -8.2064382732E-002 +1.1249937117E-002 632 | 124200000000.000 -1.8350273371E-001 -9.6523970366E-002 +6.2361225486E-002 +6.7268930376E-002 -2.0064390264E-003 +2.2397808731E-001 -7.8152954578E-002 +2.6237355545E-002 633 | 124400000000.000 -2.1335098147E-001 -5.9465888888E-002 +7.1229919791E-002 -5.8726776391E-002 +2.1747189760E-001 -3.4873034805E-002 -7.2296179831E-002 +2.4973697960E-002 634 | 124600000000.000 -2.1753291786E-001 -1.9004328176E-002 -7.1650086902E-003 -9.2686444521E-002 -1.6360951960E-001 -1.3289284706E-001 -8.9989744127E-002 +5.4636280984E-002 635 | 124800000000.000 -2.1134527028E-001 +1.0490112007E-002 -4.7177437693E-002 -8.0448314548E-002 +1.0628172010E-001 +1.8147534132E-001 -5.5857334286E-002 +5.8779124171E-002 636 | 125000000000.000 -2.3474459350E-001 +2.6033267379E-002 -6.6926091909E-002 -6.2474884093E-002 -6.8903468549E-002 -1.8966694176E-001 -6.8803861737E-002 +7.5701333582E-002 637 | 125200000000.000 -2.0318298042E-001 +7.6244600117E-002 -9.1236598790E-002 -3.8960492238E-003 -5.8213360608E-002 +1.9150598347E-001 -4.4031433761E-002 +6.5932162106E-002 638 | 125400000000.000 -2.3962895572E-001 +7.2183243930E-002 -2.5656444952E-002 +8.3551496267E-002 +1.9011248648E-001 -1.4445532113E-002 -5.8967046440E-002 +9.8449416459E-002 639 | 125600000000.000 -2.0301121473E-001 +1.3251969218E-001 +8.0893099308E-002 +2.7336645871E-002 -2.4267513305E-002 -1.8806870282E-001 -2.8884761035E-002 +8.5940107703E-002 640 | 125800000000.000 -2.3511025310E-001 +1.5676485002E-001 +5.4770693183E-002 -5.8842215687E-002 -1.4935874939E-001 +1.0480210930E-001 -3.4212168306E-002 +1.2488120794E-001 641 | 126000000000.000 -1.4863029122E-001 +2.0714108646E-001 +2.7594411746E-002 -7.5041212142E-002 +1.8872243166E-001 -2.6486305520E-002 +1.3043440878E-002 +1.0161849856E-001 642 | 126200000000.000 -1.7052568495E-001 +1.9777955115E-001 +2.6624906808E-002 -7.6513461769E-002 -1.9214895368E-001 +4.5001752675E-002 -9.8692928441E-004 +1.0970463604E-001 643 | 126400000000.000 -9.9764175713E-002 +2.0655485988E-001 +2.3143472150E-002 -7.5944513083E-002 +1.9753783941E-001 -5.2014324814E-002 +1.2678555213E-002 +1.0523390770E-001 644 | 126600000000.000 -1.6582092643E-001 +2.2846330702E-001 -1.8295463175E-002 -7.2851657867E-002 -1.9604666531E-001 -3.8343112916E-002 +3.7018645555E-002 +1.3566218317E-001 645 | 126800000000.000 -7.2690643370E-002 +2.8850084543E-001 -6.1817120761E-002 -4.2992748320E-002 +1.1605671793E-001 +1.7100313306E-001 +7.5068429112E-002 +9.6385762095E-002 646 | 127000000000.000 -4.4172339141E-002 +2.8682336211E-001 -7.7538013458E-002 +1.5068508685E-002 +1.9669177011E-002 -2.1968579292E-001 +5.9929087758E-002 +8.2715190947E-002 647 | 127200000000.000 +3.0548211187E-002 +2.4673345685E-001 -7.3272079229E-002 +3.2271314412E-002 -4.8237454146E-002 +2.1948142350E-001 +6.8865939975E-002 +9.1738283634E-002 648 | 127400000000.000 -1.9288269803E-002 +2.3854477704E-001 -8.2111530006E-002 +1.4989315532E-002 -3.1134054065E-002 -2.2168654203E-001 +9.0639822185E-002 +7.4676305056E-002 649 | 127600000000.000 +2.5997191668E-002 +2.7819067240E-001 -8.2430675626E-002 -1.6409436241E-002 +1.3785313070E-001 +1.7489308119E-001 +9.5183119178E-002 +5.8978207409E-002 650 | 127800000000.000 +8.4851130843E-002 +2.7560120821E-001 -8.2701772451E-002 +1.5056647360E-002 -8.7580785155E-002 -1.9886641204E-001 +7.6611503959E-002 +4.3590314686E-002 651 | 128000000000.000 +1.1520428210E-001 +2.3432715237E-001 -1.2073789723E-002 +8.5007295012E-002 -1.3505356014E-001 +1.5194259584E-001 +1.0775464028E-001 +6.4782768488E-002 652 | 128200000000.000 +1.2555769086E-001 +2.0781552792E-001 +8.4610104561E-002 -1.3574358076E-002 +1.1326576769E-001 +1.6319166124E-001 +1.0461355746E-001 +1.5235533006E-002 653 | 128400000000.000 +1.3897931576E-001 +2.2462578118E-001 -1.6970936209E-002 -8.1674948335E-002 +1.4783172309E-001 -1.1782377213E-001 +1.0714624822E-001 +1.7932472751E-002 654 | 128600000000.000 +1.9125312567E-001 +1.5907016397E-001 -7.5820982456E-002 -3.1046694145E-002 -1.7391218245E-001 -5.7943262160E-002 +7.7017277479E-002 +6.5109808929E-004 655 | 128800000000.000 +1.5841595829E-001 +1.6185911000E-001 -8.1640385091E-002 +1.3924716972E-002 +1.3061739504E-001 +1.2476151437E-001 +1.1347946525E-001 +2.2329267114E-002 656 | 129000000000.000 +1.8020072579E-001 +1.2533432245E-001 -5.3377866745E-002 +5.7555951178E-002 -3.3584602177E-002 -1.7578484118E-001 +9.8806671798E-002 -2.0844820887E-002 657 | 129200000000.000 +2.0078957081E-001 +1.6129940748E-001 +3.2801542431E-002 +6.9172129035E-002 -1.4255777001E-001 +9.9372677505E-002 +1.0658169538E-001 -2.6279954240E-002 658 | 129400000000.000 +2.3176006973E-001 +6.0782853514E-002 +6.6532529891E-002 -3.2994136214E-002 +8.7166517973E-002 +1.5471269190E-001 +6.7910887301E-002 -4.1968826205E-002 659 | 129600000000.000 +1.9812278450E-001 +7.7322177589E-002 -4.4512521476E-002 -6.2061119825E-002 +1.7260879278E-001 -7.5652003288E-002 +8.2906194031E-002 -2.7737030759E-002 660 | 129800000000.000 +1.9947049022E-001 +2.7561608702E-002 -7.3363237083E-002 +1.8359666690E-002 -1.4614591002E-001 -1.2859702110E-001 +6.8292625248E-002 -3.3453047276E-002 661 | 130000000000.000 +2.1243052185E-001 +5.0462033600E-002 -4.5894965529E-002 +5.9874810278E-002 +5.4056882858E-002 +1.9205051661E-001 +9.0784445405E-002 -4.4919874519E-002 662 | 130200000000.000 +2.0633751154E-001 -1.2511273846E-002 +1.2511119246E-002 +7.8887999058E-002 +8.6741112173E-002 -1.6436073184E-001 +7.0517800748E-002 -6.4016722143E-002 663 | 130400000000.000 +2.1475432813E-001 -1.7876617610E-002 +5.0690587610E-002 +6.3784815371E-002 -1.5596821904E-001 +1.1343260854E-001 +5.4761320353E-002 -7.2997897863E-002 664 | 130600000000.000 +1.8226012588E-001 -7.4259184301E-002 +7.7016472816E-002 +2.8741635382E-002 +1.9952076674E-001 -2.8744960204E-002 +4.4065080583E-002 -6.8663120270E-002 665 | 130800000000.000 +1.5616160631E-001 -6.2885679305E-002 +8.0256648362E-002 -2.9645822942E-002 -1.8146044016E-001 -1.0143719614E-001 +2.9283629730E-002 -6.8743415177E-002 666 | 131000000000.000 +1.5736842155E-001 -5.4391235113E-002 +2.9261583462E-002 -8.4104754031E-002 +6.2501773238E-002 +2.0891873538E-001 +4.3049409986E-002 -7.2418555617E-002 667 | 131200000000.000 +1.7900890112E-001 -9.5731988549E-002 -5.8661542833E-002 -6.9926045835E-002 +1.2351173908E-001 -1.8801219761E-001 +1.0166402906E-002 -8.2721173763E-002 668 | 131400000000.000 +1.4460375905E-001 -1.3119700551E-001 -9.0313702822E-002 +1.6172710806E-002 -2.2236943245E-001 +2.8386255726E-002 +8.4642507136E-003 -8.9342549443E-002 669 | 131600000000.000 +8.5110053420E-002 -1.4416833222E-001 -3.9803523570E-002 +8.0460153520E-002 +1.6056856513E-001 +1.3974051178E-001 -2.8380507603E-002 -5.5507641286E-002 670 | 131800000000.000 +9.0172715485E-002 -9.4791330397E-002 +3.0534436926E-002 +8.6737215519E-002 -2.9711201787E-002 -2.1632793546E-001 +4.3739909306E-003 -6.5467298031E-002 671 | 132000000000.000 +8.0734543502E-002 -1.2069702893E-001 +8.0517977476E-002 +4.5473288745E-002 -9.4264164567E-002 +1.9502474368E-001 -1.8641842529E-002 -5.0304308534E-002 672 | 132200000000.000 +1.0406869650E-001 -1.2348297983E-001 +9.1442473233E-002 -1.5099133365E-002 +1.7158392072E-001 -1.2203328311E-001 -1.9017135724E-002 -8.1892535090E-002 673 | 132400000000.000 +4.8586118966E-002 -1.5232786536E-001 +5.8992467821E-002 -6.5502844751E-002 -1.9955627620E-001 +1.1016056873E-002 -4.3968159705E-002 -3.7628389895E-002 674 | 132600000000.000 +5.4203018546E-002 -1.4980036020E-001 +1.9134975737E-003 -8.6358129978E-002 +1.6364140809E-001 +1.0323225707E-001 -3.9573617280E-002 -4.9476917833E-002 675 | 132800000000.000 +2.6761114132E-003 -1.2724792957E-001 -5.8411415666E-002 -6.1236519367E-002 -4.8370879143E-002 -1.8424631655E-001 -2.9685849324E-002 -1.7964947969E-002 676 | 133000000000.000 +4.8711281270E-002 -1.2897613645E-001 -8.4871321917E-002 +6.1539178714E-003 -9.6095569432E-002 +1.6739068925E-001 -3.5299319774E-002 -4.2484749109E-002 677 | 133200000000.000 +2.4375999346E-002 -1.3866445422E-001 -4.7385837883E-002 +6.8249337375E-002 +1.7960461974E-001 -4.2961154133E-002 -2.6851862669E-002 -2.6445908472E-002 678 | 133400000000.000 +1.3790376484E-002 -1.8124173582E-001 +2.1950727329E-002 +7.7945724130E-002 -1.5031896532E-001 -9.8381400108E-002 -4.6505473554E-002 -3.3517386764E-002 679 | 133600000000.000 -3.6987248808E-002 -1.5152023733E-001 +7.2579875588E-002 +3.4581813961E-002 +3.2042399049E-002 +1.7554293573E-001 -2.9051043093E-002 -2.4754846469E-002 680 | 133800000000.000 -4.5788090676E-002 -1.4150194824E-001 +7.2704896331E-002 -3.3260166645E-002 +1.0763726383E-001 -1.4980030060E-001 -4.9738444388E-002 -2.9425302520E-002 681 | 134000000000.000 -2.6167016476E-002 -1.0420881212E-001 +1.9606797025E-002 -7.6939612627E-002 -1.8204559386E-001 +2.5482395664E-002 -4.4322557747E-002 -2.2517682984E-002 682 | 134200000000.000 -1.5876600519E-002 -1.4546424150E-001 -5.0897080451E-002 -5.9732541442E-002 +1.3135938346E-001 +1.2248317152E-001 -4.5553978533E-002 -1.0155699216E-002 683 | 134400000000.000 -3.6175455898E-002 -1.7280244827E-001 -7.6356686652E-002 +1.2732661329E-002 +2.3071942851E-002 -1.7595015466E-001 -4.8432186246E-002 -3.2804798335E-002 684 | 134600000000.000 -1.1514689028E-001 -1.7510367930E-001 -2.7247818187E-002 +7.3073193431E-002 -1.6528534889E-001 +7.4994973838E-002 -7.5304865837E-002 -4.0847486816E-003 685 | 134800000000.000 -1.2767855823E-001 -1.0778985918E-001 +5.2629634738E-002 +6.0168616474E-002 +1.5757837892E-001 +9.7957693040E-002 -6.1783414334E-002 +1.1570649222E-002 686 | 135000000000.000 -1.0303658992E-001 -8.3266399801E-002 +7.6997704804E-002 -1.7844792455E-002 -8.9307501912E-003 -1.8373245001E-001 -3.8150779903E-002 +5.5392030627E-003 687 | 135200000000.000 -7.6539225876E-002 -1.2498486042E-001 +8.9881839231E-003 -7.5233608484E-002 -1.7013899982E-001 +9.1464571655E-002 -7.4129082263E-002 -1.5895642340E-002 688 | 135400000000.000 -1.4796538651E-001 -1.5196941793E-001 -5.7029496878E-002 -5.0818037242E-002 +1.8359099329E-001 +7.5926937163E-002 -8.3739340305E-002 +2.4766601622E-002 689 | 135600000000.000 -2.0179773867E-001 -1.0146899521E-001 -7.4700579047E-002 +1.8700016662E-002 -6.3521154225E-002 -1.8406152725E-001 -6.7280173302E-002 +5.1531139761E-002 690 | 135800000000.000 -1.8409612775E-001 -3.7639390677E-002 -2.3266069591E-002 +7.3267340660E-002 -1.0562093556E-001 +1.5689362586E-001 -4.1657071561E-002 +2.7480224147E-002 691 | 136000000000.000 -1.4894354343E-001 -4.5155715197E-002 +5.5019930005E-002 +5.4097432643E-002 +1.8523798883E-001 +6.7202667706E-003 -7.3024146259E-002 +4.0172737092E-002 692 | 136200000000.000 -1.6160564125E-001 -8.2613997161E-002 +7.0669993758E-002 -2.8435181826E-002 -8.7925560772E-002 -1.6483002901E-001 -6.0227602720E-002 +5.6206792593E-002 693 | 136400000000.000 -2.3988479376E-001 -6.0078240931E-002 +2.6242884342E-003 -7.5052581728E-002 -9.7321555018E-002 +1.5133175254E-001 -3.9936922491E-002 +7.0940196514E-002 694 | 136600000000.000 -2.3962168396E-001 +4.0955580771E-003 -6.5774247050E-002 -3.5317961127E-002 +1.7266979814E-001 +7.7425227500E-003 -5.1924388856E-002 +4.5374564826E-002 695 | 136800000000.000 -2.1867683530E-001 +5.1076471806E-002 -6.2631256878E-002 +3.5583615303E-002 -9.0197734535E-002 -1.4636701345E-001 -5.4217934608E-002 +9.2277742922E-002 696 | 137000000000.000 -1.9506813586E-001 +2.0163392648E-002 -1.4174208976E-002 +6.8853557110E-002 -4.4911984354E-002 +1.7152644694E-001 -2.9725864530E-002 +9.4131775200E-002 697 | 137200000000.000 -2.4430592358E-001 +6.9876648486E-002 +3.5462170839E-002 +6.0498662293E-002 +1.4394217730E-001 -1.0273404419E-001 +4.6815760434E-003 +9.6162751317E-002 698 | 137400000000.000 -2.1185535192E-001 +9.7473353148E-002 +6.7688256502E-002 +2.4982552975E-002 -1.8213114142E-001 -4.8196641728E-003 -1.0603510775E-002 +6.3170894980E-002 699 | 137600000000.000 -2.0407296717E-001 +1.2755648792E-001 +6.7206382751E-002 -2.4166170508E-002 +1.5238760412E-001 +1.0976925492E-001 -1.4753377996E-002 +9.2226505280E-002 700 | 137800000000.000 -2.1694761515E-001 +1.2752994895E-001 +3.4978773445E-002 -6.1341755092E-002 -6.1733648181E-002 -1.8033106625E-001 -4.7916104086E-003 +1.1036834121E-001 701 | 138000000000.000 -2.0022730529E-001 +2.2271275520E-001 -1.2675426900E-002 -6.7578986287E-002 -6.3647821546E-002 +1.8262629211E-001 +4.6922609210E-002 +1.1784169823E-001 702 | 138200000000.000 -1.2197422236E-001 +2.1256819367E-001 -5.3008217365E-002 -4.7354318202E-002 +1.6724956036E-001 -1.1533120275E-001 +6.2059529126E-002 +7.3194265366E-002 703 | 138400000000.000 -1.2267794460E-001 +1.9588822126E-001 -7.3206961155E-002 -8.0055771396E-003 -2.1360293031E-001 +2.0787140355E-002 +3.6163076758E-002 +5.8369111270E-002 704 | 138600000000.000 -1.4228610694E-001 +2.2853696346E-001 -6.7193448544E-002 +3.1746901572E-002 +2.1509920061E-001 +6.3642218709E-002 +3.3500541002E-002 +8.9005865157E-002 705 | 138800000000.000 -9.2737227678E-002 +2.9678571224E-001 -4.2943373322E-002 +5.8520156890E-002 -1.8420000374E-001 -1.2886878848E-001 +7.5733289123E-002 +1.0104078054E-001 706 | 139000000000.000 -3.7133584265E-003 +2.8963062167E-001 -1.0110642761E-002 +6.9682568312E-002 +1.1547242850E-001 +1.8213161826E-001 +1.1041209102E-001 +4.8930823803E-002 707 | 139200000000.000 +1.1896310374E-002 +2.4275743961E-001 +3.2534055412E-002 +6.3951782882E-002 -2.6522600092E-003 -2.2003671527E-001 +6.7285649478E-002 +3.0899254605E-002 708 | 139400000000.000 +2.7669247240E-002 +2.4936014414E-001 +7.0646278560E-002 +1.7494305968E-002 -1.4203022420E-001 +1.7135323584E-001 +8.1720456481E-002 +3.9311926812E-002 709 | 139600000000.000 +1.7989747226E-002 +2.5187280774E-001 +4.8623897135E-002 -5.4017510265E-002 +2.2174745798E-001 +2.9867060948E-003 +8.3358392119E-002 +4.4601574540E-002 710 | 139800000000.000 +9.6019655466E-002 +2.8327274323E-001 -2.7921147645E-002 -6.1820983887E-002 -1.0960967839E-001 -1.7362622917E-001 +1.0089632124E-001 +4.1428776458E-003 711 | 140000000000.000 +1.2694391608E-001 +2.4527050555E-001 -6.6164582968E-002 -7.8231049702E-003 -7.5121104717E-002 +1.8272511661E-001 +7.9809837043E-002 +2.0372031257E-002 712 | 140200000000.000 +1.8866066635E-001 +1.9923219085E-001 -4.6785984188E-002 +4.1261304170E-002 +1.7039255798E-001 -7.4608653784E-002 +1.0809639841E-001 -1.8984410912E-002 713 | 140400000000.000 +1.4202922583E-001 +1.6018563509E-001 -1.6803782433E-002 +6.0673713684E-002 -1.8555982411E-001 -3.4007523209E-002 +7.9400658607E-002 -1.8733056262E-002 714 | 140600000000.000 +1.9009791315E-001 +1.5833406150E-001 +1.4382248744E-002 +5.9944365174E-002 +1.5085260570E-001 +1.0371860862E-001 +7.3990330100E-002 -4.2620573193E-002 715 | 140800000000.000 +1.6912877560E-001 +1.2936665118E-001 +4.2963456362E-002 +4.6826034784E-002 -8.9479319751E-002 -1.6240294278E-001 +6.1001788825E-002 -5.7151899673E-003 716 | 141000000000.000 +1.9357144833E-001 +1.0659716278E-001 +5.9939559549E-002 +7.6046478935E-003 -1.2450926006E-002 +1.8094360828E-001 +9.6340171993E-002 -3.9871968329E-002 717 | 141200000000.000 +1.8956236541E-001 +1.1909928918E-001 +4.2541842908E-002 -4.0964446962E-002 +1.3750806451E-001 -1.0794104636E-001 +7.9655610025E-002 -6.6759996116E-002 718 | 141400000000.000 +2.4712993205E-001 +4.8210609704E-002 -1.1952708475E-002 -5.4371125996E-002 -1.5314272046E-001 -6.2222883105E-002 +3.8313597441E-002 -9.3815356493E-002 719 | 141600000000.000 +1.7590816319E-001 -6.3779903576E-003 -5.4078191519E-002 -2.3373100907E-002 +2.6131896302E-002 +1.7235705256E-001 +1.6375408741E-003 -5.0036780536E-002 720 | 141800000000.000 +1.3143499196E-001 +2.8244862333E-002 -5.5744498968E-002 +2.9454782605E-002 +1.0964848846E-001 -1.5381923318E-001 +4.4917184860E-002 -2.9994811863E-002 721 | 142000000000.000 +1.8537124991E-001 +8.8106028736E-002 -1.9870676100E-002 +6.1563070863E-002 -1.7593589425E-001 +6.8621844053E-002 +5.2328817546E-002 -8.0862171948E-002 722 | 142200000000.000 +2.5735375285E-001 -3.2072260510E-003 +2.0010741428E-002 +5.7076539844E-002 +1.7707225680E-001 +2.6250177994E-002 +2.4268124253E-003 -1.0521347076E-001 723 | 142400000000.000 +1.8522149324E-001 -9.1582700610E-002 +4.7772698104E-002 +3.2794617116E-002 -1.1393482238E-001 -1.2433948368E-001 -5.3940575570E-002 -6.4265310764E-002 724 | 142600000000.000 +9.8842948675E-002 -4.6994790435E-002 +5.9450365603E-002 -1.7973132432E-002 -4.1009221226E-002 +1.7465327680E-001 -1.4044255018E-002 -8.1891193986E-003 725 | 142800000000.000 +1.3377834857E-001 +4.2063407600E-003 -8.3935996518E-003 -6.7490443587E-002 +1.9262123108E-001 -1.6816118732E-002 +2.6598607656E-003 -4.3118223548E-002 726 | 143000000000.000 +1.9144465029E-001 -7.3560746387E-003 -6.6339306533E-002 +1.9968060777E-002 -3.7119533867E-002 -1.9584572315E-001 -6.8372245878E-003 -5.5672135204E-002 727 | 143200000000.000 +1.7898155749E-001 -1.0713691264E-001 +2.6445982978E-002 +5.6979116052E-002 -1.7686785758E-001 +3.5150419921E-002 -5.6776326150E-002 -3.8314130157E-002 728 | 143400000000.000 +1.2236992270E-001 -9.9977955222E-002 +5.8039687574E-002 -1.7686896026E-002 +5.1469907165E-002 +1.6687516868E-001 -2.5946719572E-002 +1.0552607710E-003 729 | 143600000000.000 +7.9975351691E-002 -1.1967098713E-001 +8.0339256674E-003 -6.0046169907E-002 +1.2964661419E-001 -1.1078803986E-001 -2.9831921682E-002 -4.0085073560E-003 730 | 143800000000.000 +6.1074919999E-002 -4.3692301959E-002 -3.8846515119E-002 -5.0580650568E-002 -1.8121477962E-001 -2.3100733757E-002 -8.5979339201E-004 +6.3655711710E-003 731 | 144000000000.000 +9.5624245703E-002 -7.6282709837E-002 -6.4389251173E-002 -1.6596432775E-002 +1.5622913837E-001 +1.1146488786E-001 -2.3754885420E-002 -5.0046751276E-003 732 | 144200000000.000 +1.0033889115E-001 -8.5404068232E-002 -6.2787935138E-002 +2.4251721799E-002 -8.6818344891E-002 -1.6962705553E-001 -4.1267024353E-003 +9.0157575905E-003 733 | 144400000000.000 +2.0232202485E-002 -1.4069315791E-001 -2.5592366233E-002 +6.0235071927E-002 -3.6483526230E-002 +1.7894306779E-001 -1.7125844955E-002 +1.7531769350E-002 734 | 144600000000.000 -7.8750206158E-003 -5.6789789349E-002 +3.4156572074E-002 +5.5829953402E-002 +1.6622164845E-001 -7.6173581183E-002 +1.1446663179E-002 +2.3192817345E-002 735 | 144800000000.000 -1.2582595460E-002 -3.8555126637E-002 +6.5583638847E-002 -3.0913546216E-003 -1.5775991976E-001 -9.5466583967E-002 +7.9763131216E-003 +2.7257928625E-002 736 | 145000000000.000 +3.2276920974E-002 +4.6256300993E-003 +3.9367519319E-002 -5.4224736989E-002 +3.4295257181E-002 +1.8101678789E-001 +4.4361751527E-002 +2.3869553581E-002 737 | 145200000000.000 +6.3276775181E-002 -3.4458953887E-002 -3.7080801558E-003 -6.7250728607E-002 +6.4379900694E-002 -1.7281457782E-001 +3.9924617857E-002 -1.6935879365E-002 738 | 145400000000.000 +4.0381059051E-002 -9.9453344941E-002 -3.0721938238E-002 -5.7555638254E-002 -1.0767526925E-001 +1.4736205339E-001 -1.4825371909E-004 -8.8570257649E-003 739 | 145600000000.000 -6.7407302558E-002 -7.2326630354E-002 -4.4399324805E-002 -4.0503982455E-002 +1.2943492830E-001 -1.1068762839E-001 +1.2616043910E-002 +3.3825024962E-002 740 | 145800000000.000 -5.9080887586E-002 +4.1522640735E-002 -5.1777381450E-002 -1.9143855199E-002 -1.5335500240E-001 +4.0943458676E-002 +6.8280465901E-002 +2.8108242899E-002 741 | 146000000000.000 +5.9170909226E-002 +5.5924836546E-002 -5.3185209632E-002 +1.7434069887E-002 +1.4030650258E-001 +8.8790863752E-002 +6.7867673934E-002 -4.4418398291E-002 742 | 146200000000.000 +7.3035001755E-002 -7.9354032874E-002 -4.2045102455E-003 +6.0877963901E-002 +1.6788201407E-002 -1.8399524689E-001 -1.1530452175E-003 -3.0456978828E-002 743 | 146400000000.000 -7.2654239833E-002 -1.0470671952E-001 +5.8077607304E-002 +9.0505937114E-003 -1.7952299118E-001 +4.4644560665E-002 +1.5416738577E-002 +1.5507913195E-002 744 | 146600000000.000 -1.2890121341E-001 +4.8840343952E-002 +2.3874513805E-002 -4.4777229428E-002 +8.7856329978E-002 +1.3519941270E-001 +7.1709275246E-002 +1.3070411980E-002 745 | 146800000000.000 +8.8352765888E-003 +1.1441399902E-001 -1.2332371436E-002 -5.0512492657E-002 +7.1697846055E-002 -1.4838099480E-001 +6.3514448702E-002 -6.6058598459E-002 746 | 147000000000.000 +7.1467414498E-002 +1.0390189476E-002 -4.1084785014E-002 -4.5542944223E-002 -1.5472818911E-001 +1.0928898305E-001 -6.3409241848E-003 -4.6497289091E-002 747 | 147200000000.000 +2.6242989115E-003 -8.6829535663E-002 -5.8718807995E-002 -3.0686547980E-002 +1.8525707722E-001 -9.1197811067E-002 +3.8969109301E-004 -1.6049787402E-002 748 | 147400000000.000 -1.2485029548E-001 -9.1723129153E-003 -6.3918225467E-002 -1.2231973000E-002 -1.9242770970E-001 +6.3887186348E-002 +2.6528146118E-002 -8.0664893612E-003 749 | 147600000000.000 -6.9643750787E-002 +7.0959635079E-002 -6.3730068505E-002 +1.9724642858E-002 +2.0306824148E-001 +2.8534213081E-002 +1.2247948907E-002 -4.2317427695E-002 750 | 147800000000.000 -2.6526702568E-002 +7.0037573576E-002 -2.3018170148E-002 +6.5609477460E-002 -1.1797810346E-001 -1.7866802216E-001 -7.9229464754E-003 -2.1961264312E-002 751 | 148000000000.000 -2.4670533836E-002 +1.0931156576E-002 +5.6113924831E-002 +4.4984057546E-002 -1.1157087237E-001 +1.9183751941E-001 -1.6668498516E-002 -1.3903802261E-002 752 | 148200000000.000 -8.1011481583E-002 +2.9302082956E-002 +6.3132695854E-002 -3.6065906286E-002 +2.2245234251E-001 +5.1830266602E-003 -8.5321292281E-003 +3.9559118450E-003 753 | 148400000000.000 -1.0184883326E-001 +5.7339679450E-002 +1.4404350892E-002 -7.2338558733E-002 -1.6173729300E-001 -1.5601371229E-001 -8.2116108388E-003 +1.1796725448E-003 754 | 148600000000.000 -8.6592637002E-002 +1.0687617213E-001 -1.8335903063E-002 -7.2255268693E-002 +1.0291880369E-001 +1.9956184924E-001 -1.7530016601E-002 +7.7448985539E-003 755 | 148800000000.000 -7.3058225214E-002 +1.1103910208E-001 -3.0548399314E-002 -6.8773999810E-002 -9.3934237957E-002 -2.0293878019E-001 -2.0566310734E-002 +3.0087590218E-002 756 | 149000000000.000 -4.3618313968E-002 +1.2283548713E-001 -3.8749150932E-002 -6.4975917339E-002 +9.0007066727E-002 +2.0410981774E-001 +3.8598985411E-003 +4.5005351305E-002 757 | 149200000000.000 -4.7041349113E-002 +8.8795036077E-002 -6.2366221100E-002 -4.4851012528E-002 -2.5043716654E-002 -2.2566592693E-001 +9.1258091852E-003 +1.7947746441E-002 758 | 149400000000.000 -8.6578048766E-002 +8.7560184300E-002 -7.3419161141E-002 +2.0471043885E-002 -1.3632695377E-001 +1.7803944647E-001 -2.4781890213E-002 +4.2536582798E-002 759 | 149600000000.000 -1.2953017652E-001 +1.4288789034E-001 -2.8934490401E-003 +7.4403733015E-002 +2.1562780440E-001 +4.8632990569E-002 +3.1931682024E-003 +8.1689856946E-002 760 | 149800000000.000 -6.8810634315E-002 +2.2565078735E-001 +7.0012114942E-002 +2.0817877725E-002 -2.5000451133E-002 -2.1092523634E-001 +5.4587032646E-002 +7.1880124509E-002 761 | 150000000000.000 +6.1612497084E-003 +1.7550337315E-001 +5.1443930715E-002 -5.3250133991E-002 -1.6819769144E-001 +1.3043153286E-001 +3.1632397324E-002 +2.6873463765E-002 762 | --------------------------------------------------------------------------------