function clist = etsi_cablesVDSL(clist);
%% ===========================================================================
%etsi_cablesVDSL(clist) - Sets up the cable models for ETSI
%
% Parameter:    clist          Structure describing the cables
% Returns:      clist          Structure describing the cables
%
% Example(s):
%   ex.clist = etsi_cablesVDSL(ex.clist);            Add to existing clist
%   cableparam = getList(ex.clist,'BT_dwug');    Get BT dwug cable
%
%   ex.clist = etsi_cablesVDSL([]);                  Create a new clist
%   cableparam = getList(ex.clist,'DTAG_04');    Get DTAG 4mm cable
%
% Reference:
%   ETSI VDSL TM6(97)02 (version 01-07-98)
%   ETSI STC TM6 Helsinki 2000 TD18
%   ETSI STC TM6 PD 980p10a5 "Laboratory Performance tests for xDSL
%   systems" (feb 5, 2001)
%   Draft ITU-T Recommendation G.996.1 "Test procedures for DSL tranceivers"
%   W. Henkel, et al. "Update of cable reference models", 
%   ETSI Contribution 985t04c0, Sopha Antipolis, France, Nov 24-27, 1998
%   ETSI STC TM6 RTS/TM-06025 rev1a 2001-09
%   ETSI TM6 021t32, Torino, Italy, 4th-8th Feb., 2002.
%   ETSI STC TM6 DTS/TM-06018 (Draft m00p10a5NC) 2001-03
%% ===========================================================================

%% ===========================================================================
% Copyright (C):                                        
%       1998-1999 by Telia Research AB, Lulea, Sweden;                
%       2000-2003 by Forschungszentrum Telekommunikation Wien, Austria;
%                                                         All rights reserved.
% Project       : FTW's xDSLsimu
% Author(s)     : Tomas Nordstrom (Tomas.Nordstrom@FTW.at)
%               : Daniel Bengtsson (Daniel.J.Bengtsson@Telia.se)
%
% CVS:       $Id: etsi_cablesVDSL.m,v 3.2 2003/12/17 09:04:40 tono Exp $
%% ===========================================================================
% Change History
%      1998-01-05 (Dab)  Moved to this project
%      1998-01-07 (ToNo) Added header and comments
%      1999-02-08 (DaB)  Fixed index bug in DTAG06 cable
%      1999-06-18 (ToNo) Removed one of the operators cables
%      2000-03-14 (ToNo) Moved cable defs. into xdsldefs and did the list thing
%      2000-07-18 (ToNo) Corrected the tan_fi values for KPN cables
%      2000-07-19 (ToNo) Changed so that r0s can be zero for BT models
%      2001-12-20 (ToNo) Added the modified DTAG model
%      2002-08-23 (ToNo) Split up according to technology
%% ===========================================================================

c0 = 299792458; % speed of light (used in KPN model definitions)

%% ===========================================================================
% Finnish (Nokia) cables

% 0.4 mm
cable=[];
cable.name='NOK_40';
cable.model='BT';
cable.param.r0c=271.9983;
cable.param.r0s=0;
cable.param.ac=0.07960468;
cable.param.as=0;
cable.param.l0=710.7494e-6;
cable.param.loo=590.0163e-6;
cable.param.b=1.229532;
cable.param.fm=1.0300517e6;
cable.param.coo=38.6e-9;
cable.param.c0=0;
cable.param.ce=0;
cable.param.g0=1.100869e-9;
cable.param.ge=0.999424;
clist=insertList(clist,cable);

% 0.5 mm
cable=[];
cable.name='NOK_50';
cable.model='BT';
cable.param.r0c=173.99847;
cable.param.r0s=0;
cable.param.ac=0.0322326;
cable.param.as=0;
cable.param.l0=707.45088e-6;
cable.param.loo=581.5551e-6;
cable.param.b=1.095304;
cable.param.fm=693.804e3;
cable.param.coo=38.9e-9;
cable.param.c0=0;
cable.param.ce=0;
cable.param.g0=0.5007629e-9;
cable.param.ge=1.04681;
clist=insertList(clist,cable);

%% ===========================================================================
% British Telecom cables

