%% =========================================================================== % Copyright (C): % 1999-2000 by Telia Research AB, Lulea, Sweden; % 2000-2003 by Forschungszentrum Telekommunikation Wien, Austria; % All rights reserved. % % Description : File containing user definitions for an fsan experiment % % File : userDefinitionsExample1.m % Project : FTW's xDSLsimu % Author(s) : Tomas Nordstrom (Tomas.Nordstrom@FTW.at) % : Daniel Bengtsson (Daniel.J.Bengtsson@Telia.se) % % CVS: $Id: userDefinitionsBTap.m,v 3.2 2003/11/03 12:33:22 tono Exp $ %% =========================================================================== %% =========================================================================== % Change History % 1998-02-26 (ToNo) Created % 1999-08-19 (DaB) Updated for new tfplan struct % 2000-03-14 (ToNo) Added some more interesting frequency plans % 2000-04-03 (UvAn) Added frequency axis to calcPSD % 2000-04-11 (DaB) added sync % 2002-07-23 (PeKa) Octave Port % 2003-11-03 (ToNo) Lists now use cell arrays for both Octave and Matlab %% =========================================================================== global ex; global gui; %% =========================================================================== % Get some xdsl definitions in ANSI_VDSL_defs; % Get default ANSI definitions % Make things work if gui is used gui.ttlist = ansi_loopsVDSL([]); % Get ANSI loop definitions gui.scenario = 'ANSI VDSL loop1 short (ANSI_TP1)'; ex.tt = getList(gui.ttlist,gui.scenario); ex.tfplist = special_modelsVDSL(ex.tfplist); % Get some test VDSL plans gui.vdslDuplex = 'VDSL-test'; %% =========================================================================== % Below follows user modifications to the experiment setups gui.scenario = 'My own bridge tap scenario'; % Scenario to run gui.vdslDuplex = 'VDSL-997'; % Duplex method for VDSL % Add our own VDSL definition tmp_tfplan=getList(ex.tfplist,ex.param.HAMBandName); % initiate tmp_tfplan tmp_tfplan.name ='VDSL-997'; % PSD masks tmp_tfplan.PSD.downstream ='calcPSD([138e3 -120 138e3 -90 552e3 -90 1104e3 -60 3e6 -60 3e6 -120 5.10e6 -120 5.10e6 -60 7.05e6 -60 7.05e6 -120],''Log-Linear'',ex.param.frequency.f)'; tmp_tfplan.PSD.upstream ='calcPSD([3e6 -120 3e6 -60 5.10e6 -60 5.10e6 -120 7.05e6 -120 7.05e6 -60 10e6 -60 12e6 -69.957 12e6 -120],''Log-Linear'',ex.param.frequency.f)'; % Power back-off method tmp_tfplan.PSD.PBO.method = 'RefNoise'; tmp_tfplan.PSD.PBO.param.freq = 4.1e6; tmp_tfplan.PSD.PBO.param.len = 900; tmp_tfplan.PSD.PBO.param.maxlen = 1500; % modified in uiSetup tmp_tfplan.PSD.active.upstream = [0.3e6 12e6]; tmp_tfplan.PSD.active.downstream= [0.3e6 12e6]; tmp_tfplan.timeDivision.up = 1; tmp_tfplan.timeDivision.down = 1; tmp_tfplan.timeDivision.sync = 1; tmp_tfplan.lcname = 'VDSL-theo'; ex.tfplist=insertList(ex.tfplist,tmp_tfplan); % Add another VDSL frequency plan tmp_tfplan.name ='VDSL-998'; tmp_tfplan.PSD.downstream ='calcPSD([.138e6 -120 .138e6 -90 .552e6 -90 1.104e6 -60 3.75e6 -60 3.75e6 -120 5.2e6 -120 5.2e6 -60 8.5e6 -60 8.5e6 -120],''Log-Linear'',ex.param.frequency.f)'; tmp_tfplan.PSD.upstream ='calcPSD([3.75e6 -120 3.75e6 -60 5.2e6 -60 5.2e6 -120 8.5e6 -120 8.5e6 -60 10e6 -60 12e6 -69.957 12e6 -120],''Log-Linear'',ex.param.frequency.f)'; ex.tfplist=insertList(ex.tfplist,tmp_tfplan); % Change technology specifics lc=getList(ex.lclist,tmp_tfplan.lcname); % Change a linecode parameter lc.param.efficiencyLoss=0.10; % Efficiency loss lc.param.SNRMax=48; % Maximum SNR available (dB) lc.param.codingGain=4.2; % Coding Gain ex.lclist=setList(ex.lclist,lc.name,lc); % Test both ADSL and VDSL ex.param.modemlist=['VDSL';'ADSL']; gui.xDSL.name='ADSL'; gui.xDSL.used='ADSL'; gui.testADSL=1; ex.param.xDSLlist=insertList(ex.param.xDSLlist,gui.xDSL); % Print put the lc parameters we have set up eval([lc.lcPrint '(lc)']); % Define and use our own bridge tap scenario tt.name=gui.scenario; % Distance, Cable, Node name, Line name, BT len, BT cable, name, line name tt.topology={{0, '', 'CO', '', 0, '', '', ''},... {1000*0.3048, 'ANSI_TP2', 'N1', '1000 ft', 150*0.3048, 'ANSI_TP2', 'BT', '150 ft'},... {1000*0.3048, 'ANSI_TP2', 'N2', '1000 ft', 300*0.3048, 'ANSI_TP2', 'BT', '300 ft'},... {1000*0.3048, 'ANSI_TP1', 'N3', '1000 ft', 0 ,'', '', ''}}; % From node, to node, tfplan, no gui.modems tt.traffic={{1, 4, 'VDSL', 3},... {1, 3, 'ADSL', 4},... {1, 2, 'VDSL', 4},... {1, 4, 'ISDN-2B1Q', 3},... {1, 4, 'ADSL', 1}}; gui.ttlist=insertList(gui.ttlist,tt); % Insert into list (used for GUI) ex.tt=tt; % Define the experiment tt structure