%====================================================================== WHAT IS NEW IN THE VERSION 3.0 OF THE XDSL SIMULATOR? * This is a major overhaul of the simulator, where we now can run the simulator on both Matlab and Octave. To make the compatibility easier to handle we have made changes to some of the usage of cell arrays. This change can especially be noted in the definitions of traffic and topologies. To support both matlab and Octave we now have two directories with tool specific files src/matlab respectively src/octave. * We have also renamed a lot of files to clarify what they do ansi_loops -> ansi_loopsVDSL ansi_noise -> ansi_noisesVDSL calcFSANresult -> calcXDSLresult dmt -> bitloadingRounded etsi_PSDmasks -> etsi_masksVDSL etsi_goals -> etsi_goalsVDSL etsi_lcdefs -> etsi_lcdefsVDSL fsan_lcdefs -> etsi_lcdefsADSL fsan_loops -> fsan_loopsVDSL fsan_noise -> etsi_noisesADSL,etsi_noisesSDSL,etsi_noisesVDSL fsan_tfplansMISC -> fsan_modelsMISC fsan_tfplansVDSL -> special_modelsVDSL fsansimuVersion -> xDSLsimuVersion getAtt -> getIL itu_cables -> itu_cablesADSL itu_tfplistsMISC -> itu_modelsPNT * We have split some xDSL definition files into DSL technology specific files: src/xdsldefs/ansi_loopsVDSL.m src/xdsldefs/ansi_noisesVDSL.m src/xdsldefs/etsi_cablesADSL.m src/xdsldefs/etsi_cablesADSL_extra.m src/xdsldefs/etsi_cablesSDSL.m src/xdsldefs/etsi_cablesVDSL.m src/xdsldefs/etsi_goalsVDSL.m src/xdsldefs/etsi_lcdefsADSL.m src/xdsldefs/etsi_lcdefsVDSL.m src/xdsldefs/etsi_masksVDSL.m src/xdsldefs/etsi_modelsVDSL_SCM.m src/xdsldefs/etsi_noisesADSL.m src/xdsldefs/etsi_noisesSDSL.m src/xdsldefs/etsi_noisesVDSL.m src/xdsldefs/etsi_tfplansADSL.m src/xdsldefs/fsan_loopsVDSL.m src/xdsldefs/fsan_modelsMISC.m src/xdsldefs/itu_cablesADSL.m src/xdsldefs/itu_modelsPNT.m src/xdsldefs/special_modelsVDSL.m * We have added a VDSL performance calculation example The example generates the VDSL performance numbers for ETSI VDSL part 1 src/examples/VDSL/VDSLperf.m src/examples/VDSL/TableOutput.m src/examples/VDSL/rateSearch.m src/examples/VDSL/VDSLIL.m src/examples/VDSL/startup.m src/examples/VDSL/ExampleResults/Tout_raw src/examples/VDSL/ExampleResults/Tout_rounded src/examples/VDSL/ExampleResults/diary20030811_perfA0_r1 src/examples/VDSL/ExampleResults/diary20030811_perfA1_r1 src/examples/VDSL/ExampleResults/diary20030811_perfB0_r1 src/examples/VDSL/ExampleResults/diary20030811_perfB1_r1 src/examples/VDSL/ExampleResults/matlab20030811_perfA0.mat src/examples/VDSL/ExampleResults/matlab20030811_perfA1.mat src/examples/VDSL/ExampleResults/matlab20030811_perfB0.mat src/examples/VDSL/ExampleResults/matlab20030811_perfB1.mat * We also renamed a variable FSANNoiseModel -> NoiseModel * Some other new files are: src/xdslcomm/onMatlab.m % Check if we run matlab or octave src/xdslcomm/greetings.m % Greet the user of the simulator src/xdslcomm/interpolate.m % Abstraction of the interpolate routine src/xdslcomm/sumLen.m % Help routine for evalPBO.m as octave do not % support function definitions in functions src/xdsldefs/templateTFP.m % Template for tfplan definitions Note that we now stopped using cubic splines as they do not give consistent result in different versions of matlab as well as octave (compare to the 'cubic' vs 'v5cubic' mess we have in matlab version 6). Instead we use linear interpolation when interpolation is needed. * Update of DMT bit-loading routines The original DMT bit-loading (water-filling) routine used in the simulator (a Rate Adaptive one) was doing rounding to get to integer constellation sizes. This, however, can lead to a case when to much power is sent into the line (not very much, but for some cases not correct). We have therefore implemented a new bit-loading algorithm based on J. Campello's work. In addition to rate adaptive we also have implemented a margin adaptive version of the bit-loading. Which method to be used is controlled by tfplan.fixBitrate.name ('RBL', 'GABL_RA', and 'GABL_MA'). For the margin adaptive bit-loading one need to set target rates as: tfplan.fixBitrate.param.target_us tfplan.fixBitrate.param.target_ds * Splitting of background noise Before we had a global background noise level (ex.param.bgNoise.LT/NT) that was added to the crosstalk before increasing the noise level according to the crosstalk margin (lc.param.xtalk_margin) defined for a certain line code (lc). Now we have the opportunity to add a line code dependent noise after increasing the crosstalk margin, which we call modemNoise. For example, in src/xdslcomm/setupParam.m: ex.param.bgNoise.LT = '-160'; % Background noise at LT (dBm/Hz) ex.param.bgNoise.NT = '-160'; % Background noise at NT (dBm/Hz) and in src/xdslcomm/setupLClist.m: lc.param.modemNoise.LT = '-140'; % Modem noise at LT (dBm/Hz) lc.param.modemNoise.NT = '-140'; % Modem noise at NT (dBm/Hz) we define these levels. * Some other new things: If ex.param.frequency.set is set to one evalExperiment will not try to establish a new frequency axis. This can speed up things if one have a large set of experiments to run that should share the frequency axis. evalExperiment will not do checkEx every time it is run. It is now up to the user to call it if the user wants to check the ex structure. Please note that at the moment the checkEx is not a very thorough test. * We also removed the MixedServices example It was a to complicated experiment and after all changes to UPBO and VDSL masks/templates it was not longer possible to maintain this example * KNOWN ISSUES The octave tool is in a constant flux (especially regarding cell arrays) and therefore we have had difficulties to achieve full compatibility. however, at the moment we seems to be compatible with octave 2.1.50 together with octave-forge 2003.06.02. As GUI construction is not possible in Octave (at this point in time) the GUI_VDSL example will not from Octave. The new UPBO (RefRef) for VDSL is not implemented in the GUI_VDSL example at the moment. %====================================================================== WHAT IS NEW IN THE VERSION 2.3.2 OF THE XDSL SIMULATOR? Updates: * Updated the VDSL-SCM mask/profiles/tfplans according to ETSI TS 101 270-2 v1.1.5 spec * Updated some ETSI ADSL cable models * Done some small updates to increase the simulation speed in: src/xdslcomm/calcPSD.m src/xdslcomm/getMinFreqaxis.m src/xdslcomm/getTwoPortModel.m Bug fixes: * Fixed a problem in example VDSL_GUI, crashing it on windows matlab 6.1 * Added the missing parameter "lc.param.dmt.srate" to xdsldefs/lcDefVDSLDMT.m (Version 2.3.1 had a typo mistake and have been withdrawn) %====================================================================== WHAT IS NEW IN THE VERSION 2.3 OF THE XDSL SIMULATOR? * Much of this update goes into better support for ADSL simulations The key enhancements are: * Supporting of two-sided colored background noise * Calculation of bit-rates depending on active tones in DMT * Added ETSI-ADSL cables (according to "ETSI STC TM6 PD 980p10a5") * Added ETSI-ADSL cable models (according to "ETSI STC TM6 021t32") * Added/updated ETSI-ADSL PSD masks "ETSI STC TM6 Draft RTS/TM-06006 rev 10a" * Added ETSI-ADSL loops * Added all the ETSI ADSL noises * Added the ETSI ADSL performance number calculations as an example * Added support for same pair ISDN or any other directly injected noise * Added an example of adjustments needed due to the noise injection device * Added an example of seperate modem noise floor adjustment * Added an example of dynamic modem noise (for ADSL, depending on f and length) * Added an example of ADSL power cut-back adjustements * Added an example implementation of ISI/ICI noise modeling * Changed insertList to avoid duplicate objects in lists * Renamed the SDSL cables (added prefix "ETSI-SDSL-" to the name) New files/directories: src/examples/ADSL src/examples/ADSL/startup.m src/examples/ADSL/ADSLperf.m src/examples/ADSL/ADSLIL.m src/examples/ADSL/raw2user.m src/examples/ADSL/plotTFplanDMT.m src/examples/ADSL/AddNoisePSD.m src/examples/ADSL/AdjustForMN.m src/examples/ADSL/AdjustForNID.m src/examples/ADSL/AdjustForPOB.m src/examples/ADSL/AdjustForISCI.m src/examples/ADSL/get_noise_floor.m src/examples/ADSL/TableOutputRaw.m src/examples/ADSL/TableOutputIL.m src/xdsldefs/etsi_tfplansADSL.m src/xdsldefs/etsi_noisesADSL.m src/xdsldefs/etsi_loopsADSL.m %====================================================================== WHAT IS NEW IN THE VERSION 2.2 OF THE XDSL SIMULATOR? * Full support for SDSL simulations with extensive examples and documentation. New files: src/xdsldefs/etsi_loops.m renamed to src/xdsldefs/etsi_loopsVDSL.m src/xdsldefs/ETSI_SDSL_traffic2lctf.m src/xdsldefs/etsi_lcdefsSDSL.m src/xdsldefs/etsi_loopsSDSL.m src/xdsldefs/etsi_loopsSDSLdeflen.m src/xdsldefs/etsi_tfplansSDSL.m src/xdsldefs/itu_cables.m src/xdsldefs/lcDefSDSL_asym.m src/xdsldefs/lcDefSDSL_sym.m src/xdsldefs/lcPrintSDSL.m src/xdsldefs/modelPSD_SDSL_asym.m src/xdsldefs/modelPSD_SDSL_sym.m src/examples/SDSL/ExSDSLmaxrate.m src/examples/SDSL/ExSDSLtestloop.m src/examples/SDSL/UserLoopsSDSL.m src/examples/SDSL/ExSDSLmargin.m src/examples/SDSL/ExSDSLreach.m src/examples/SDSL/SDSLIL.m src/examples/SDSL/startup.m * We have rewritten and extended the documentation. New files: doc/ChartEvalExperiment.html doc/ExamplesSDSL.html doc/FileDescriptions.html doc/ChartEvalExperimentInput/filelist.xml doc/ChartEvalExperimentInput/image001.gif * Some bugs have removed. src/xdslcomm/checkEx.m - Update for accepting different string length in modemlist src/xdslcomm/getABCD.m - Fixed bug in index start (added +1) src/xdslcomm/plotResult.m - Added abs() for vectors to be plotted src/xdslcomm/evalPBO.m - Fixed a misstake in how to calculate reference attenuation for various cable lengths %====================================================================== WHAT IS NEW IN THE VERSION 2.0 OF THE XDSL SIMULATOR? We have restructured a lot of the experiment structures to be able to handle line code specifications. Furthermore have we tried to clean up the file structure of the tool itself. NEW DIRECTORIES: src/examples - Contains example experiments GUI_VDSL - Demontrator of a grafical interface for VDSL/ADSL simulations MixedServices - Test a mixed service scenario with all the different PBOs PBO - Test of reference frequency PBO (for VDSL) First&Simple - Two simple non-graphical experiment src/xdsldefs - Contains definitions from different organizations ANSI_VDSL_defs.m etsi_PSDmasksSCM.m fsan_lcdefs.m lcDefADSLDMT.m etsi_cables.m fsan_loops.m lcDefVDSLDMT.m ETSI_VDSL_defs.m etsi_goals.m fsan_noise.m lcDefVDSLSCM.m ansi_loops.m etsi_lcdefs.m fsan_tfplansMISC.m lcPrintDMT.m ansi_noise.m etsi_loops.m fsan_tfplansVDSL.m lcPrintSCM.m ansi_tfplanHAM.m etsi_tfplanHAM.m itu_tfplanHAM.m lcPrintTheo.m etsi_PSDmasks.m etsi_tfplansVDSL.m itu_tfplistsMISC.m NEW CONTENT: src/xdslcomm - Now it only contains the main simulation routines NEW AND MODIFIED STRUCTURES (please refer to the manual): ex = param: [1x1 struct] % parameters tfplist: [1x16 struct] % time and frequency plans lclist: [1x4 struct] % line code definitions clist: [1x27 struct] % cable definitions tt: [1x1 struct] % traffic and topology definition result = 1x4 struct array with fields: NT LT Modem % When using the gui there is a structure simures which index is the window number simures = 1x3 struct array with fields: ex result current plottype plotstrtype Now all tfplans in the ex.tfplist has a field lcname which points to a line code definition in the lclist. Then all definitions in ex.lclist has a pointer (function name) to the routine that calculates the bit-rates from the result and the lc parameters. Each definition also contians a pointer lcPrint that points to a routine that can "dump to screen" all relevant parameters in the lc parameter structure. FIXED BUGS AND NEW FEATURES: * Fixed FSAN noise model errors. * Now we can simulate bridge taps (add parameters to a ex.tt.topology row). * Implemented new PBO methods such as multiple reference length PBO (RefLenM), this is however not accessible from GUI at the moment. * Fixed RefNoise PBO for use under non flat PSDs. * Many more and updateted definitions from the ETSI and ANSI xDSL standardisation work. %====================================================================== Copyright (C): 1999-2000 by Telia Research AB, Luleå, Sweden; 2000-2003 by Forschungszentrum Telekommunikation Wien, Austria; All rights reserved.