function tfplist = etsi_tfplansSDSL(tfplist) %% =========================================================================== % etsi_tfplansSDSL(tfplist) - Sets up the tfplan for ETSI SDSL % % Parameter: tfplist Structure describing the time and freq plan % Returns: tfplist Structure describing the time and freq plan % % Example(s): % ex.tfplist = etsi_tfplansSDSL_v121(ex.tfplist); Add to existing tfplist % tfplan = getList(ex.tfplist,'ETSI-SDSL-sym-1024'); Get this SDSL plan % % References: % Draft ETSI TS 101524-2 V1.1.1 (2000-05) % % ETSI TR 101 830-2, Spectral management on metallic access % networks; Part 2: Technical methods and performance % evaluations, m01p20a9 %% =========================================================================== %% =========================================================================== % Copyright (C): % 2004-2009 by Forschungszentrum Telekommunikation Wien, Austria; % All rights reserved. % Project : FTW's xDSLsimu % Author(s) : Tomas Nordstrom (Tomas.B.Nordstrom@Telia.se) % % CVS: $Id: etsi_tfplansSDSL_SpM.m,v 1.2 2005/01/04 10:25:12 tono Exp $ %% =========================================================================== % Change History % 2004-01-09 (ToNo) Created based on older versions of etsi_tfplansSDSL % 2005-01-10 (ToNo) Made changes to reflect the new naming convention % 2005-04-27 (ToNo) Fixed support for Asymmetric SDSL %% =========================================================================== %% =========================================================================== % Use a template, as order is important! sdsl_tfplan = templateTFP; % SDSL generic default values sdsl_tfplan.PSD.HAM.active = 0; sdsl_tfplan.PSD.active.upstream = [5e3 2e6]; sdsl_tfplan.PSD.active.downstream = [5e3 2e6]; sdsl_tfplan.fixBitrate.name = 'SDSL'; sdsl_tfplan.fixBitrate.active = 1; sdsl_tfplan.fixBitrate.param = []; %% =========================================================================== % symmetric SDSL as specified in Draft ETSI TR 101 830-2 basic_tfplan=sdsl_tfplan; basic_tfplan.name='ETSI-SDSL-sym'; basic_tfplan.lcname='ETSI-SDSL-sym'; basic_tfplan.PSD.downstream ='modelPSD_SDSL_v121(tfplan.lcname,ex.param.frequency.f,1)'; basic_tfplan.PSD.upstream = basic_tfplan.PSD.downstream; basic_tfplan.PSD.UPBO.method='None'; tfplist=insertList(tfplist,basic_tfplan); %% -------------------- % Set up some basic rates brates = [256, 512, 1024, 2048, 2304]; for brate = brates name = [basic_tfplan.name '-' num2str(brate)]; fsym=(brate+8)*1e3/3; tmp_tfplan= basic_tfplan; tmp_tfplan.PSD.active.upstream = [1 2*fsym]; tmp_tfplan.PSD.active.downstream = [1 2*fsym]; tmp_tfplan.name=name; tmp_tfplan.lcname=name; tfplist=insertList(tfplist,tmp_tfplan); end; %% =========================================================================== % Asymmetric SDSL as specified in Draft ETSI TR 101 830-2 basic_tfplan=sdsl_tfplan; basic_tfplan.name='ETSI-SDSL-asym'; basic_tfplan.lcname='ETSI-SDSL-asym'; basic_tfplan.PSD.downstream ='modelPSD_SDSL_v121(tfplan.lcname,ex.param.frequency.f,1)'; basic_tfplan.PSD.upstream ='modelPSD_SDSL_v121(tfplan.lcname,ex.param.frequency.f,0)'; basic_tfplan.PSD.UPBO.method='None'; tfplist=insertList(tfplist,basic_tfplan); %% -------------------- % Set up the specific rates brates = [2048, 2304]; for brate = brates name = [basic_tfplan.name '-' num2str(brate)]; fsym=(brate+8)*1e3/3; tmp_tfplan= basic_tfplan; tmp_tfplan.PSD.active.upstream = [1 2*fsym]; tmp_tfplan.PSD.active.downstream = [1 2.667*fsym]; tmp_tfplan.name=name; tmp_tfplan.lcname=name; tfplist=insertList(tfplist,tmp_tfplan); end;