function clist = ansi_cablesVDSL(clist)
%% ===========================================================================
%ansi_cablesVDSL(clist) - Sets up the cable models for ANSI (VDSL)
%
% Parameter:    clist          Structure describing the cables
% Returns:      clist          Structure describing the cables
%
% Example(s):
%   ex.clist = ansi_cablesVDSL(ex.clist);         Add to existing clist
%   cableparam = getList(ex.clist,'ANSI_TP1');    Get ANSI TP1 (26-AWG)
%
%   ex.clist = ansi_cablesVDSL([]);               Create a new clist
%   cableparam = getList(ex.clist,'ANSI_TP2');    Get ANSI TP2 (24-AWG)
%
% Reference:
%% ===========================================================================

%% ===========================================================================
% Copyright (C):                                        
%       2005-2009 by Forschungszentrum Telekommunikation Wien, Austria;
%                                                         All rights reserved.
% Project       : FTW's xDSLsimu
% Author(s)     : Tomas Nordstrom (Tomas.Nordstrom@FTW.at)
%
% CVS:       $Id:  $
%% ===========================================================================
% Change History
%      2005-05-13 (ToNo) Split out ANSI VDSL cables into its own file
%% ===========================================================================

% Note that in ansi_cablesADSL.m these cables are also defined.
% However, with another accuracy.

% 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);


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

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