function tfplist = fsan_tfplansMISC(tfplist); %% =========================================================================== %fsan_tfplansMISC(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 = fsan_tfplansMISC(ex.tfplist); Add to existing tfplist % tfplan=getList(ex.tfplist,'HDSL-2'); Get tfplan for HDSL 2 % % ex.tfplist = fsan_tfplansMISC([]); Create a new tfplist % tfplan=getList(ex.tfplist,'ISDN-2B1Q'); Get tfplan for ISDN % % References: % ETSI VDSL Part 1 TS 101-270-1 V1.1.6 (1999-08) % FSAN Noise model notebook, (J. Cook. c25.nb) % ETSI STC TM6(98)10 rev. 3 (nov. 26th, 1999) %% =========================================================================== %% =========================================================================== % Copyright (C): % 1999-2000 by Telia Research AB, Lulea, Sweden; % 2000 by Forschungszentrum Telekommunikation Wien, Austria; % All rights reserved. % Project : The FSAN xDSL simulation tool % Author(s) : Tomas Nordstrom (Tomas.Nordstrom@FTW.at) % : Daniel Bengtsson (Daniel.J.Bengtsson@Telia.se) % : Gernot Schmid (Gernot.Schmid@arcs.ac.at) % % CVS: $Id: fsan_tfplansMISC.m,v 1.7 2001/10/22 20:31:51 tono Exp $ %% =========================================================================== % Change History % 1999-07-01 (Dab) Created % 1999-07-22 (ToNo) Removed the scenario definitions (done on the fly) % 1999-07-25 (ToNo) Added ETSI Hamband def. % 1999-08-12 (DaB) Corrected noise model F (wrong values in ETSI doc) % 1999-08-19 (DaB) New structure with modemdef field % 1999-09-30 (DaB) Rewritten for new ex struct % 1999-10-25 (ToNo) Reorganized things into etsi,ansi,itu,fsan definitions % 1999-11-04 (ToNo) Made it into a function % 2000-01-19 (GS) SDSL noise model extensions % 2000-04-05 (UvAn) Added frequency axis for the call to calcPSD % 2000-04-11 (DaB) Added sync % 2000-05-26 (UvAn) Added possibillities to fix the bitrate %% =========================================================================== %% =========================================================================== % Template, order important! % Default values def_tfplan.name = 'N/A'; % The name of the plan def_tfplan.PSD.downstream = 'N/A'; % PSD up def_tfplan.PSD.upstream = 'N/A'; % PSD down def_tfplan.PSD.active.upstream = [1 30e6];% Active frequency area def_tfplan.PSD.active.downstream = [1 30e6];% Active frequency area def_tfplan.PSD.PBO.method = 'None'; % Power back-off method def_tfplan.PSD.PBO.param.len = 1500; % PBO parameters def_tfplan.PSD.PBO.param.freq = 2e6; def_tfplan.PSD.PBO.param.maxlen = 1500; def_tfplan.PSD.HAM.active = 0; % If HAM band should be imposed def_tfplan.timeDivision.up = 1; % Time used in up resp. down stream def_tfplan.timeDivision.down = 1; def_tfplan.timeDivision.sync = 1; % If TDD is sync. def_tfplan.fixBitrate.name = 'None'; % Fixed bitrate method def_tfplan.fixBitrate.active = 0; % 0=inactive, 1=active def_tfplan.fixBitrate.param = 'N/A'; def_tfplan.lcname = 'N/A'; % Pointer to the line code def. %% =========================================================================== % TFPlan definitions starting % ------------------------------- % ADSL over POTS Reference ETSI TD 20 Villach tmp_tfplan=def_tfplan; tmp_tfplan.name='ADSL'; tmp_tfplan.PSD.downstream='calcPSD([.0001e6 -97.5 .00399e6 -97.5 .004e6 -92.5 .025875e6 -39.5 1.104e6 -39.5 3.093e6 -90 4.545e6 -110 30.e6 -110],''Log-Linear'',ex.param.frequency.f)'; tmp_tfplan.PSD.upstream='calcPSD([.0001e6 -97.5 .00399e6 -97.5 .004e6 -92.5 .025875e6 -37.5 0.138e6 -37.5 0.307e6 -90 1.221e6 -90 1.63e6 -110 30.e6 -110],''Log-Linear'',ex.param.frequency.f)'; tmp_tfplan.lcname='ADSL-DMT'; tmp_tfplan.PSD.active.upstream=[25.875e3 138e3]; tmp_tfplan.PSD.active.downstream=[25.875e3 1.104e6]; tfplist=insertList(tfplist,tmp_tfplan); % ADSL Lite (G.lite) Reference ETSI TD 20 Villach tmp_tfplan=def_tfplan; tmp_tfplan.name='ADSL-lite'; tmp_tfplan.PSD.downstream='calcPSD([.0001e6 -97.5 .00399e6 -97.5 .004e6 -92.5 .08e6 -72.5 0.138e6 -44.2 0.1381e6 -39.5 0.552e6 -39.5 0.956e6 -65 1.8e6 -65 2.290e6 -90 3.093e6 -90 4.545e6 -110 30.e6 -110],''Log-Linear'',ex.param.frequency.f)'; tmp_tfplan.PSD.upstream='calcPSD([.0001e6 -97.5 .00399e6 -97.5 .004e6 -92.5 .025875e6 -37.5 0.138e6 -37.5 0.307e6 -90 1.221e6 -90 1.63e6 -110 30.e6 -110],''Log-Linear'',ex.param.frequency.f)'; tmp_tfplan.lcname='ADSL-lite-DMT'; tmp_tfplan.PSD.active.upstream=[25.875e3 138e3]; tmp_tfplan.PSD.active.downstream=[138e3 552e3]; tfplist=insertList(tfplist,tmp_tfplan); % ADSL over ISDN Reference ETSI TD 20 Villach tmp_tfplan=def_tfplan; tmp_tfplan.name='ADSL-overISDN'; tmp_tfplan.PSD.downstream='calcPSD([.0001e6 -90 .05e6 -90 .080e6 -81.9 .138e6 -39.5 1.104e6 -39.5 3.093e6 -90 4.545e6 -110 30.e6 -110],''Log-Linear'',ex.param.frequency.f)'; tmp_tfplan.PSD.upstream='calcPSD([.0001e6 -90 .05e6 -90 .08e6 -81.9 .138e6 -37.5 0.276e6 -37.5 0.614e6 -90 1.221e6 -90 1.63e6 -110 30.e6 -110],''Log-Linear'',ex.param.frequency.f)'; tmp_tfplan.lcname='ADSL-DMT'; tmp_tfplan.PSD.active.upstream=[25.875e3 138e3]; % NEEDS CHECKING! tmp_tfplan.PSD.active.downstream=[25.875e3 1.104e6]; tfplist=insertList(tfplist,tmp_tfplan); % HDSL 1 tmp_tfplan=def_tfplan; tmp_tfplan.name='HDSL-1'; tmp_tfplan.PSD.downstream='calcPSD([.0001e6 -41.5 .485e6 -41.5 4.85e6 -121.5 30e6 -121.5],''Log-Linear'',ex.param.frequency.f)'; tmp_tfplan.PSD.upstream=tmp_tfplan.PSD.downstream; tmp_tfplan.PSD.active.upstream=[.0001e6 .485e6]; tmp_tfplan.PSD.active.downstream=[.0001e6 .485e6]; tfplist=insertList(tfplist,tmp_tfplan); % HDSL 2 (2B1Q) Reference ETSI TD 20 Villach tmp_tfplan=def_tfplan; tmp_tfplan.name='HDSL-2'; tmp_tfplan.PSD.downstream='calcPSD([.0001e6 -39 .292e6 -39 2.92e6 -119 30e6 -119],''Log-Linear'',ex.param.frequency.f)'; tmp_tfplan.PSD.upstream=tmp_tfplan.PSD.downstream; tmp_tfplan.PSD.active.upstream=[0.0001e6 0.292e6]; tmp_tfplan.PSD.active.downstream=[0.0001e6 0.292e6]; tfplist=insertList(tfplist,tmp_tfplan); % HDSL 3 tmp_tfplan=def_tfplan; tmp_tfplan.name='HDSL-3'; tmp_tfplan.PSD.downstream='calcPSD([.0001e6 -37 .196e6 -37 1.96e6 -117 30e6 -117],''Log-Linear'',ex.param.frequency.f)'; tmp_tfplan.PSD.upstream=tmp_tfplan.PSD.downstream; tmp_tfplan.PSD.active.upstream=[1e3 196e3]; tmp_tfplan.PSD.active.downstream=[1e3 196e3]; tfplist=insertList(tfplist,tmp_tfplan); % ISDN 2B1Q Reference ETSI TD 20 Villach tmp_tfplan=def_tfplan; tmp_tfplan.name='ISDN-2B1Q'; tmp_tfplan.PSD.downstream='calcPSD([.0001e6 -30 .05e6 -30 .3e6 -69 .301e6 -79 .5e6 -90 1.4e6 -90 3.637e6 -120 30e6 -120],''Log-Linear'',ex.param.frequency.f)'; tmp_tfplan.PSD.upstream=tmp_tfplan.PSD.downstream; tmp_tfplan.PSD.active.upstream=[1e3 40e3]; tmp_tfplan.PSD.active.downstream=[1e3 40e3]; tfplist=insertList(tfplist,tmp_tfplan); % ISDN 4B3T (for DTAG) Reference ETSI TD 20 Villach tmp_tfplan=def_tfplan; tmp_tfplan.name='ISDN-4B3T'; tmp_tfplan.PSD.downstream='calcPSD([.0001e6 -30 .05e6 -30 .3e6 -67 .301e6 -74 1e6 -74 4.043e6 -120 30e6 -120],''Log-Linear'',ex.param.frequency.f)'; tmp_tfplan.PSD.upstream=tmp_tfplan.PSD.downstream; tmp_tfplan.PSD.active.upstream=[1e3 50e3]; tmp_tfplan.PSD.active.downstream=[1e3 50e3]; tfplist=insertList(tfplist,tmp_tfplan); % ISDN PRI Check function modelPSD_ISDN_PRA for model source tmp_tfplan=def_tfplan; tmp_tfplan.name='ISDN-PRI'; tmp_tfplan.PSD.downstream='modelPSD_ISDN_PRA(ex.param.frequency.f)'; tmp_tfplan.PSD.upstream=tmp_tfplan.PSD.downstream; tmp_tfplan.PSD.active.upstream=[1e3 2.1e6]; tmp_tfplan.PSD.active.downstream=[1e3 2.1e6]; tfplist=insertList(tfplist,tmp_tfplan); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %EXtension with respect to SDSL-Noise modeling according to TM6(98)10 rev. 3: % ISDN 2B1Q (more detailed in low frequency region, % compared to definition above TD 20 Villach) tmp_tfplan=def_tfplan; tmp_tfplan.name='ISDN-2B1Q-new'; tmp_tfplan.PSD.downstream='calcPSD([.0001e6 -31.8 .015e6 -31.8 .03e6 -33.5 .045e6 -36.6 .06e6 -42.2 .075e6 -55 .085e6 -55 .1e6 -48 .114e6 -48 .3e6 -69 .301e6 -79 .5e6 -90 1.4e6 -90 3.637e6 -120 30e6 -120 ],''Log-Linear'',ex.param.frequency.f)'; tmp_tfplan.PSD.upstream=tmp_tfplan.PSD.downstream; tmp_tfplan.PSD.active.upstream=[1e3 40e3]; %OK?? tmp_tfplan.PSD.active.downstream=[1e3 40e3]; %OK?? tfplist=insertList(tfplist,tmp_tfplan); % HDSL 2 (2B1Q) according to TM6(98)10, rev. 5 % (similar but different to above, why ???) tmp_tfplan=def_tfplan; tmp_tfplan.name='HDSL-2-new'; tmp_tfplan.PSD.downstream='calcPSD([.0001e6 -40.2 .1e6 -40.2 .2e6 -41.6 .3e6 -44.2 .4e6 -49.7 .5e6 -61.5 .57e6 -80 .6e6 -80 .65e6 -72 .755e6 -72 2.92e6 -119 30e6 -119],''Log-Linear'',ex.param.frequency.f)'; tmp_tfplan.PSD.upstream=tmp_tfplan.PSD.downstream; tmp_tfplan.PSD.active.upstream=[0.0001e6 0.292e6]; %OK ?? tmp_tfplan.PSD.active.downstream=[0.0001e6 0.292e6];%OK ?? tfplist=insertList(tfplist,tmp_tfplan); % HDSL CAP (2-pair) according to TM6(98)10, rev. 5 tmp_tfplan=def_tfplan; tmp_tfplan.name='HDSL-CAP'; tmp_tfplan.PSD.downstream='calcPSD([.0001e6 -57 .00398e6 -57 .0215e6 -43 .03902e6 -40 .23758e6 -40 .2551e6 -43 .27262e6 -60 .297e6 -90 1.188e6 -120 30e6 -120],''Log-Linear'',ex.param.frequency.f)'; tmp_tfplan.PSD.upstream=tmp_tfplan.PSD.downstream; tmp_tfplan.PSD.active.upstream=[1e3 196e3]; tmp_tfplan.PSD.active.downstream=[1e3 196e3]; tfplist=insertList(tfplist,tmp_tfplan); % SDSL PSD-mask assuming 2.304 Mbps , 8kbps overhead, 3 bits per symbol (see TM6(98)10 rev. 3) tmp_tfplan=def_tfplan; tmp_tfplan.name='SDSL'; tmp_tfplan.PSD.downstream='model_noisePSD_SDSL(ex.param.frequency.f)'; tmp_tfplan.PSD.upstream=tmp_tfplan.PSD.downstream; tmp_tfplan.PSD.active.upstream=[1e3 .5e6]; % ???? tmp_tfplan.PSD.active.downstream=[1e3 .5e6];% ???? tfplist=insertList(tfplist,tmp_tfplan); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Models of alien noises as defined in T1E1.4/99 -438R2 % HDSL model tmp_tfplan=def_tfplan; tmp_tfplan.name='HDSL-model'; tmp_tfplan.PSD.downstream='modelPSD_HDSL(ex.param.frequency.f)'; tmp_tfplan.PSD.upstream=tmp_tfplan.PSD.downstream; tmp_tfplan.PSD.active.upstream=[1e3 .485e6]; tmp_tfplan.PSD.active.downstream=[1e3 .485e6]; tfplist=insertList(tfplist,tmp_tfplan); % T1 model tmp_tfplan=def_tfplan; tmp_tfplan.name='T1-model'; tmp_tfplan.PSD.downstream='modelPSD_T1(ex.param.frequency.f)'; tmp_tfplan.PSD.upstream=tmp_tfplan.PSD.downstream; tmp_tfplan.PSD.active.upstream=[1e3 1.544e6]; % Needs checking tmp_tfplan.PSD.active.downstream=[1e3 1.544e6]; tfplist=insertList(tfplist,tmp_tfplan);