function tfplist = itu_tfplansADSL2(tfplist) %% =========================================================================== %itu_tfplansADSL2(tfplist) - Sets up tfplans for some standard % ADSL2 alien systems % % Parameter: tfplist Structure describing the time and freq plan % Returns: tfplist Structure describing the time and freq plan % % Example(s): % ex.tfplist = itu_tfplansADSL2(ex.tfplist); Add to existing tfplist % tfplan=getList(ex.tfplist,'ITU-ADSL-G.992.3-AnnexB-NoO'); % % References: % ITU G.992.3 (07/2002 prepublish) and G.992.5 (05/2003 prepublish) % ITU Draft Amendment 1 (new Annexes J and M) to Recommendation G.992.5 % ITU G.992.3 (01/2005) and G.992.5 (01/2005) %% =========================================================================== %% =========================================================================== % 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_tfplansADSL2_SpM.m,v 1.2 2005/01/04 10:25:12 tono Exp $ %% =========================================================================== % Change History % 2004-01-07 (ToNo) Created from etsi_tfplansADSL_SpM.m % 2005-01-10 (ToNo) Updated the naming scheme % 2005-05-02 (ToNo) Added a number of missing variations (esp. G.992.5) % 2008-08-29 (ToNo) Completed all Appendicies for ADSL2+ (G.992.5) % ToDo: ADSL2 (G.992.3) Annex A(O,NoO), B(O), I(O,NoO), J(O), M(O,NoO) %% =========================================================================== df = 4.3125e3; % delta f (carrier BW) for ADSL; %% =========================================================================== % Use a template, as order is important! def_tfplan = templateTFP; % Select Bit-loading 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'; %% =========================================================================== % ADSL2 (G.992.3) Annex A - FDD/EC over POTS % Specific requirements for an ADSL system operating in the frequency % band above POTS %% =========================================================================== % ADSL2 (G.992.3) Annex B - FDD/EC over ISDN % Specific requirements for an ADSL system operating in the frequency % band above ISDN as defined in ITU-T Rec. G.961 Appendices I and II tmp_tfplan=def_tfplan; tmp_tfplan.name='ITU-ADSL-G.992.3-AnnexB-NoO'; % FDD over ISDN k1=33; k2=56; k3=64; k4=255; tableUS = [ [ 1 -90-3.5]; [ 50e3 -90-3.5]; [ 80e3 -81.8-3.5]; [ 120e3 -34.5-3.5]; [ 276e3 -34.5-3.5]; [ 614e3 -90-3.5]; [ 1221e3 -90-3.5]; [ 1630e3 -110]; [ 30e6 -110]; ]; tableDS = [ [ 1 -90-3.5]; [ 93.1e3 -90-3.5]; [ 209e3 -62-3.5]; [ 254e3 -36.5-3.5]; [ 1104e3 -36.5-3.5]; [ 3093e3 -90-3.5]; [ 4545e3 -110]; [ 30e6 -110]; ]; tabstr=num2str(reshape([tableUS(:,1),tableUS(:,2)]',1,numel(tableUS))); tmp_tfplan.PSD.upstream =sprintf('calcPSD([%s ],''Log-Linear'',ex.param.frequency.f)',tabstr); tabstr=num2str(reshape([tableDS(:,1),tableDS(:,2)]',1,numel(tableDS))); tmp_tfplan.PSD.downstream =sprintf('calcPSD([%s ],''Log-Linear'',ex.param.frequency.f)',tabstr); tmp_tfplan.lcname=tmp_tfplan.name; tmp_tfplan.PSD.active.upstream=[df*(k1-0.5) df*(k2+0.5)]; tmp_tfplan.PSD.active.downstream=[df*(k3-0.5) df*(k4+0.5)]; tfplist=insertList(tfplist,tmp_tfplan); %% =========================================================================== % ADSL2 (G.992.3) Annex I - EC/FDD ADL % All digital mode ADSL with improved spectral compatibility with ADSL % over POTS %% =========================================================================== % ADSL2 (G.992.3) Annex J - EC/FDD ADL % All digital mode ADSL with improved spectral compatibility with ADSL % over ISDN namelist = [32:4:64]; f1list = [138, 155.25, 172.5, 189.75, 207, 224.25, 241.5, 258.75, 276]*1e3; f2list = [307, 343, 379, 415, 450, 485, 520, 554, 589]*1e3; psdpeak = [-34.5, -35, -35.5, -35.9, -36.3, -36.6, -36.9, -37.2, -37.5]; psdtmpl = psdpeak-3.5; variants = [32 64]; for variant = variants vix = find(variant==namelist); tmp_tfplan=def_tfplan; tmp_tfplan.name=sprintf('ITU-ADSL-G.992.3-AnnexJ-NoO%d',variant); k1=2; k2=variant; k3=64; k4=255; f1 = f1list(vix); f2 = f2list(vix); psdmax = psdtmpl(vix); % f1=(k1-0.5)*df;f2=(k2+0.5)*df; f3=(k3-0.5)*df;f4=(k4+0.5)*df; tableUS = [ [ 1 -46.5-3.5]; [ 1.5e3 -46.5-3.5]; [ 3e3 psdmax ]; [ f1 psdmax ]; [ f2 -90-3.5]; [ 1221e3 -90-3.5]; [ 1630e3 -110]; [ 30e6 -110]; ]; tableDS = [ [ 1 -90-3.5]; [ 93.1e3 -90-3.5]; [ 209e3 -62-3.5]; [ 253.9e3 -48.5-3.5]; [ 254e3 -36.5-3.5]; [ 1104e3 -36.5-3.5]; [ 3093e3 -90-3.5]; [ 4545e3 -110]; [ 30e6 -110]; ]; AlternativeNotUse_tableDS = [ [ 1 -90]; [ f3-10*df -90]; [ f3-0.5*df -52 ]; [ f3 -40 ]; [ f4 -40 ]; [ f4+23*df -90]; [ 3093e3 -90 ]; [ 4545e3 -112 ]; [ 30e6 -112 ]; ]; tabstr=num2str(reshape([tableUS(:,1),tableUS(:,2)]',1,numel(tableUS))); tmp_tfplan.PSD.upstream =sprintf('calcPSD([%s ],''Log-Linear'',ex.param.frequency.f)',tabstr); tabstr=num2str(reshape([tableDS(:,1),tableDS(:,2)]',1,numel(tableDS))); tmp_tfplan.PSD.downstream =sprintf('calcPSD([%s ],''Log-Linear'',ex.param.frequency.f)',tabstr); tmp_tfplan.lcname=tmp_tfplan.name; % tmp_tfplan.PSD.active.upstream=[df*(k1-0.5) df*(k2+0.5)]; % tmp_tfplan.PSD.active.downstream=[df*(k3-0.5) df*(k4+0.5)]; tmp_tfplan.PSD.active.upstream=[3e3 f1]; tmp_tfplan.PSD.active.downstream=[df*(k3-0.5) df*(k4+0.5)]; tfplist=insertList(tfplist,tmp_tfplan); end % variants %% =========================================================================== % ADSL2 (G.992.3) Annex M - FDD "ADL over POTS" % Specific requirements for an ADSL system with extended upstream % bandwidth, operating in the frequency band above POTS tmp_tfplan=def_tfplan; tmp_tfplan.name='ITU-ADSL-G.992.3-AnnexM-NoO64'; k1=6; k2=63; k3=64; k4=255; %% =========================================================================== % ADSL2+ (G.992.5) Annex A % Specific requirements for an ADSL system operating in the frequency % band above POTS % ADSL2+ (G.992.5) Annex A - EC Over POTS tmp_tfplan=def_tfplan; tmp_tfplan.name='ITU-ADSL-G.992.5-AnnexA-O'; k1=7; k2=31; k3=7; k4=511; tmp_tfplan.PSD.upstream =sprintf('calcPSD([1 -101 4e3 -101 4e3+1 -96 25.875e3 -38 138e3 -38 229.6e3 -92.9 686e3 -100 1411e3 -100 1630e3 -110 5275e3 -112 30e6 -112 ],''Log-Linear'',ex.param.frequency.f)',tabstr); tmp_tfplan.PSD.downstream =sprintf('calcPSD([1 -101 4e3 -101 4e3+1 -96 25.875e3 -40 1104e3 -40 1622e3 -50 2208e3 -51.3 2500e3 -62.9 3001.5e3 -83.5 317e35 -100 3750e3 -100 4545e3 -110 7225e3 -112 30e6 -112 ],''Log-Linear'',ex.param.frequency.f)',tabstr); AnnexAODS = tmp_tfplan.PSD.downstream; tmp_tfplan.lcname=tmp_tfplan.name; tmp_tfplan.PSD.active.upstream=[df*(k1-0.5) df*(k2+0.5)]; tmp_tfplan.PSD.active.downstream=[df*(k3-0.5) df*(k4+0.5)]; tfplist=insertList(tfplist,tmp_tfplan); %% --------------------------------------------- % ADSL2+ (G.992.5) Annex A - FDD Over POTS tmp_tfplan=def_tfplan; tmp_tfplan.name='ITU-ADSL-G.992.5-AnnexA-NoO'; k1=7; k2=30; k3=38; k4=511; tmp_tfplan.PSD.upstream =sprintf('calcPSD([1 -101 4e3 -101 4e3+1 -96 25.875e3 -38 138e3 -38 229.6e3 -92.9 686e3 -100 1411e3 -100 1630e3 -110 5275e3 -112 30e6 -112 ],''Log-Linear'',ex.param.frequency.f)',tabstr); tmp_tfplan.PSD.downstream =sprintf('calcPSD([1 -101 4e3 -101 4e3+1 -96 80e3 -76 138e3 -47.7 138e3+1 -40 1104e3 -40 1622e3 -50 2208e3 -51.3 2500e3 -62.9 3001.5e3 -83.5 3175e3 -100 3750e3 -100 4545e3 -110 7225e3 -112 30e6 -112 ],''Log-Linear'',ex.param.frequency.f)',tabstr); tmp_tfplan.lcname=tmp_tfplan.name; tmp_tfplan.PSD.active.upstream=[df*(k1-0.5) df*(k2+0.5)]; tmp_tfplan.PSD.active.downstream=[df*(k3-0.5) df*(k4+0.5)]; tfplist=insertList(tfplist,tmp_tfplan); %% =========================================================================== % ADSL2+ (G.992.5) Annex B % Specific requirements for an ADSL system operating in the frequency % band above ISDN as defined in ITU-T Rec. G.961 Appendices I and II % ADSL2+ (G.992.5) Annex B - EC Over ISDN tmp_tfplan=def_tfplan; tmp_tfplan.name='ITU-ADSL-G.992.5-AnnexB-O'; k1=33; k2=63; k3=33; k4=511; tmp_tfplan.PSD.upstream =sprintf('calcPSD([1 -90 50e3 -90 80e3 -85.3 120e3 -38 276e3 -38 491e3 -97.8 686e3 -100 1411e3 -100 1630e3 -110 5275e3 -112 30e6 -112 ],''Log-Linear'',ex.param.frequency.f)',tabstr); tmp_tfplan.PSD.downstream =sprintf('calcPSD([1 -90 50e3 -90 80e3 -85.3 120e3 -40 1104e3 -40 1622e3 -50 2208e3 -51.3 2500e3 -62.9 3001.5e3 -83.5 3175e3 -100 3750e3 -100 4545e3 -110 7225e3 -112 30e6 -112 ],''Log-Linear'',ex.param.frequency.f)',tabstr); tmp_tfplan.lcname=tmp_tfplan.name; tmp_tfplan.PSD.active.upstream=[df*(k1-0.5) df*(k2+0.5)]; tmp_tfplan.PSD.active.downstream=[df*(k3-0.5) df*(k4+0.5)]; tfplist=insertList(tfplist,tmp_tfplan); %% --------------------------------------------- % ADSL2+ (G.992.5) Annex B - FDD Over ISDN tmp_tfplan=def_tfplan; tmp_tfplan.name='ITU-ADSL-G.992.5-AnnexB-NoO'; k1=33; k2=56; k3=64; k4=511; tmp_tfplan.PSD.upstream =sprintf('calcPSD([1 -90 50e3 -90 80e3 -85.3 120e3 -38 276e3 -38 491e3 -97.8 686e3 -100 1411e3 -100 1630e3 -110 5275e3 -112 30e6 -112 ],''Log-Linear'',ex.param.frequency.f)',tabstr); tmp_tfplan.PSD.downstream =sprintf('calcPSD([1 -90 93.1e3 -90 209e3 -65.5 254e3 -52 254e3+1 -40 1104e3 -40 1622e3 -50 2208e3 -51.3 2500e3 -62.9 3001.5e3 -83.5 3175e3 -100 3750e3 -100 4545e3 -110 7225e3 -112 30e6 -112 ],''Log-Linear'',ex.param.frequency.f)',tabstr); AnnexBNoODS = tmp_tfplan.PSD.downstream; tmp_tfplan.lcname=tmp_tfplan.name; tmp_tfplan.PSD.active.upstream=[df*(k1-0.5) df*(k2+0.5)]; tmp_tfplan.PSD.active.downstream=[df*(k3-0.5) df*(k4+0.5)]; tfplist=insertList(tfplist,tmp_tfplan); %% =========================================================================== % ADSL2+ (G.992.5) Annex I - EC/FDD ADL % All digital mode ADSL with improved spectral compatibility with ADSL % over POTS % ATU-C (Downstream) TableI121 = [... [0.001 -52];... [1.5 -52];... [3 -40];... [1104 -40];... [1622 -50];... [2208 -51.3];... [2500 -62.9];... [3001.5 -83.5];... [3175 -100];... [3750 -100];... [4545 -110];... [7225 -112];... [12000 -112]... ]; % ATU-R (Upstream) TableI122 = [... [0.001 -50];... [1.5 -50];... [3 -38];... [138 -38];... [229.6 -92.9];... [686 -100];... [1411 -100];... [1630 -110];... [5275 -112];... [12000 -112]... ]; variant = 32; %% --------------------------------------------- % ADSL2+ (G.992.5) Annex I - EC ADL over POTS tmp_tfplan=def_tfplan; tmp_tfplan.name=sprintf('ITU-ADSL-G.992.5-AnnexI-O%d',variant); k1=2; k2=31; k3=2; k4=511; tabstr=num2str(reshape([TableI121(:,1)*1e3,TableI121(:,2)]',1,numel(TableI121))); tmp_tfplan.PSD.downstream =sprintf('calcPSD([%s ],''Log-Linear'',ex.param.frequency.f)',tabstr); AnnexIODS = tmp_tfplan.PSD.downstream; tabstr=num2str(reshape([TableI122(:,1)*1e3,TableI122(:,2)]',1,numel(TableI122))); tmp_tfplan.PSD.upstream =sprintf('calcPSD([%s ],''Log-Linear'',ex.param.frequency.f)',tabstr); tmp_tfplan.lcname=tmp_tfplan.name; tmp_tfplan.PSD.active.upstream=[df*(k1-0.5) df*(k2+0.5)]; tmp_tfplan.PSD.active.downstream=[df*(k3-0.5) df*(k4+0.5)]; tfplist=insertList(tfplist,tmp_tfplan); %% --------------------------------------------- % ADSL2+ (G.992.5) Annex I - FDD ADL over POTS tmp_tfplan=def_tfplan; tmp_tfplan.name=sprintf('ITU-ADSL-G.992.5-AnnexI-NoO%d',variant); k1=2; k2=31; k3=32; k4=511; % According to section I.1.3: TableI121(1:3,1:2) = [[0.001 -97.5];[3.999 -97.5];[4 TableI121(3,2)]]; tabstr=num2str(reshape([TableI121(:,1)*1e3,TableI121(:,2)]',1,numel(TableI121))); tmp_tfplan.PSD.downstream =sprintf('calcPSD([%s ],''Log-Linear'',ex.param.frequency.f)',tabstr); tabstr=num2str(reshape([TableI122(:,1)*1e3,TableI122(:,2)]',1,numel(TableI122))); tmp_tfplan.PSD.upstream =sprintf('calcPSD([%s ],''Log-Linear'',ex.param.frequency.f)',tabstr); tmp_tfplan.lcname=tmp_tfplan.name; tmp_tfplan.PSD.active.upstream=[df*(k1-0.5) df*(k2+0.5)]; tmp_tfplan.PSD.active.downstream=[df*(k3-0.5) df*(k4+0.5)]; tfplist=insertList(tfplist,tmp_tfplan); %% =========================================================================== % ADSL2+ (G.992.5) Annex J % All Digital Mode ADSL with improved spectral compatibility with ADSL % over ISDN namelist = [32:4:64]; %f1list = [138, 155.25, 172.5, 189.75, 207, 224.25, 241.5, 258.75, 276]*1e3; %psdpeak = [-34.5, -35, -35.5, -35.9, -36.3, -36.6, -36.9, -37.2, -37.5]; %psdtmpl = psdpeak-3.5; TableJ3 = [... [ -38.0 13.4 -34.5 138.00 242.92 -93.2];... [ -38.5 13.4 -35.0 155.25 274.00 -94.0];... [ -39.0 13.4 -35.5 172.50 305.16 -94.7];... [ -39.4 13.4 -35.9 189.75 336.40 -95.4];... [ -39.8 13.4 -36.3 207.00 367.69 -95.9];... [ -40.1 13.4 -36.6 224.25 399.04 -96.5];... [ -40.4 13.4 -36.9 241.50 430.45 -97.0];... [ -40.7 13.4 -37.2 258.75 461.90 -97.4];... [ -41.0 13.4 -37.5 276.00 493.41 -97.9]... ]; psdpeak = TableJ3(:,3)'; psdtmpl = psdpeak-3.5; f1list = TableJ3(:,4)'; %f_int_templ = TableJ3(:,5)'*1e3; %PSD_int_templ = TableJ3(:,6)'; % Table J.2.2-2/G.992.5 f_int_templ = [234.34 64.33 94.39 324.52 354.71 384.95 415.25 445.59 475.99]*1e3; PSD_int_templ = [-93.0 8 -94.5 -95.1 -95.7 -96.2 -96.7 -97.2 -97.6]; %% --------------------------------------------- % ADSL2+ (G.992.5) Annex J - FDD ADL over ISDN variants = [32 64]; for variant = variants vix = find(variant==namelist); tmp_tfplan=def_tfplan; tmp_tfplan.name=sprintf('ITU-ADSL-G.992.5-AnnexJ-NoO%d',variant); k1=2; k2=63; k3=64; k4=511; f1 = f1list(vix); psdmax = psdtmpl(vix); f2 = f_int_templ(vix); f2_PSD = PSD_int_templ(vix); % Table J.2.2-1/G.992.5 tableUS = [ [ 1 -50]; [ 1.5e3 -50]; [ 3e3 psdmax ]; [ f1 psdmax ]; [ f2 f2_PSD ]; [ 686e3 -100]; [ 1411e3 -100]; [ 1630e3 -110]; [ 5275e3 -112]; [ 30e6 -112]; ]; tabstr=num2str(reshape([tableUS(:,1),tableUS(:,2)]',1,numel(tableUS))); tmp_tfplan.PSD.upstream =sprintf('calcPSD([%s ],''Log-Linear'',ex.param.frequency.f)',tabstr); % J.1.3: The ATU-C transmit spectral mask shall be identical to the ATU-C % transmit spectral mask for non-overlapped spectrum operation over % ISDN, as defined in Figure B.2. tmp_tfplan.PSD.downstream = AnnexBNoODS; tmp_tfplan.lcname=tmp_tfplan.name; tmp_tfplan.PSD.active.upstream=[3e3 f1]; tmp_tfplan.PSD.active.downstream=[df*(k3-0.5) df*(k4+0.5)]; tfplist=insertList(tfplist,tmp_tfplan); end % variants %% --------------------------------------------- % ADSL2+ (G.992.5) Annex J - EC ADL over ISDN variants = [32 64]; for variant = variants vix = find(variant==namelist); tmp_tfplan=def_tfplan; tmp_tfplan.name=sprintf('ITU-ADSL-G.992.5-AnnexJ-O%d',variant); k1=2; k2=63; k3=2; k4=511; f1 = f1list(vix); psdmax = psdtmpl(vix); f2 = f_int_templ(vix); f2_PSD = PSD_int_templ(vix); tableUS = [ [ 1 -50]; [ 1.5e3 -50]; [ 3e3 psdmax ]; [ f1 psdmax ]; [ f2 f2_PSD ]; [ 686e3 -100]; [ 1411e3 -100]; [ 1630e3 -110]; [ 5275e3 -112]; [ 30e6 -112]; ]; tabstr=num2str(reshape([tableUS(:,1),tableUS(:,2)]',1,numel(tableUS))); tmp_tfplan.PSD.upstream =sprintf('calcPSD([%s ],''Log-Linear'',ex.param.frequency.f)',tabstr); % J.1.2: The ATU-C transmit spectral mask shall be identical to the ATU-C % transmit spectral mask for overlapped spectrum operation, as defined % in Figure I.1. tmp_tfplan.PSD.downstream = AnnexIODS; tmp_tfplan.PSD.downstream =sprintf('calcPSD([1 -100 30e6 -100 ],''Log-Linear'',ex.param.frequency.f)',tabstr); tmp_tfplan.lcname=tmp_tfplan.name; tmp_tfplan.PSD.active.upstream=[3e3 f1]; tmp_tfplan.PSD.active.downstream=[df*(k3-0.5) df*(k4+0.5)]; tfplist=insertList(tfplist,tmp_tfplan); end % variants %% =========================================================================== % ADSL2+ (G.992.5) Annex M % Specific requirements for an ADSL system with extended upstream % bandwidth, operating in the frequency band above POTS %% --------------------------------------------- % ADSL2+ (G.992.5) Annex M - FDD "ADL over POTS" variants = [32 64]; for variant = variants vix = find(variant==namelist); tmp_tfplan=def_tfplan; tmp_tfplan.name=sprintf('ITU-ADSL-G.992.5-AnnexM-NoO%d',variant); k1=6; k2=63; k3=64; k4=511; f1 = f1list(vix); psdmax = psdtmpl(vix); f2 = f_int_templ(vix); f2_PSD = PSD_int_templ(vix); tableUS = [ [ 1 -101]; [ 4e3 -101]; [ 4e3+1 -96]; [ 25.876e3 psdmax ]; [ f1 psdmax ]; [ f2 f2_PSD ]; [ 686e3 -100]; [ 1411e3 -100]; [ 1630e3 -110]; [ 5275e3 -112]; [ 30e6 -112]; ]; tabstr=num2str(reshape([tableUS(:,1),tableUS(:,2)]',1,numel(tableUS))); tmp_tfplan.PSD.upstream =sprintf('calcPSD([%s ],''Log-Linear'',ex.param.frequency.f)',tabstr); % M.1.3: The ATU-C downstream transmit spectral mask shall be % identical to the ATU-C transmit spectral mask for non-overlapped % spectrum operation over ISDN, as defined in Figure B.2. tmp_tfplan.PSD.downstream = AnnexBNoODS; tmp_tfplan.lcname=tmp_tfplan.name; tmp_tfplan.PSD.active.upstream=[3e3 f1]; tmp_tfplan.PSD.active.downstream=[df*(k3-0.5) df*(k4+0.5)]; tfplist=insertList(tfplist,tmp_tfplan); end % variants %% --------------------------------------------- % ADSL2+ (G.992.5) Annex M - EC "ADL over POTS" variants = [64]; for variant = variants vix = find(variant==namelist); tmp_tfplan=def_tfplan; tmp_tfplan.name=sprintf('ITU-ADSL-G.992.5-AnnexM-O%d',variant); k1=6; k2=63; k3=6; k4=511; f1 = f1list(vix); psdmax = psdtmpl(vix); f2 = f_int_templ(vix); f2_PSD = PSD_int_templ(vix); tableUS = [ [ 1 -101]; [ 4e3 -101]; [ 4e3+1 -96]; [ 25.876e3 psdmax ]; [ f1 psdmax ]; [ f2 f2_PSD ]; [ 686e3 -100]; [ 1411e3 -100]; [ 1630e3 -110]; [ 5275e3 -112]; [ 30e6 -112]; ]; tabstr=num2str(reshape([tableUS(:,1),tableUS(:,2)]',1,numel(tableUS))); tmp_tfplan.PSD.upstream =sprintf('calcPSD([%s ],''Log-Linear'',ex.param.frequency.f)',tabstr); % M.1.2: The ATU-C transmit spectral mask shall be identical to the % ATU-C transmit spectral mask for overlapped spectrum operation over % POTS, as defined in Figure A.1. tmp_tfplan.PSD.downstream = AnnexAODS; tmp_tfplan.lcname=tmp_tfplan.name; tmp_tfplan.PSD.active.upstream=[3e3 f1]; tmp_tfplan.PSD.active.downstream=[df*(k3-0.5) df*(k4+0.5)]; tfplist=insertList(tfplist,tmp_tfplan); end % variants