function lclist = itu_lcdefsADSL2(lclist) %% =========================================================================== % itu_lcdefsADSL2(lclist) - Sets up the tfplan for ITU ADLS2 % tfplans, that are used in ETSI SpM studies % % Parameter: lclist Structure describing line code dependent stuff % Returns: lclist Structure describing line code dependent stuff % % Example(s): % ex.lclist = itu_lcdefsADSL2(ex.lclist); Add to existing lclist % lc = getList(ex.lclist,'ITU-ADSL-G.992.5-AnnexJ-NoO64'); % %% =========================================================================== %% =========================================================================== % 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: itu_lcdefsADSL2_SpM.m,v 1.3 2005/01/04 10:32:28 tono Exp $ %% =========================================================================== % Change History % 2004-01-05 (ToNo) Created from itu_lcdefsADSL_SpM % 2005-01-10 (ToNo) Updated the naming scheme % 2008-08-29 (ToNo) Fixed tonesdown and power level for ADSL2+ variants %% =========================================================================== %% =========================================================================== % Basic line code dependent stuff % Basic ADSL DMT params basic_lc=lcDefADSLDMT; % Some numbers for ETSI SpM work basic_lc.param.xtalk_margin = 6; % We use a cross-talk margin of 6dB basic_lc.param.signal_margin = 0; % (and therefore no signal margin) basic_lc.param.SNRloss = 0; % SNR loss basic_lc.param.codingGain = 3; % Net Coding gain of 3dB basic_lc.param.constellation = (1:15); % Bit constellations supported basic_lc.param.modemNoise.LT = '-120'; % Modem noise at LT (dBm/Hz) basic_lc.param.modemNoise.NT = '-140'; % Modem noise at NT (dBm/Hz) lclist=insertList(lclist,basic_lc); %% =========================================================================== % First do ADSL2 variants tfp='ITU-ADSL-G.992.3-AnnexJ-NoO64'; tonesup=[2:63]; tonesdown=[64:255]; PxDown=20.4; % (Nominal is 20.9 but std says this is to be used in SpM) PxUp=13.4; % tmp_lc=basic_lc; tmp_lc.name = tfp; tmp_lc.param.dmt.us.tones = tonesup; tmp_lc.param.dmt.ds.tones = tonesdown; tmp_lc.param.PxDown = PxDown; tmp_lc.param.PxUp = PxUp; tmp_lc.param.modemNoise.LT = '-120'; % Modem noise at LT (dBm/Hz) tmp_lc.param.modemNoise.NT = '-120'; % Modem noise at NT (dBm/Hz) lclist=insertList(lclist,tmp_lc); tfp='ITU-ADSL-G.992.3-AnnexM-NoO64'; tonesup=[6:63]; tonesdown=[64:255]; PxDown=20.4; % (Nominal is 20.9 but std says this is to be used in SpM) PxUp=12.5; % tmp_lc=basic_lc; tmp_lc.name = tfp; tmp_lc.param.dmt.us.tones = tonesup; tmp_lc.param.dmt.ds.tones = tonesdown; tmp_lc.param.PxDown = PxDown; tmp_lc.param.PxUp = PxUp; tmp_lc.param.modemNoise.LT = '-120'; % Modem noise at LT (dBm/Hz) tmp_lc.param.modemNoise.NT = '-120'; % Modem noise at NT (dBm/Hz) lclist=insertList(lclist,tmp_lc); %% =========================================================================== % Now do ADSL2+ variants %%% Downstream parameters basic_lc.param.dmt.ds.carriers = 512; % Number of carriers used basic_lc.param.dmt.ds.fs = basic_lc.param.dmt.df*basic_lc.param.dmt.ds.carriers*2; % Sampling frequency basic_lc.param.dmt.ds.cp = (32+8)*2; % Cyclic prefix value % The 8 comes from the sync frames (spread over all useful frames) % NOTE that windowing for the downstream direction is possible for % ADSL2+, but here we do not assume this is used basic_lc.param.dmt.ds.cs = 0; % Cyclic suffix value basic_lc.param.dmt.ds.my = 0; % Sampels used for windowing basic_lc.param.dmt.ds.beta = 0; % Sampels used for pulse shaping basic_lc.param.modemNoise.LT = '-120'; % Modem noise at LT (dBm/Hz) basic_lc.param.modemNoise.NT = '-140'; % Modem noise at NT (dBm/Hz) tfp='ITU-ADSL-G.992.5-AnnexA-O'; tonesup=[7:31]; tonesdown=[7:63,65:511]; PxDown=20.4; % (Nominal is 20.9 but std says this is to be used in SpM) PxUp=12.5; % tmp_lc=basic_lc; tmp_lc.name = tfp; tmp_lc.param.dmt.us.tones = tonesup; tmp_lc.param.dmt.ds.tones = tonesdown; tmp_lc.param.PxDown = PxDown; tmp_lc.param.PxUp = PxUp; tmp_lc.param.modemNoise.NT = '-120'; lclist=insertList(lclist,tmp_lc); tfp='ITU-ADSL-G.992.5-AnnexA-NoO'; tonesup=[7:30]; tonesdown=[38:63,65:511]; PxDown=19.9; % (Nominal is 20.4 but std says this is to be used in SpM) PxUp=12.5; % tmp_lc=basic_lc; tmp_lc.name = tfp; tmp_lc.param.dmt.us.tones = tonesup; tmp_lc.param.dmt.ds.tones = tonesdown; tmp_lc.param.PxDown = PxDown; tmp_lc.param.PxUp = PxUp; lclist=insertList(lclist,tmp_lc); tfp='ITU-ADSL-G.992.5-AnnexB-O'; tonesup=[33:63]; tonesdown=[33:95,97:511]; PxDown=19.9; % (Nominal is 20.4 but std says this is to be used in SpM) PxUp=13.3; % tmp_lc=basic_lc; tmp_lc.name = tfp; tmp_lc.param.dmt.us.tones = tonesup; tmp_lc.param.dmt.ds.tones = tonesdown; tmp_lc.param.PxDown = PxDown; tmp_lc.param.PxUp = PxUp; tmp_lc.param.modemNoise.NT = '-120'; lclist=insertList(lclist,tmp_lc); tfp='ITU-ADSL-G.992.5-AnnexB-NoO'; tonesup=[33:56]; tonesdown=[64:95,97:511]; PxDown=19.3; % (Nominal is 19.8 but std says this is to be used in SpM) PxUp=13.3; % tmp_lc=basic_lc; tmp_lc.name = tfp; tmp_lc.param.dmt.us.tones = tonesup; tmp_lc.param.dmt.ds.tones = tonesdown; tmp_lc.param.PxDown = PxDown; tmp_lc.param.PxUp = PxUp; lclist=insertList(lclist,tmp_lc); tfp='ITU-ADSL-G.992.5-AnnexI-NoO32'; tonesup=[2:31]; tonesdown=[32:511]; PxDown=19.9; % = AnnexA-NoO PxUp=13.3; % tmp_lc=basic_lc; tmp_lc.name = tfp; tmp_lc.param.dmt.us.tones = tonesup; tmp_lc.param.dmt.ds.tones = tonesdown; tmp_lc.param.PxDown = PxDown; tmp_lc.param.PxUp = PxUp; lclist=insertList(lclist,tmp_lc); tfp='ITU-ADSL-G.992.5-AnnexJ-NoO64'; tonesup=[2:63]; tonesdown=[64:511]; PxDown=19.3; % = AnnexB-NoO PxUp=13.4; % tmp_lc=basic_lc; tmp_lc.name = tfp; tmp_lc.param.dmt.us.tones = tonesup; tmp_lc.param.dmt.ds.tones = tonesdown; tmp_lc.param.PxDown = PxDown; tmp_lc.param.PxUp = PxUp; lclist=insertList(lclist,tmp_lc); tfp='ITU-ADSL-G.992.5-AnnexM-NoO64'; tonesup=[6:63]; tonesdown=[64:511]; PxDown=20.4; % = AnnexA-O PxUp=12.5; % tmp_lc=basic_lc; tmp_lc.name = tfp; tmp_lc.param.dmt.us.tones = tonesup; tmp_lc.param.dmt.ds.tones = tonesdown; tmp_lc.param.PxDown = PxDown; tmp_lc.param.PxUp = PxUp; lclist=insertList(lclist,tmp_lc);