%% =========================================================================== % Copyright (C): % 2008-2009 by Forschungszentrum Telekommunikation Wien, Austria; % All rights reserved. % Description : Simple example of simulating with ADSL2 and VDSL2 % % Project : WBE, FTW % Author(s) : Tomas Nordstrom (Tomas.Nordstrom@FTW.at) % % Reference: % % CVS: $Id: $ %% =========================================================================== %% =========================================================================== % Change History % 2008-12-05 (ToNo) Created %% =========================================================================== global ex; plotit = 0; withpause = 0; %% =========================================================================== % This demonstrates how to set up an ADSL2+VDSL2 experiment % We only try to make a single minimal experiment %% =========================================================================== % Set up some basic simulation parameters set here ex.param = setupParam; % Basic things like crosstalk etc. ex.clist = etsi_cablesVDSL([]); % Get ETSI cables (like TP100) % Set up ADSL definitions ex.tfplist = itu_tfplansADSL2([]); % Get ADSL2 Tx models (time-freq. plans) ex.lclist = itu_lcdefsADSL2([]); % Get ADSL2 Rx definitions (line code) ex.tfplist = etsi_tfplansADSL_v121(ex.tfplist); % Get ETSI ADSL as well ex.lclist = etsi_lcdefsADSL(ex.lclist); % Set up ETSI VDSL2 maskdef.name = '998ADE17-M2x-A'; maskdef.profile = '17a'; maskdef.designator=0; % maskdef.name = 'B8-16'; maskdef.profile = '30a'; [tfplan,lcdef] = itu_tfplcVDSL2_AnnexB(maskdef); ex.lclist = insertList(ex.lclist,lcdef); % Make some modifications to the VDSL2 definition tfplan.PSD.UPBO.param.refa = [0 -47.3 -54 0]; % New UPBO parameters tfplan.PSD.UPBO.param.refb = [0 -16.0659 -13.3042 0]; ex.tfplist = insertList(ex.tfplist,tfplan); % Define an alias 'VDSL2' for the VDSL2 modem we intend to use VDSL.name ='VDSL2'; VDSL.used = tfplan.name; ex.param.xDSLlist = insertList([],VDSL); % Define an alias 'ADSL2p' for the ADSL2+ modem we intend to use ADSL.name ='ADSL2p'; ADSL.used ='ITU-ADSL-G.992.5-AnnexB-NoO'; ex.param.xDSLlist = insertList(ex.param.xDSLlist,ADSL); % Define modems under test ex.param.modemlist = str2mat('VDSL2', 'ADSL2p'); %% ======================================================================== % Decide what frequency axis to use (after setting up ex.tfplist) ex.param.frequency.fastcalc = 1; % Use the fast frequency plan ex.param.frequency.max = 30e6; % Max frequency we want to use df = 4.3125e3; % Carrier spacing in Hz tmp=[df:df:ex.param.frequency.max, 150e3, 1e6]; ex.param.frequency.f = union(getMinFreqaxis(ex.param.frequency.max),tmp); ex.param.frequency.set =1; f=ex.param.frequency.f; % %% =========================================================================== % Define the loop ex.tt.name = 'VDSLloop'; noadsl2 = 40; novdsl2 = 13; % (12+1) sclen = 1000; v1len = 400; ex.tt.topology = { {0, '', 'CO', ''}, {sclen, 'TP100', 'Cab', sprintf('%d m TP100',sclen)}, {v1len, 'TP100', 'N1', sprintf('%d m TP100',v1len)}}; ex.tt.traffic = { {1, 3, 'ADSL2p', noadsl2}, {2, 3, 'VDSL2', novdsl2}}; if plotit, % Plot the loop definition figure; plotTTstructure(ex.tt); end; %% ======================================================================== % Evaluate this loop result=evalExperiment; [bitrate_LT, bitrate_NT] = calcXDSLresult(ex,result); noresults = length(result); for i = 1:noresults fprintf('%-45s --> Rate:(DS=>%5.2f,US=>%5.2f)\n',... result{i}.Modem.Name, bitrate_NT(i), bitrate_LT(i)); end;