function tfplist = etsi_tfplansADSL(tfplist); %% =========================================================================== %etsi_tfplansADSL(tfplist) - Sets up tfplans for some standard alien systems % % Parameter: tfplist Structure describing the time and freq plan % Returns: tfplist Structure describing the time and freq plan % % Example(s): % ex.tfplist = etsi_tfplansADSL(ex.tfplist); Add to existing tfplist % tfplan=getList(ex.tfplist,'ADSL-ECoverPOTS'); Get tfplan for EC ADSL % % ex.tfplist = etsi_tfplansADSL([]); Create a new tfplist % tfplan=getList(ex.tfplist,'ADSL-ECoverISDN'); Get tfplan for EC ADSL % % References: % 1. ETSI STC TM6 Draft RTS/TM-06006 rev 10a (ADSL), 2001-05 % Draft ITU-T Recommendation G.992.1 % % 2. Driton Statovci, Rickard Nilsson, and Tomas Nordström, % "Generic detection model for DMT based modems", Temporary % Document TD 23r2, 034t23r2, ETSI STC TM6, Sophia Antipolis, % France, 17-21, Nov ,2003 %% =========================================================================== %% =========================================================================== % Copyright (C): % 2001-2003 by Forschungszentrum Telekommunikation Wien, Austria; % All rights reserved. % Project : FTW's xDSLsimu % Author(s) : Tomas Nordstrom (Tomas.Nordstrom@FTW.at) % % CVS: $Id: etsi_tfplansADSL.m,v 3.2 2003/12/23 10:35:07 tono Exp $ %% =========================================================================== % Change History % 2001-07-03 (ToNo) Created (based of fsan_modelsMISC) % 2001-07-05 (ToNo) Fixed the ADSL over ISDN masks % 2001-08-22 (ToNo) Fixed the corner frequency 138->120 in ADSL over ISDN % 2001-08-22 (ToNo) Reduced the masks in the transmitt band to keep them % under the total power contraint % 2002-08-26 (ToNo) Made it possible to change water-filling method % 2003-12-18 (DrSt) Changed water-filling names according to % "Reference 2" %% =========================================================================== df = 4.3125e3; % delta f (carrier BW) for ADSL; %% =========================================================================== % Use a template, as order is important! def_tfplan = templateTFP; % Select water-filling method: def_tfplan.fixBitrate.name = 'RBL'; % Rounded Bit-Loading (RBL) % Levin-Campello RA implemenation of Gain Adjusted Bit-Loading(GABL) % def_tfplan.fixBitrate.name = 'GABL_RA'; % Levin-Campello MA implemenation of Gain Adjusted Bit-Loading(GABL) % def_tfplan.fixBitrate.name = 'GABL_MA'; %% =========================================================================== % TFPlan definitions starting % ------------------------------- % ADSL over POTS; % Reference G.992.1 tmp_tfplan=def_tfplan; tmp_tfplan.name='ADSL-ECoverPOTS'; tmp_tfplan.PSD.downstream='calcPSD([1 -100.5 .004e6-1 -100.5 .004e6 -95.5 .025875e6 -40 1.104e6 -40 3.093e6 -93 4.545e6 -110 30.e6 -110],''Log-Linear'',ex.param.frequency.f)'; tmp_tfplan.PSD.upstream='calcPSD([1 -100.5 .004e6-1 -100.5 .004e6 -95.5 .025875e6 -38 0.138e6 -38 0.307e6 -93 1.221e6 -93 1.63e6 -110 30.e6 -110],''Log-Linear'',ex.param.frequency.f)'; tmp_tfplan.lcname='ADSL-DMT'; tmp_tfplan.PSD.active.upstream=[df*(7-0.5) df*(31+0.5)]; tmp_tfplan.PSD.active.downstream=[df*(7-0.5) df*(255+0.5)]; tfplist=insertList(tfplist,tmp_tfplan); % ADSL over POTS with reduced NEXT (for FDD systems); % Reference G.992.1 tmp_tfplan=def_tfplan; tmp_tfplan.name='ADSL-FDDoverPOTS'; tmp_tfplan.PSD.downstream='calcPSD([1 -100.5 .004e6-1 -100.5 .004e6 -95.5 .080e6 -75.5 .138e6-1 -47.2 .138e6 -40 1.104e6 -40 3.093e6 -93 4.545e6 -110 30.e6 -110],''Log-Linear'',ex.param.frequency.f)'; tmp_tfplan.PSD.upstream='calcPSD([1 -100.5 .004e6-1 -100.5 .004e6 -95.5 .025875e6 -38 0.138e6 -38 0.307e6 -93 1.221e6 -93 1.63e6 -110 30.e6 -110],''Log-Linear'',ex.param.frequency.f)'; tmp_tfplan.lcname='ADSL-DMT'; tmp_tfplan.PSD.active.upstream=[df*(7-0.5) df*(30+0.5)]; tmp_tfplan.PSD.active.downstream=[df*(38-0.5) df*(255+0.5)]; tfplist=insertList(tfplist,tmp_tfplan); % With splitter loss tmp_tfplan=def_tfplan; tmp_tfplan.name='ADSL-FDDoverPOTS_SP'; % /1.2589 => -1dB tmp_tfplan.PSD.downstream='calcPSD([1 -102.5 .004e6-1 -102.5 .004e6 -97.5 50e3 -97.5 50e3+1 -95.5 .080e6 -75.5 .138e6-1 -47.2 .138e6 -40 1.104e6 -40 3.093e6 -93 4.545e6 -110 30.e6 -110],''Log-Linear'',ex.param.frequency.f)/1.2589'; tmp_tfplan.PSD.upstream='calcPSD([1 -102.5 .004e6-1 -102.5 .004e6 -97.5 .025875e6 -40 50e3 -40 50e3+1 -38 0.138e6 -38 0.307e6 -93 1.221e6 -93 1.63e6 -110 30.e6 -110],''Log-Linear'',ex.param.frequency.f)/1.2589'; tmp_tfplan.lcname='ADSL-DMT'; tmp_tfplan.PSD.active.upstream=[df*(7-0.5) df*(30+0.5)]; tmp_tfplan.PSD.active.downstream=[df*(38-0.5) df*(255+0.5)]; tfplist=insertList(tfplist,tmp_tfplan); % ADSL over ISDN; % Reference: ETSI STC TM6 Draft RTS/TM-06006 rev 10a (ADSL), 2001-05 tmp_tfplan=def_tfplan; tmp_tfplan.name='ADSL-ECoverISDN'; tmp_tfplan.PSD.downstream='calcPSD([1 -93 .05e6 -93 .080e6 -84.9 .12e6 -40 1.104e6 -40 3.093e6 -93 4.545e6 -110 30.e6 -110],''Log-Linear'',ex.param.frequency.f)'; tmp_tfplan.PSD.upstream='calcPSD([1 -93 .05e6 -93 .08e6 -84.9 .12e6 -38 0.276e6 -38 0.614e6 -93 1.221e6 -93 1.63e6 -110 30.e6 -110],''Log-Linear'',ex.param.frequency.f)'; tmp_tfplan.lcname='ADSL-DMT'; tmp_tfplan.PSD.active.upstream=[df*(33-0.5) df*(63+0.5)]; tmp_tfplan.PSD.active.downstream=[df*(33-0.5) df*(255+0.5)]; tfplist=insertList(tfplist,tmp_tfplan); tmp_tfplan=def_tfplan; tmp_tfplan.name='ADSL-FDDoverISDN'; tmp_tfplan.PSD.downstream= 'calcPSD([1 -93 93100 -93 209000 -65 253990 -51.5 254000 -40 1.104e+06 -40 3.093e+06 -93 4.545e+06 -110 3e+07 -110 ] ,''Log-Linear'',ex.param.frequency.f)'; tmp_tfplan.PSD.upstream= 'calcPSD([1 -93 .05e6 -93 .08e6 -84.9 .12e6 -38 0.276e6 -38 0.614e6 -93 1.221e6 -93 1.63e6 -110 30.e6 -110],''Log-Linear'',ex.param.frequency.f)'; tmp_tfplan.lcname='ADSL-DMT'; tmp_tfplan.PSD.active.upstream=[df*(33-0.5) df*(56+0.5)]; tmp_tfplan.PSD.active.downstream=[df*(64-0.5) df*(255+0.5)]; tfplist=insertList(tfplist,tmp_tfplan); % With splitter % /1.2589 => -1dB tmp_tfplan=def_tfplan; tmp_tfplan.name='ADSL-FDDoverISDN_SP'; tmp_tfplan.PSD.downstream= 'calcPSD([1 -95 93100 -95 170e3 -95 170e3+1 -93 209000 -65 253990 -51.5 254000 -40 1.104e+06 -40 3.093e+06 -93 4.545e+06 -110 3e+07 -110 ] ,''Log-Linear'',ex.param.frequency.f)/1.2589'; tmp_tfplan.PSD.upstream= 'calcPSD([1 -95 .05e6 -95 .08e6 -86.9 .12e6 -40 170e3 -40 170e3+1 -38 0.276e6 -38 0.614e6 -93 1.221e6 -93 1.63e6 -110 30.e6 -110],''Log-Linear'',ex.param.frequency.f)/1.2589'; tmp_tfplan.lcname='ADSL-DMT'; tmp_tfplan.PSD.active.upstream=[df*(33-0.5) df*(56+0.5)]; tmp_tfplan.PSD.active.downstream=[df*(64-0.5) df*(255+0.5)]; tfplist=insertList(tfplist,tmp_tfplan);