% dw1 Single Pair 0.91 mm cadmium-copper conductor PVC insulated 
cable=[];
cable.name='BT_dw1';
cable.model='BT';
cable.param.r0c=65.32;
cable.param.r0s=0;
cable.param.ac=2.715283e-3;
cable.param.as=0;
cable.param.l0=0.884242e-3;
cable.param.loo=800.587e-6;
cable.param.b=1.30698;
cable.param.fm=263371;
cable.param.coo=28.0166e-9;
cable.param.c0=46.5668e-9;
cable.param.ce=0.117439;
cable.param.g0=855e-9;
cable.param.ge=0.746;
clist=insertList(clist,cable);

% dw3 Single Pair 0.72 mm copper coverd steel PVC insulated
cable=[];
cable.name='BT_dw3';
cable.model='BT';
cable.param.r0c=335.180;
cable.param.r0s=1281.3;
cable.param.ac=5.35389e-3;
cable.param.as=30286.34;
cable.param.l0=1.14166e-3;
cable.param.loo=708.221e-6;
cable.param.b=1.12676;
cable.param.fm=15211;
cable.param.coo=24.446503e-9;
cable.param.c0=34.431082e-9;
cable.param.ce=0.06589;
cable.param.g0=137.182e-9;
cable.param.ge=0.807645;
clist=insertList(clist,cable);

% dw5
cable=[];
cable.name='BT_dw5';
cable.model='BT';
cable.param.r0c=335.321;
cable.param.r0s=1116.45012;
cable.param.ac=10.996373e-3;
cable.param.as=13175.463;
cable.param.l0=1.13771e-3;
cable.param.loo=792.766e-6;
cable.param.b=1.52968;
cable.param.fm=20842.6;
cable.param.coo=29.297887e-9;
cable.param.c0=31.60789e-9;
cable.param.ce=0.1115489;
cable.param.g0=32.574128e-9;
cable.param.ge=0.919;
clist=insertList(clist,cable);

% dw6 Single Pair 0.81 mm copper covered steel conductor PVC insulated 
cable=[];
cable.name='BT_dw6';
cable.model='BT';
cable.param.r0c=270.70256;
cable.param.r0s=774.23224;
cable.param.ac=2.48956e-3;
cable.param.as=3349.76;
cable.param.l0=1.10646e-3;
cable.param.loo=760.267e-6;
cable.param.b=1.35790;
cable.param.fm=15668;
cable.param.coo=27.8941e-9;
cable.param.c0=39.4114e-9;
cable.param.ce=0.106593;
cable.param.g0=360e-9;
cable.param.ge=0.777;
clist=insertList(clist,cable);

% dw8 Single Pair flat twin 1.14 mm cadmium-copper conductor PVC insulated 
cable=[];
cable.name='BT_dw8';
cable.model='BT';
cable.param.r0c=41.16;
cable.param.r0s=0;
cable.param.ac=1.2179771e-3;
cable.param.as=0;
cable.param.l0=1e-3;
cable.param.loo=910.505e-6;
cable.param.b=1.1952665;
cable.param.fm=174877;
cable.param.coo=22.681213e-9;
cable.param.c0=31.778569e-9;
cable.param.ce=0.11086674;
cable.param.g0=53e-9;
cable.param.ge=0.88;
clist=insertList(clist,cable);

% dw10 2 Pair 0.5 mm copper conductor PVC ins. PVC ins. steel Polyeth. sheath 
cable=[];
cable.name='BT_dw10';
cable.model='BT';
cable.param.r0c=180.93;
cable.param.r0s=0;
cable.param.ac=0.0497223;
cable.param.as=0;
cable.param.l0=728.8683e-6;
cable.param.loo=543.4352e-6;
cable.param.b=0.75577086;
cable.param.fm=718888;
cable.param.coo=50.928328e-9;
cable.param.c0=63.824345e-9;
cable.param.ce=0.11584622;
cable.param.g0=89.041038e-9;
cable.param.ge=0.85606301;
clist=insertList(clist,cable);

% dw12 Single Pair 0.9 mm copper conductor Pol.ins. PVC cov. steel Pol.sheath  
cable=[];
cable.name='BT_dw12';
cable.model='BT';
cable.param.r0c=55.460555;
cable.param.r0s=0;
cable.param.ac=4.9924627e-3;
cable.param.as=0;
cable.param.l0=0.62104396e-3;
cable.param.loo=461.954e-6;
cable.param.b=0.93970931;
cable.param.fm=193049;
cable.param.coo=51.128076e-9;
cable.param.c0=5.802245e-9;
cable.param.ce=0.10064577;
cable.param.g0=20e-9;
cable.param.ge=0.88;
clist=insertList(clist,cable);

