function lclist = etsi_lcdefsESDSL(lclist) %% =========================================================================== % etsi_lcdefsESDSL(lclist) - Sets up the tfplan for ETSI SDLS % tfplans, that are used in SpM studies % % Parameter: lclist Structure describing line code dependent stuff % Returns: lclist Structure describing line code dependent stuff % % Example(s): % ex.lclist = etsi_lcdefsESDSL_SpM(ex.lclist); Add to existing lclist % lc = getList(ex.lclist,'ESDSL-sym-1024'); Get ESDSL sym. line code stuff % % References: % ETSI TR 101 830-2, Spectral management on metallic access % networks; Part 2: Technical methods and performance % evaluations, m01p20a5 %% =========================================================================== %% =========================================================================== % Copyright (C): % 2003-2009 by Forschungszentrum Telekommunikation Wien, Austria; % All rights reserved. % Project : FTW's xDSLsimu % Author(s) : Tomas Nordstrom (Tomas.Nordstrom@FTW.at) % % CVS: $Id: etsi_lcdefsESDSL_SpM.m,v 1.3 2005/01/04 10:32:28 tono Exp $ %% =========================================================================== % Change History % 2003-11-27 (ToNo) Created % 2003-12-02 (ToNo) Added support for lc dependent modem noise % 2008-08-28 (ToNo) Introduced consistent naming (pam -> mod; bpsym) %% =========================================================================== % symmerical ESDSL lc defs basic_lc=lcDefSDSL_sym; basic_lc.param.signal_margin = 0; basic_lc.param.xtalk_margin = 6; basic_lc.param.refSNR = 9.75; basic_lc.param.codingGain = 5.1; basic_lc.param.SNRloss = 1.6; basic_lc.param.modemNoise.LT = '-140'; % Modem noise at LT (dBm/Hz) basic_lc.param.modemNoise.NT = '-140'; % Modem noise at NT (dBm/Hz) basic_lc.param.mod.floorf = 3.184e6; % When the PSD start being flat %% =========================================================================== % 16 TC-PAM basic_lc.param.mod.bpsym = 3; % But is still 16 PAM on the line basic_lc.param.reqSNR = 27.7117 ... - basic_lc.param.codingGain + basic_lc.param.SNRloss; basic_lc.param.mod.k = [0 2048e3 2304e3 3840e3+1; ... 7.86 9.90 9.90 9.90;]; % scaling factor template basic_lc.lcname = 'ETSI-ESDSL-sym16'; lclist=insertList(lclist,basic_lc); % Define some specific rates % brates = [2320 3840]; brates = [2320 2688 3072 3456 3840]; for bix = 1:length(brates) lcname = sprintf('ETSI-ESDSL-sym16-%d',brates(bix)); tmp_lc=basic_lc; tmp_lc.name=lcname; tmp_lc.param.mod.brate.rate = 1e3*brates(bix); %tmp_lc.param.P1R = 0.3486 * log2(tmp_lc.param.mod.brate.rate + 8e3) + 6.06; lclist=insertList(lclist,tmp_lc); end; %% =========================================================================== % 32 TC-PAM basic_lc.param.mod.bpsym = 4; % But is still 32 PAM on the line basic_lc.param.reqSNR = 33.8042 ... - basic_lc.param.codingGain + basic_lc.param.SNRloss; basic_lc.param.mod.k = [0 768e3 2688e3 5696e3+1; ... 7.86 7.86 9.90 9.90;]; % scaling factor basic_lc.param.Px = [0 2688e3 1e99; 13.5 14.5 14.5;]; % dBm TX power template basic_lc.lcname = 'ETSI-ESDSL-sym32'; lclist=insertList(lclist,basic_lc); % Define some specific rates % brates = [768 2680 2688 5696]; brates = [768 1152 1536 1920 2304 2680 2688 3072 3456 3840 4224 4608 4992 5696]; for bix = 1:length(brates) lcname = sprintf('ETSI-ESDSL-sym32-%d',brates(bix)); tmp_lc=basic_lc; tmp_lc.name=lcname; tmp_lc.param.mod.brate.rate = 1e3*brates(bix); %tmp_lc.param.P1R = 0.3486 * log2(tmp_lc.param.mod.brate.rate + 8e3) + 6.06; lclist=insertList(lclist,tmp_lc); end;