% dwug mult pair 0.5 mm copper Poly. ins. Underground dist.
cable=[];
cable.name='BT_dwug';
cable.model='BT';
cable.param.r0c=179;
cable.param.r0s=0;
cable.param.ac=35.89e-3;
cable.param.as=0;
cable.param.l0=0.695e-3;
cable.param.loo=585e-6;
cable.param.b=1.2;
cable.param.fm=1e6;
cable.param.coo=55e-9;
cable.param.c0=1e-9;
cable.param.ce=0.1;
cable.param.g0=0.5e-9;
cable.param.ge=1.033;
clist=insertList(clist,cable);

%% ===========================================================================
%  US cables

% TP1 0.4 mm 26-AWG 
cable=[];
cable.name='ANSI_TP1';
cable.model='BT';
cable.param.r0c=286.17578;
cable.param.r0s=0;
cable.param.ac=0.14769620;
cable.param.as=0.0;
cable.param.l0=675.36888e-6;
cable.param.loo=488.95186e-6;
cable.param.b=0.92930728;
cable.param.fm=806.33863e3;
cable.param.coo=49e-9;
cable.param.c0=0;
cable.param.ce=0;
cable.param.g0=43e-9;
cable.param.ge=0.7;
clist=insertList(clist,cable);

% TP2 0.5 mm 24-AWG 
cable=[];
cable.name='ANSI_TP2';
cable.model='BT';
cable.param.r0c=174.55888;
cable.param.r0s=0;
cable.param.ac=0.053073481;
cable.param.as=0.0;
cable.param.l0=617.29539e-6;
cable.param.loo=478.97099e-6;
cable.param.b=1.1529766;
cable.param.fm=553.760e3;
cable.param.coo=50e-9;
cable.param.c0=0;
cable.param.ce=0;
cable.param.g0=234.87476e-15;
cable.param.ge=1.38;
clist=insertList(clist,cable);

% TP3 DW10 0.5mm copper PVC ins. Poly. sheath
cable=[];
cable.name='ANSI_TP3';
cable.model='BT';
cable.param.r0c=180.93;
cable.param.r0s=0;
cable.param.ac=0.0497223;
cable.param.as=0.0;
cable.param.l0=728.87e-6;
cable.param.loo=543.43e-6;
cable.param.b=0.75577086;
cable.param.fm=718.888e3;
cable.param.coo=51e-9;
cable.param.c0=63.8e-9;
cable.param.ce=0.11584622;
cable.param.g0=89e-9;
cable.param.ge=0.856;
clist=insertList(clist,cable);


%% ===========================================================================
% FP 1.14mm flat twin DW8
cable=[];
cable.name='ANSI_FP';
cable.model='BT';
cable.param.r0c=41.16;
cable.param.r0s=0;
cable.param.ac=0.001218;
cable.param.as=0.0;
cable.param.l0=1000e-6;
cable.param.loo=911e-6;
cable.param.b=1.195;
cable.param.fm=174877;
cable.param.coo=22.68e-9;
cable.param.c0=31.78e-9;
cable.param.ce=0.1109;
cable.param.g0=53e-9;
cable.param.ge=0.88;
clist=insertList(clist,cable);


%% ===========================================================================
% Original Deutsche Telekom AG cables

% 0.35 mm
cable=[];
cable.name='DTAG_35o';
cable.model='DTAGorg';
cable.param.Ka1=[9.4 2.4 15.9];
cable.param.Ka2=[13.2 19.9 11.2];
cable.param.Ka3=[0.97 0.54 0.69];
cable.param.Kb1=34.2;
cable.param.Kb2=2.62;
cable.param.Kz1=132;
cable.param.Kz2=5;
cable.param.Kz3=0.73;
cable.param.Kx1=0.05;
cable.param.Kx2=0.024;
cable.param.Kx3=0.87;
clist=insertList(clist,cable);

% 0.40 mm
cable=[];
cable.name='DTAG_40o';
cable.model='DTAGorg';
cable.param.Ka1=[6.9 0.3 10.4];
cable.param.Ka2=[13.4 18.9 11.5];
cable.param.Ka3=[0.99 0.5 0.64];
cable.param.Kb1=32.9;
cable.param.Kb2=2.26;
cable.param.Kz1=127;
cable.param.Kz2=8.8;
cable.param.Kz3=0.51;
cable.param.Kx1=0.045;
cable.param.Kx2=0.016;
cable.param.Kx3=0.81;
clist=insertList(clist,cable);

% 0.50 mm
cable=[];
cable.name='DTAG_50o';
cable.model='DTAGorg';
cable.param.Ka1=[4.2 0.7 10.3];
cable.param.Ka2=[11.9 14.1 7.7];
cable.param.Ka3=[0.92 0.52 0.68];
cable.param.Kb1=30.6;
cable.param.Kb2=1.62;
cable.param.Kz1=141;
cable.param.Kz2=3.4;
cable.param.Kz3=0.69;
cable.param.Kx1=0.038;
cable.param.Kx2=0.0082;
cable.param.Kx3=0.73;
clist=insertList(clist,cable);

% 0.60 mm
cable=[];
cable.name='DTAG_60o';
cable.model='DTAGorg';
cable.param.Ka1=[2.4 1.1 8.7];
cable.param.Ka2=[11.2 11.6 6.6];
cable.param.Ka3=[0.75 0.54 0.69];
cable.param.Kb1=30.4;
cable.param.Kb2=1.62;
cable.param.Kz1=135;
cable.param.Kz2=3.4;
cable.param.Kz3=0.63;
cable.param.Kx1=0.036;
cable.param.Kx2=0.0038;
cable.param.Kx3=0.64;
clist=insertList(clist,cable);

%% ===========================================================================
% Updated Deutsche Telekom AG cables
%   W. Henkel, et al. "Update of cable reference models", 
%   ETSI Contribution 985t04c0, Sopha Antipolis, France, Nov 24-27, 1998

% 0.35 mm
cable=[];
cable.name='DTAG_35';
cable.model='DTAG';
cable.param.Ka1=[9.4 2.4 15.9];
cable.param.Ka2=[13.2 19.9 11.2];
cable.param.Ka3=[0.97 0.54 0.69];
cable.param.Kb1=[35.06, 33.96, 34.13];
cable.param.Kb2=[1.725, 2.700, 2.458];
cable.param.Kb3=[0.545, 0.585, 0.560];
cable.param.Kz1=132;
cable.param.Kz2=5;
cable.param.Kz3=0.73;
cable.param.Kx1=0.05;
cable.param.Kx2=0.024;
cable.param.Kx3=0.87;
clist=insertList(clist,cable);

% 0.40 mm
cable=[];
cable.name='DTAG_40';
cable.model='DTAG';
cable.param.Ka1=[6.9 0.3 10.4];
cable.param.Ka2=[13.4 18.9 11.5];
cable.param.Ka3=[0.99 0.5 0.64];
cable.param.Kb1=[33.47, 32.82, 32.87];
cable.param.Kb2=[1.782, 2.229, 2.113];
cable.param.Kb3=[0.601, 0.543, 0.543];
cable.param.Kz1=127;
cable.param.Kz2=8.8;
cable.param.Kz3=0.51;
cable.param.Kx1=0.045;
cable.param.Kx2=0.016;
cable.param.Kx3=0.81;
clist=insertList(clist,cable);

% 0.50 mm
cable=[];
cable.name='DTAG_50';
cable.model='DTAG';
cable.param.Ka1=[4.2 0.7 10.3];
cable.param.Ka2=[11.9 14.1 7.7];
cable.param.Ka3=[0.92 0.52 0.68];
cable.param.Kb1=[29.45, 30.53, 30.57];
cable.param.Kb2=[2.899, 1.728, 1.676];
cable.param.Kb3=[0.739, 0.529, 0.516];
cable.param.Kz1=141;
cable.param.Kz2=3.4;
cable.param.Kz3=0.69;
cable.param.Kx1=0.038;
cable.param.Kx2=0.0082;
cable.param.Kx3=0.73;
clist=insertList(clist,cable);

% 0.60 mm
cable=[];
cable.name='DTAG_60';
cable.model='DTAG';
cable.param.Ka1=[2.4 1.1 8.7];
cable.param.Ka2=[11.2 11.6 6.6];
cable.param.Ka3=[0.75 0.54 0.69];
cable.param.Kb1=[28.94, 30.43, 30.43];
cable.param.Kb2=[2.950, 1.459, 1.449];
cable.param.Kb3=[0.736, 0.508, 0.509];
cable.param.Kz1=135;
cable.param.Kz2=3.4;
cable.param.Kz3=0.63;
cable.param.Kx1=0.036;
cable.param.Kx2=0.0038;
cable.param.Kx3=0.64;
clist=insertList(clist,cable);

%% ===========================================================================
% Royal Dutch Telecom (KPN) cables

% KPN_L1
cable=[];
cable.name='KPN_L1';
cable.model='KPN';
cable.param.Z0oo=136.651;
cable.param.c=0.79766*c0;
cable.param.Rss00=0.168145;
cable.param.tan_fi=0.13115/(2*pi);
cable.param.Kf=0.72;
cable.param.K1=1.2;
cable.param.Kn=1;
cable.param.Kc=1.08258;
cable.param.N=0.7;
cable.param.fc0=4521710;
cable.param.M=1;
clist=insertList(clist,cable);

% KPN_L2
cable=[];
cable.name='KPN_L2';
cable.model='KPN';
cable.param.Z0oo=136.047;
cable.param.c=0.798958*c0;
cable.param.Rss00=0.168145;
cable.param.tan_fi=0.16998/(2*pi);
cable.param.Kf=0.7;
cable.param.K1=1.1;
cable.param.Kn=1;
cable.param.Kc=1.08201;
cable.param.N=1;
cable.param.fc0=1862950;
cable.param.M=1;
clist=insertList(clist,cable);

% KPN_L3
cable=[];
cable.name='KPN_L3';
cable.model='KPN';
cable.param.Z0oo=137.527;
cable.param.c=0.850608*c0;
cable.param.Rss00=0.065682;
cable.param.tan_fi=0.114526/(2*pi);
cable.param.Kf=1;
cable.param.K1=1;
cable.param.Kn=1;
cable.param.Kc=1.06967;
cable.param.N=1;
cable.param.fc0=559844;
cable.param.M=1;
clist=insertList(clist,cable);

% KPN_L4
cable=[];
cable.name='KPN_L4';
cable.model='KPN';
cable.param.Z0oo=137.005;
cable.param.c=0.787661*c0;
cable.param.Rss00=0.168145;
cable.param.tan_fi=0.153522/(2*pi);
cable.param.Kf=0.9;
cable.param.K1=1;
cable.param.Kn=1;
cable.param.Kc=1.07478;
cable.param.N=1;
cable.param.fc0=557458;
cable.param.M=1;
clist=insertList(clist,cable);

% KPN_H1
cable=[];
cable.name='KPN_H1';
cable.model='KPN';
cable.param.Z0oo=135.458;
cable.param.c=0.640381*c0;
cable.param.Rss00=0.177728;
cable.param.tan_fi=0.018425/(2*pi);
cable.param.Kf=0.85;
cable.param.K1=1;
cable.param.Kn=1;
cable.param.Kc=1.11367;
cable.param.N=1.5;
cable.param.fc0=5020;
cable.param.M=1;
clist=insertList(clist,cable);

% KPN_KK
cable=[];
cable.name='KPN_KK';
cable.model='KPN';
cable.param.Z0oo=142.451;
cable.param.c=0.712318*c0;
cable.param.Rss00=0.177728;
cable.param.tan_fi=0.071111/(2*pi);
cable.param.Kf=0.8;
cable.param.K1=1.1;
cable.param.Kn=1;
cable.param.Kc=1.09373;
cable.param.N=0.5;
cable.param.fc0=8088;
cable.param.M=1;
clist=insertList(clist,cable);

% KPN_R2
cable=[];
cable.name='KPN_R2';
cable.model='KPN';
cable.param.Z0oo=97.4969;
cable.param.c=0.639405*c0;
cable.param.Rss00=0.177728;
cable.param.tan_fi=0.0189898/(2*pi);
cable.param.Kf=0.5;
cable.param.K1=1.14;
cable.param.Kn=1;
cable.param.Kc=1;
cable.param.N=1;
cable.param.fc0=100000;
cable.param.M=1;
clist=insertList(clist,cable);

%% ===========================================================================
%  Define some commonly used aliases

cable=getList(clist,'BT_dwug');
cable.name='ETSI';
clist=insertList(clist,cable);

cable=getList(clist,'ANSI_TP1');
cable.name='ANSI';
clist=insertList(clist,cable);

cable=getList(clist,'BT_dwug');
cable.name='TP100';
clist=insertList(clist,cable);

cable=getList(clist,'BT_dw8');
cable.name='TP180x';
clist=insertList(clist,cable);

cable=getList(clist,'KPN_L1');
cable.name='TP150';
clist=insertList(clist,cable);

cable=getList(clist,'KPN_R2');
cable.name='TP100x';
clist=insertList(clist,cable);