'Get Layout Manager. Dim Lm Set Lm = Document.GetLayoutMgr 'SCRIPT for OptiGrating Inverse scattering solver 'Get Current Layout. Dim Layout1 Set Layout1 = Lm.GetCurrentLayout Layout1.Name = "OptiGrating Inverse scattering solver" 'Set Total Sweep Iterations Layout1.SetTotalSweepIterations(1) 'Set Current Sweep Iteration Layout1.SetCurrentSweepIteration(1) 'Get Current Canvas. Dim Canvas1 Set Canvas1 = Layout1.GetCurrentCanvas 'SCRIPT for Layout global parameters. Layout1.SetParameterMode "Simulation window", 0 Layout1.SetParameterValue "Simulation window", "Set bit rate" Layout1.SetParameterMode "Reference bit rate", 0 Layout1.SetParameterValue "Reference bit rate", TRUE Layout1.SetParameterMode "Bit rate", 0 Layout1.SetParameterValue "Bit rate", 40e+009 Layout1.SetParameterMode "Time window", 0 Layout1.SetParameterValue "Time window", 0.4e-009 Layout1.SetParameterMode "Sample rate", 0 Layout1.SetParameterValue "Sample rate", 5.12e+012 Layout1.SetParameterMode "Sequence length", 0 Layout1.SetParameterValue "Sequence length", 16 Layout1.SetParameterMode "Samples per bit", 0 Layout1.SetParameterValue "Samples per bit", 128 Layout1.SetParameterMode "Number of samples", 0 Layout1.SetParameterValue "Number of samples", 2048 Layout1.SetParameterMode "Iterations", 0 Layout1.SetParameterValue "Iterations", 1 Layout1.SetParameterMode "Initial delay", 0 Layout1.SetParameterValue "Initial delay", FALSE Layout1.SetParameterMode "Parameterized", 0 Layout1.SetParameterValue "Parameterized", FALSE Layout1.SetParameterMode "Synchronize", 0 Layout1.SetParameterValue "Synchronize", FALSE Layout1.SetParameterMode "Space width X", 0 Layout1.SetParameterValue "Space width X", 50 Layout1.SetParameterMode "Space width Y", 0 Layout1.SetParameterValue "Space width Y", 50 Layout1.SetParameterMode "Grid spacing X", 0 Layout1.SetParameterValue "Grid spacing X", 0.5 Layout1.SetParameterMode "Grid spacing Y", 0 Layout1.SetParameterValue "Grid spacing Y", 0.5 Layout1.SetParameterMode "Convert noise bins", 0 Layout1.SetParameterValue "Convert noise bins", FALSE Layout1.SetParameterMode "Calculate signal tracing", 0 Layout1.SetParameterValue "Calculate signal tracing", TRUE Layout1.SetParameterMode "Power unit", 0 Layout1.SetParameterValue "Power unit", "dBm" Layout1.SetParameterMode "Frequency unit", 0 Layout1.SetParameterValue "Frequency unit", "THz" Layout1.SetParameterMode "Decimal places", 0 Layout1.SetParameterValue "Decimal places", 4 Layout1.SetParameterMode "Sensitivity", 0 Layout1.SetParameterValue "Sensitivity", -100 Layout1.SetParameterMode "Resolution", 0 Layout1.SetParameterValue "Resolution", 0.1 Layout1.SetParameterMode "Calculate noise floor", 0 Layout1.SetParameterValue "Calculate noise floor", FALSE Layout1.SetParameterMode "Interpolation offset", 0 Layout1.SetParameterValue "Interpolation offset", 0.5 'SCRIPT for each component in the Layout. 'SCRIPT for component User Defined Bit Sequence Generator. Dim Canvas1_Component1 Set Canvas1_Component1 = Canvas1.CreateComponent("User Defined Bit Sequence Generator","{6DA31CEE-058F-11D4-93BD-0050DAB7C5D6}",20,80, 34, 34,0) Canvas1_Component1.Name = "User Defined Bit Sequence Generator" Canvas1_Component1.Cost = 0.000000 'Set User Defined Bit Sequence Generator parameters. Canvas1_Component1.SetParameterMode "Bit rate", 3 Canvas1_Component1.SetParameterUnit "Bit rate", "Bits/s" Canvas1_Component1.SetParameterScript "Bit rate", "Bit rate" Canvas1_Component1.SetParameterMode "Load from file", 0 Canvas1_Component1.SetParameterValue "Load from file", FALSE Canvas1_Component1.SetParameterMode "Filename", 0 Canvas1_Component1.SetParameterValue "Filename", "Sequence.dat" Canvas1_Component1.SetParameterMode "Bit sequence", 0 Canvas1_Component1.SetParameterValue "Bit sequence", "000000000100000000" Canvas1_Component1.SetParameterMode "Number of leading zeros", 3 Canvas1_Component1.SetParameterScript "Number of leading zeros", "(Time window * 3 / 100 ) * Bit rate" Canvas1_Component1.SetParameterMode "Number of trailing zeros", 3 Canvas1_Component1.SetParameterScript "Number of trailing zeros", "(Time window * 3 / 100 ) * Bit rate" Canvas1_Component1.SetParameterMode "Enabled", 0 Canvas1_Component1.SetParameterValue "Enabled", TRUE Canvas1_Component1.SetParameterMode "Iterations", 0 Canvas1_Component1.SetParameterValue "Iterations", 1 'SCRIPT for component Optical Gaussian Pulse Generator. Dim Canvas1_Component2 Set Canvas1_Component2 = Canvas1.CreateComponent("Optical Gaussian Pulse Generator","{6DA31CEE-058F-11D4-93BD-0050DAB7C5D6}",130,160, 34, 34,0) Canvas1_Component2.Name = "Optical Gaussian Pulse Generator" Canvas1_Component2.Cost = 0.000000 'Set Optical Gaussian Pulse Generator parameters. Canvas1_Component2.SetParameterMode "Frequency", 0 Canvas1_Component2.SetParameterUnit "Frequency", "nm" Canvas1_Component2.SetParameterValue "Frequency", 1550 Canvas1_Component2.SetParameterMode "Power", 0 Canvas1_Component2.SetParameterUnit "Power", "mW" Canvas1_Component2.SetParameterValue "Power", 1 Canvas1_Component2.SetParameterMode "Bias", 0 Canvas1_Component2.SetParameterUnit "Bias", "dBm" Canvas1_Component2.SetParameterValue "Bias", -100 Canvas1_Component2.SetParameterMode "Width", 0 Canvas1_Component2.SetParameterValue "Width", 0.5 Canvas1_Component2.SetParameterMode "Position", 0 Canvas1_Component2.SetParameterValue "Position", 0 Canvas1_Component2.SetParameterMode "Order", 0 Canvas1_Component2.SetParameterValue "Order", 1 Canvas1_Component2.SetParameterMode "Truncated", 0 Canvas1_Component2.SetParameterValue "Truncated", FALSE Canvas1_Component2.SetParameterMode "Chirp definition", 0 Canvas1_Component2.SetParameterValue "Chirp definition", "Linear" Canvas1_Component2.SetParameterMode "Chirp factor", 0 Canvas1_Component2.SetParameterValue "Chirp factor", 0 Canvas1_Component2.SetParameterMode "Alpha parameter", 0 Canvas1_Component2.SetParameterValue "Alpha parameter", 0 Canvas1_Component2.SetParameterMode "Adiabatic chirp", 0 Canvas1_Component2.SetParameterValue "Adiabatic chirp", 0 Canvas1_Component2.SetParameterMode "Azimuth", 0 Canvas1_Component2.SetParameterValue "Azimuth", 0 Canvas1_Component2.SetParameterMode "Ellipticity", 0 Canvas1_Component2.SetParameterValue "Ellipticity", 0 Canvas1_Component2.SetParameterMode "Enabled", 0 Canvas1_Component2.SetParameterValue "Enabled", TRUE Canvas1_Component2.SetParameterMode "Parameterized", 3 Canvas1_Component2.SetParameterScript "Parameterized", "Parameterized" Canvas1_Component2.SetParameterMode "Sample rate", 3 Canvas1_Component2.SetParameterUnit "Sample rate", "Hz" Canvas1_Component2.SetParameterScript "Sample rate", "Sample rate" 'SCRIPT for component Optical Time Domain Visualizer. Dim Canvas1_Component3 Set Canvas1_Component3 = Canvas1.CreateComponent("Optical Time Domain Visualizer","{F11D0C25-3C7D-11D4-93F0-0050DAB7C5D6}",210,290, 40, 34,0) Canvas1_Component3.Name = "Optical Time Domain Visualizer" Canvas1_Component3.Cost = 0.000000 'Set Optical Time Domain Visualizer parameters. Canvas1_Component3.SetParameterMode "Plot individual mode", 0 Canvas1_Component3.SetParameterValue "Plot individual mode", FALSE Canvas1_Component3.SetParameterMode "Individual mode number", 0 Canvas1_Component3.SetParameterValue "Individual mode number", 0 Canvas1_Component3.SetParameterMode "Time unit", 0 Canvas1_Component3.SetParameterValue "Time unit", "s" Canvas1_Component3.SetParameterMode "Reference bit rate", 3 Canvas1_Component3.SetParameterUnit "Reference bit rate", "Bits/s" Canvas1_Component3.SetParameterScript "Reference bit rate", "Bit rate" Canvas1_Component3.SetParameterMode "Retracing", 0 Canvas1_Component3.SetParameterValue "Retracing", FALSE Canvas1_Component3.SetParameterMode "Time window", 3 Canvas1_Component3.SetParameterScript "Time window", "1/(Bit rate)" Canvas1_Component3.SetParameterMode "Autocorrelation", 0 Canvas1_Component3.SetParameterValue "Autocorrelation", "Off" Canvas1_Component3.SetParameterMode "Calculate phase and chirp", 0 Canvas1_Component3.SetParameterValue "Calculate phase and chirp", TRUE Canvas1_Component3.SetParameterMode "Phase unit", 0 Canvas1_Component3.SetParameterValue "Phase unit", "deg" Canvas1_Component3.SetParameterMode "Unwrap phase", 0 Canvas1_Component3.SetParameterValue "Unwrap phase", TRUE Canvas1_Component3.SetParameterMode "Calculate alpha parameter", 0 Canvas1_Component3.SetParameterValue "Calculate alpha parameter", FALSE Canvas1_Component3.SetParameterMode "Power unit", 0 Canvas1_Component3.SetParameterValue "Power unit", "W" Canvas1_Component3.SetParameterMode "Minimum value", 0 Canvas1_Component3.SetParameterValue "Minimum value", -100 Canvas1_Component3.SetParameterMode "Limit number of points", 0 Canvas1_Component3.SetParameterValue "Limit number of points", TRUE Canvas1_Component3.SetParameterMode "Max. number of points", 0 Canvas1_Component3.SetParameterValue "Max. number of points", 128000 Canvas1_Component3.SetParameterMode "Invert colors", 0 Canvas1_Component3.SetParameterValue "Invert colors", FALSE Canvas1_Component3.SetParameterMode "Enable color grade", 0 Canvas1_Component3.SetParameterValue "Enable color grade", FALSE Canvas1_Component3.SetParameterMode "Number of color bins", 0 Canvas1_Component3.SetParameterValue "Number of color bins", 500 Canvas1_Component3.SetParameterMode "Color grade palette", 0 Canvas1_Component3.SetParameterValue "Color grade palette", "Default" Canvas1_Component3.SetParameterMode "Centered at max power", 0 Canvas1_Component3.SetParameterValue "Centered at max power", TRUE Canvas1_Component3.SetParameterMode "Center frequency", 0 Canvas1_Component3.SetParameterUnit "Center frequency", "THz" Canvas1_Component3.SetParameterValue "Center frequency", 193.1 Canvas1_Component3.SetParameterMode "Sample rate", 3 Canvas1_Component3.SetParameterUnit "Sample rate", "Hz" Canvas1_Component3.SetParameterScript "Sample rate", "5 * ( Sample rate )" Canvas1_Component3.SetParameterMode "Calculate FROG", 0 Canvas1_Component3.SetParameterValue "Calculate FROG", FALSE Canvas1_Component3.SetParameterMode "FROG polarization", 0 Canvas1_Component3.SetParameterValue "FROG polarization", "X" Canvas1_Component3.SetParameterMode "Add noise to FROG signal", 0 Canvas1_Component3.SetParameterValue "Add noise to FROG signal", TRUE Canvas1_Component3.SetParameterMode "FROG frequency range", 3 Canvas1_Component3.SetParameterScript "FROG frequency range", "Sample rate" Canvas1_Component3.SetParameterMode "FROG delay range", 3 Canvas1_Component3.SetParameterScript "FROG delay range", "Time window / 2" Canvas1_Component3.SetParameterMode "Number of FROG delay points", 0 Canvas1_Component3.SetParameterValue "Number of FROG delay points", 128 Canvas1_Component3.SetParameterMode "Enabled", 0 Canvas1_Component3.SetParameterValue "Enabled", TRUE Canvas1_Component3.SetParameterMode "Signal access option", 0 Canvas1_Component3.SetParameterValue "Signal access option", "Index" Canvas1_Component3.SetParameterMode "Generate random seed", 0 Canvas1_Component3.SetParameterValue "Generate random seed", TRUE Canvas1_Component3.SetParameterMode "Random seed index", 0 Canvas1_Component3.SetParameterValue "Random seed index", 0 'SCRIPT for component Optical Time Domain Visualizer. Dim Canvas1_Component4 Set Canvas1_Component4 = Canvas1.CreateComponent("Optical Time Domain Visualizer","{F11D0C25-3C7D-11D4-93F0-0050DAB7C5D6}",370,60, 40, 34,0) Canvas1_Component4.Name = "Optical Time Domain Visualizer" Canvas1_Component4.Cost = 0.000000 'Set Optical Time Domain Visualizer parameters. Canvas1_Component4.SetParameterMode "Plot individual mode", 0 Canvas1_Component4.SetParameterValue "Plot individual mode", FALSE Canvas1_Component4.SetParameterMode "Individual mode number", 0 Canvas1_Component4.SetParameterValue "Individual mode number", 0 Canvas1_Component4.SetParameterMode "Time unit", 0 Canvas1_Component4.SetParameterValue "Time unit", "s" Canvas1_Component4.SetParameterMode "Reference bit rate", 3 Canvas1_Component4.SetParameterUnit "Reference bit rate", "Bits/s" Canvas1_Component4.SetParameterScript "Reference bit rate", "Bit rate" Canvas1_Component4.SetParameterMode "Retracing", 0 Canvas1_Component4.SetParameterValue "Retracing", FALSE Canvas1_Component4.SetParameterMode "Time window", 3 Canvas1_Component4.SetParameterScript "Time window", "1/(Bit rate)" Canvas1_Component4.SetParameterMode "Autocorrelation", 0 Canvas1_Component4.SetParameterValue "Autocorrelation", "Off" Canvas1_Component4.SetParameterMode "Calculate phase and chirp", 0 Canvas1_Component4.SetParameterValue "Calculate phase and chirp", TRUE Canvas1_Component4.SetParameterMode "Phase unit", 0 Canvas1_Component4.SetParameterValue "Phase unit", "deg" Canvas1_Component4.SetParameterMode "Unwrap phase", 0 Canvas1_Component4.SetParameterValue "Unwrap phase", TRUE Canvas1_Component4.SetParameterMode "Calculate alpha parameter", 0 Canvas1_Component4.SetParameterValue "Calculate alpha parameter", FALSE Canvas1_Component4.SetParameterMode "Power unit", 0 Canvas1_Component4.SetParameterValue "Power unit", "W" Canvas1_Component4.SetParameterMode "Minimum value", 0 Canvas1_Component4.SetParameterValue "Minimum value", -100 Canvas1_Component4.SetParameterMode "Limit number of points", 0 Canvas1_Component4.SetParameterValue "Limit number of points", TRUE Canvas1_Component4.SetParameterMode "Max. number of points", 0 Canvas1_Component4.SetParameterValue "Max. number of points", 128000 Canvas1_Component4.SetParameterMode "Invert colors", 0 Canvas1_Component4.SetParameterValue "Invert colors", FALSE Canvas1_Component4.SetParameterMode "Enable color grade", 0 Canvas1_Component4.SetParameterValue "Enable color grade", FALSE Canvas1_Component4.SetParameterMode "Number of color bins", 0 Canvas1_Component4.SetParameterValue "Number of color bins", 500 Canvas1_Component4.SetParameterMode "Color grade palette", 0 Canvas1_Component4.SetParameterValue "Color grade palette", "Default" Canvas1_Component4.SetParameterMode "Centered at max power", 0 Canvas1_Component4.SetParameterValue "Centered at max power", TRUE Canvas1_Component4.SetParameterMode "Center frequency", 0 Canvas1_Component4.SetParameterUnit "Center frequency", "THz" Canvas1_Component4.SetParameterValue "Center frequency", 193.1 Canvas1_Component4.SetParameterMode "Sample rate", 3 Canvas1_Component4.SetParameterUnit "Sample rate", "Hz" Canvas1_Component4.SetParameterScript "Sample rate", "5 * ( Sample rate )" Canvas1_Component4.SetParameterMode "Calculate FROG", 0 Canvas1_Component4.SetParameterValue "Calculate FROG", FALSE Canvas1_Component4.SetParameterMode "FROG polarization", 0 Canvas1_Component4.SetParameterValue "FROG polarization", "X" Canvas1_Component4.SetParameterMode "Add noise to FROG signal", 0 Canvas1_Component4.SetParameterValue "Add noise to FROG signal", TRUE Canvas1_Component4.SetParameterMode "FROG frequency range", 3 Canvas1_Component4.SetParameterScript "FROG frequency range", "Sample rate" Canvas1_Component4.SetParameterMode "FROG delay range", 3 Canvas1_Component4.SetParameterScript "FROG delay range", "Time window / 2" Canvas1_Component4.SetParameterMode "Number of FROG delay points", 0 Canvas1_Component4.SetParameterValue "Number of FROG delay points", 128 Canvas1_Component4.SetParameterMode "Enabled", 0 Canvas1_Component4.SetParameterValue "Enabled", TRUE Canvas1_Component4.SetParameterMode "Signal access option", 0 Canvas1_Component4.SetParameterValue "Signal access option", "Index" Canvas1_Component4.SetParameterMode "Generate random seed", 0 Canvas1_Component4.SetParameterValue "Generate random seed", TRUE Canvas1_Component4.SetParameterMode "Random seed index", 0 Canvas1_Component4.SetParameterValue "Random seed index", 0 'SCRIPT for component Optical Time Domain Visualizer. Dim Canvas1_Component5 Set Canvas1_Component5 = Canvas1.CreateComponent("Optical Time Domain Visualizer","{F11D0C25-3C7D-11D4-93F0-0050DAB7C5D6}",640,70, 40, 34,0) Canvas1_Component5.Name = "Optical Time Domain Visualizer" Canvas1_Component5.Cost = 0.000000 'Set Optical Time Domain Visualizer parameters. Canvas1_Component5.SetParameterMode "Plot individual mode", 0 Canvas1_Component5.SetParameterValue "Plot individual mode", FALSE Canvas1_Component5.SetParameterMode "Individual mode number", 0 Canvas1_Component5.SetParameterValue "Individual mode number", 0 Canvas1_Component5.SetParameterMode "Time unit", 0 Canvas1_Component5.SetParameterValue "Time unit", "s" Canvas1_Component5.SetParameterMode "Reference bit rate", 3 Canvas1_Component5.SetParameterUnit "Reference bit rate", "Bits/s" Canvas1_Component5.SetParameterScript "Reference bit rate", "Bit rate" Canvas1_Component5.SetParameterMode "Retracing", 0 Canvas1_Component5.SetParameterValue "Retracing", FALSE Canvas1_Component5.SetParameterMode "Time window", 3 Canvas1_Component5.SetParameterScript "Time window", "1/(Bit rate)" Canvas1_Component5.SetParameterMode "Autocorrelation", 0 Canvas1_Component5.SetParameterValue "Autocorrelation", "Off" Canvas1_Component5.SetParameterMode "Calculate phase and chirp", 0 Canvas1_Component5.SetParameterValue "Calculate phase and chirp", TRUE Canvas1_Component5.SetParameterMode "Phase unit", 0 Canvas1_Component5.SetParameterValue "Phase unit", "deg" Canvas1_Component5.SetParameterMode "Unwrap phase", 0 Canvas1_Component5.SetParameterValue "Unwrap phase", TRUE Canvas1_Component5.SetParameterMode "Calculate alpha parameter", 0 Canvas1_Component5.SetParameterValue "Calculate alpha parameter", FALSE Canvas1_Component5.SetParameterMode "Power unit", 0 Canvas1_Component5.SetParameterValue "Power unit", "W" Canvas1_Component5.SetParameterMode "Minimum value", 0 Canvas1_Component5.SetParameterValue "Minimum value", -100 Canvas1_Component5.SetParameterMode "Limit number of points", 0 Canvas1_Component5.SetParameterValue "Limit number of points", TRUE Canvas1_Component5.SetParameterMode "Max. number of points", 0 Canvas1_Component5.SetParameterValue "Max. number of points", 128000 Canvas1_Component5.SetParameterMode "Invert colors", 0 Canvas1_Component5.SetParameterValue "Invert colors", FALSE Canvas1_Component5.SetParameterMode "Enable color grade", 0 Canvas1_Component5.SetParameterValue "Enable color grade", FALSE Canvas1_Component5.SetParameterMode "Number of color bins", 0 Canvas1_Component5.SetParameterValue "Number of color bins", 500 Canvas1_Component5.SetParameterMode "Color grade palette", 0 Canvas1_Component5.SetParameterValue "Color grade palette", "Default" Canvas1_Component5.SetParameterMode "Centered at max power", 0 Canvas1_Component5.SetParameterValue "Centered at max power", TRUE Canvas1_Component5.SetParameterMode "Center frequency", 0 Canvas1_Component5.SetParameterUnit "Center frequency", "THz" Canvas1_Component5.SetParameterValue "Center frequency", 193.1 Canvas1_Component5.SetParameterMode "Sample rate", 3 Canvas1_Component5.SetParameterUnit "Sample rate", "Hz" Canvas1_Component5.SetParameterScript "Sample rate", "5 * ( Sample rate )" Canvas1_Component5.SetParameterMode "Calculate FROG", 0 Canvas1_Component5.SetParameterValue "Calculate FROG", FALSE Canvas1_Component5.SetParameterMode "FROG polarization", 0 Canvas1_Component5.SetParameterValue "FROG polarization", "X" Canvas1_Component5.SetParameterMode "Add noise to FROG signal", 0 Canvas1_Component5.SetParameterValue "Add noise to FROG signal", TRUE Canvas1_Component5.SetParameterMode "FROG frequency range", 3 Canvas1_Component5.SetParameterScript "FROG frequency range", "Sample rate" Canvas1_Component5.SetParameterMode "FROG delay range", 3 Canvas1_Component5.SetParameterScript "FROG delay range", "Time window / 2" Canvas1_Component5.SetParameterMode "Number of FROG delay points", 0 Canvas1_Component5.SetParameterValue "Number of FROG delay points", 128 Canvas1_Component5.SetParameterMode "Enabled", 0 Canvas1_Component5.SetParameterValue "Enabled", TRUE Canvas1_Component5.SetParameterMode "Signal access option", 0 Canvas1_Component5.SetParameterValue "Signal access option", "Index" Canvas1_Component5.SetParameterMode "Generate random seed", 0 Canvas1_Component5.SetParameterValue "Generate random seed", TRUE Canvas1_Component5.SetParameterMode "Random seed index", 0 Canvas1_Component5.SetParameterValue "Random seed index", 0 'SCRIPT for component Optical Time Domain Visualizer. Dim Canvas1_Component6 Set Canvas1_Component6 = Canvas1.CreateComponent("Optical Time Domain Visualizer","{F11D0C25-3C7D-11D4-93F0-0050DAB7C5D6}",440,360, 40, 34,0) Canvas1_Component6.Name = "Optical Time Domain Visualizer" Canvas1_Component6.Cost = 0.000000 'Set Optical Time Domain Visualizer parameters. Canvas1_Component6.SetParameterMode "Plot individual mode", 0 Canvas1_Component6.SetParameterValue "Plot individual mode", FALSE Canvas1_Component6.SetParameterMode "Individual mode number", 0 Canvas1_Component6.SetParameterValue "Individual mode number", 0 Canvas1_Component6.SetParameterMode "Time unit", 0 Canvas1_Component6.SetParameterValue "Time unit", "s" Canvas1_Component6.SetParameterMode "Reference bit rate", 3 Canvas1_Component6.SetParameterUnit "Reference bit rate", "Bits/s" Canvas1_Component6.SetParameterScript "Reference bit rate", "Bit rate" Canvas1_Component6.SetParameterMode "Retracing", 0 Canvas1_Component6.SetParameterValue "Retracing", FALSE Canvas1_Component6.SetParameterMode "Time window", 3 Canvas1_Component6.SetParameterScript "Time window", "1/(Bit rate)" Canvas1_Component6.SetParameterMode "Autocorrelation", 0 Canvas1_Component6.SetParameterValue "Autocorrelation", "Off" Canvas1_Component6.SetParameterMode "Calculate phase and chirp", 0 Canvas1_Component6.SetParameterValue "Calculate phase and chirp", TRUE Canvas1_Component6.SetParameterMode "Phase unit", 0 Canvas1_Component6.SetParameterValue "Phase unit", "deg" Canvas1_Component6.SetParameterMode "Unwrap phase", 0 Canvas1_Component6.SetParameterValue "Unwrap phase", TRUE Canvas1_Component6.SetParameterMode "Calculate alpha parameter", 0 Canvas1_Component6.SetParameterValue "Calculate alpha parameter", FALSE Canvas1_Component6.SetParameterMode "Power unit", 0 Canvas1_Component6.SetParameterValue "Power unit", "W" Canvas1_Component6.SetParameterMode "Minimum value", 0 Canvas1_Component6.SetParameterValue "Minimum value", -100 Canvas1_Component6.SetParameterMode "Limit number of points", 0 Canvas1_Component6.SetParameterValue "Limit number of points", TRUE Canvas1_Component6.SetParameterMode "Max. number of points", 0 Canvas1_Component6.SetParameterValue "Max. number of points", 128000 Canvas1_Component6.SetParameterMode "Invert colors", 0 Canvas1_Component6.SetParameterValue "Invert colors", FALSE Canvas1_Component6.SetParameterMode "Enable color grade", 0 Canvas1_Component6.SetParameterValue "Enable color grade", FALSE Canvas1_Component6.SetParameterMode "Number of color bins", 0 Canvas1_Component6.SetParameterValue "Number of color bins", 500 Canvas1_Component6.SetParameterMode "Color grade palette", 0 Canvas1_Component6.SetParameterValue "Color grade palette", "Default" Canvas1_Component6.SetParameterMode "Centered at max power", 0 Canvas1_Component6.SetParameterValue "Centered at max power", TRUE Canvas1_Component6.SetParameterMode "Center frequency", 0 Canvas1_Component6.SetParameterUnit "Center frequency", "THz" Canvas1_Component6.SetParameterValue "Center frequency", 193.1 Canvas1_Component6.SetParameterMode "Sample rate", 3 Canvas1_Component6.SetParameterUnit "Sample rate", "Hz" Canvas1_Component6.SetParameterScript "Sample rate", "5 * ( Sample rate )" Canvas1_Component6.SetParameterMode "Calculate FROG", 0 Canvas1_Component6.SetParameterValue "Calculate FROG", FALSE Canvas1_Component6.SetParameterMode "FROG polarization", 0 Canvas1_Component6.SetParameterValue "FROG polarization", "X" Canvas1_Component6.SetParameterMode "Add noise to FROG signal", 0 Canvas1_Component6.SetParameterValue "Add noise to FROG signal", TRUE Canvas1_Component6.SetParameterMode "FROG frequency range", 3 Canvas1_Component6.SetParameterScript "FROG frequency range", "Sample rate" Canvas1_Component6.SetParameterMode "FROG delay range", 3 Canvas1_Component6.SetParameterScript "FROG delay range", "Time window / 2" Canvas1_Component6.SetParameterMode "Number of FROG delay points", 0 Canvas1_Component6.SetParameterValue "Number of FROG delay points", 128 Canvas1_Component6.SetParameterMode "Enabled", 0 Canvas1_Component6.SetParameterValue "Enabled", TRUE Canvas1_Component6.SetParameterMode "Signal access option", 0 Canvas1_Component6.SetParameterValue "Signal access option", "Index" Canvas1_Component6.SetParameterMode "Generate random seed", 0 Canvas1_Component6.SetParameterValue "Generate random seed", TRUE Canvas1_Component6.SetParameterMode "Random seed index", 0 Canvas1_Component6.SetParameterValue "Random seed index", 0 'SCRIPT for component OptiGrating Inverse scattering solver. Dim Canvas1_Component7 Set Canvas1_Component7 = Canvas1.CreateComponent("OptiGrating","{33B1D7C9-2EE1-40C1-B640-96F158649FF0}",510,170, 34, 34,0) Canvas1_Component7.Name = "OptiGrating Inverse scattering solver" Canvas1_Component7.Cost = 0.000000 'Set OptiGrating Inverse scattering solver parameters. Canvas1_Component7.SetParameterMode "User defined frequency", 0 Canvas1_Component7.SetParameterValue "User defined frequency", FALSE Canvas1_Component7.SetParameterMode "Frequency", 0 Canvas1_Component7.SetParameterUnit "Frequency", "THz" Canvas1_Component7.SetParameterValue "Frequency", 193.1 Canvas1_Component7.SetParameterMode "FBG filename", 0 Canvas1_Component7.SetParameterValue "FBG filename", "FBG.txt" Canvas1_Component7.SetParameterMode "Enabled", 0 Canvas1_Component7.SetParameterValue "Enabled", TRUE Canvas1_Component7.SetParameterMode "Resample", 0 Canvas1_Component7.SetParameterValue "Resample", FALSE Canvas1_Component7.SetParameterMode "Sample rate", 0 Canvas1_Component7.SetParameterUnit "Sample rate", "GHz" Canvas1_Component7.SetParameterValue "Sample rate", 500 Canvas1_Component7.SetParameterMode "Noise threshold", 0 Canvas1_Component7.SetParameterValue "Noise threshold", -100 Canvas1_Component7.SetParameterMode "Noise dynamic", 0 Canvas1_Component7.SetParameterValue "Noise dynamic", 3 'SCRIPT for component SMF. Dim Canvas1_Component8 Set Canvas1_Component8 = Canvas1.CreateComponent("Optical Fiber","{416EC6F1-529F-11D4-9403-0050DAB7C5D6}",290,160, 32, 32,0) Canvas1_Component8.Name = "SMF" Canvas1_Component8.Cost = 0.000000 'Set SMF parameters. Canvas1_Component8.SetParameterMode "User defined reference wavelength", 0 Canvas1_Component8.SetParameterValue "User defined reference wavelength", FALSE Canvas1_Component8.SetParameterMode "Reference wavelength", 0 Canvas1_Component8.SetParameterUnit "Reference wavelength", "nm" Canvas1_Component8.SetParameterValue "Reference wavelength", 1550 Canvas1_Component8.SetParameterMode "Length", 0 Canvas1_Component8.SetParameterValue "Length", 10 Canvas1_Component8.SetParameterMode "Attenuation effect", 0 Canvas1_Component8.SetParameterValue "Attenuation effect", FALSE Canvas1_Component8.SetParameterMode "Attenuation data type", 0 Canvas1_Component8.SetParameterValue "Attenuation data type", "Constant" Canvas1_Component8.SetParameterMode "Attenuation", 0 Canvas1_Component8.SetParameterValue "Attenuation", 0.2 Canvas1_Component8.SetParameterMode "Attenuation vs. wavelength", 0 Canvas1_Component8.SetParameterValue "Attenuation vs. wavelength", "Attenuation.dat" Canvas1_Component8.SetParameterMode "Group velocity dispersion", 0 Canvas1_Component8.SetParameterValue "Group velocity dispersion", TRUE Canvas1_Component8.SetParameterMode "Third-order dispersion", 0 Canvas1_Component8.SetParameterValue "Third-order dispersion", FALSE Canvas1_Component8.SetParameterMode "Dispersion data type", 0 Canvas1_Component8.SetParameterValue "Dispersion data type", "Constant" Canvas1_Component8.SetParameterMode "Frequency domain parameters", 0 Canvas1_Component8.SetParameterValue "Frequency domain parameters", FALSE Canvas1_Component8.SetParameterMode "Dispersion", 0 Canvas1_Component8.SetParameterValue "Dispersion", 16 Canvas1_Component8.SetParameterMode "Dispersion slope", 0 Canvas1_Component8.SetParameterValue "Dispersion slope", 0.11 Canvas1_Component8.SetParameterMode "Beta 2", 0 Canvas1_Component8.SetParameterValue "Beta 2", -20 Canvas1_Component8.SetParameterMode "Beta 3", 0 Canvas1_Component8.SetParameterValue "Beta 3", 0 Canvas1_Component8.SetParameterMode "Dispersion file format", 0 Canvas1_Component8.SetParameterValue "Dispersion file format", "Dispersion vs. wavelength" Canvas1_Component8.SetParameterMode "Dispersion file name", 0 Canvas1_Component8.SetParameterValue "Dispersion file name", "Dispersion.dat" Canvas1_Component8.SetParameterMode "Birefringence type", 0 Canvas1_Component8.SetParameterValue "Birefringence type", "Deterministic" Canvas1_Component8.SetParameterMode "Differential group delay", 0 Canvas1_Component8.SetParameterValue "Differential group delay", 3 Canvas1_Component8.SetParameterMode "PMD coefficient", 0 Canvas1_Component8.SetParameterValue "PMD coefficient", 0.5 Canvas1_Component8.SetParameterMode "Mean scattering section length", 0 Canvas1_Component8.SetParameterValue "Mean scattering section length", 500 Canvas1_Component8.SetParameterMode "Scattering section dispersion", 0 Canvas1_Component8.SetParameterValue "Scattering section dispersion", 100 Canvas1_Component8.SetParameterMode "Self-phase modulation", 0 Canvas1_Component8.SetParameterValue "Self-phase modulation", FALSE Canvas1_Component8.SetParameterMode "Effective area data type", 0 Canvas1_Component8.SetParameterValue "Effective area data type", "Constant" Canvas1_Component8.SetParameterMode "Effective area", 0 Canvas1_Component8.SetParameterValue "Effective area", 72 Canvas1_Component8.SetParameterMode "Effective area vs. wavelength", 0 Canvas1_Component8.SetParameterValue "Effective area vs. wavelength", "EffectiveAra.dat" Canvas1_Component8.SetParameterMode "n2 data type", 0 Canvas1_Component8.SetParameterValue "n2 data type", "Constant" Canvas1_Component8.SetParameterMode "n2", 0 Canvas1_Component8.SetParameterValue "n2", 26e-021 Canvas1_Component8.SetParameterMode "n2 vs. wavelength", 0 Canvas1_Component8.SetParameterValue "n2 vs. wavelength", "n2.dat" Canvas1_Component8.SetParameterMode "Self-steepening", 0 Canvas1_Component8.SetParameterValue "Self-steepening", FALSE Canvas1_Component8.SetParameterMode "Full Raman Response", 0 Canvas1_Component8.SetParameterValue "Full Raman Response", FALSE Canvas1_Component8.SetParameterMode "Intrapulse Raman Scatt.", 0 Canvas1_Component8.SetParameterValue "Intrapulse Raman Scatt.", FALSE Canvas1_Component8.SetParameterMode "Raman self-shift time1", 0 Canvas1_Component8.SetParameterValue "Raman self-shift time1", 14.2 Canvas1_Component8.SetParameterMode "Raman self-shift time2", 0 Canvas1_Component8.SetParameterValue "Raman self-shift time2", 3 Canvas1_Component8.SetParameterMode "Fract. Raman contribution", 0 Canvas1_Component8.SetParameterValue "Fract. Raman contribution", 0.18 Canvas1_Component8.SetParameterMode "Orthogonal Raman factor", 0 Canvas1_Component8.SetParameterValue "Orthogonal Raman factor", 0.75 Canvas1_Component8.SetParameterMode "Model type", 0 Canvas1_Component8.SetParameterValue "Model type", "Scalar" Canvas1_Component8.SetParameterMode "Propagator type", 0 Canvas1_Component8.SetParameterValue "Propagator type", "Exponential" Canvas1_Component8.SetParameterMode "Calculation type", 0 Canvas1_Component8.SetParameterValue "Calculation type", "Noniterative" Canvas1_Component8.SetParameterMode "Number of iterations", 0 Canvas1_Component8.SetParameterValue "Number of iterations", 2 Canvas1_Component8.SetParameterMode "Step size", 0 Canvas1_Component8.SetParameterValue "Step size", "Variable" Canvas1_Component8.SetParameterMode "Max. nonlinear phase shift", 0 Canvas1_Component8.SetParameterValue "Max. nonlinear phase shift", 5 Canvas1_Component8.SetParameterMode "Boundary conditions", 0 Canvas1_Component8.SetParameterValue "Boundary conditions", "Periodic" Canvas1_Component8.SetParameterMode "Filter steepness", 0 Canvas1_Component8.SetParameterValue "Filter steepness", 0.05 Canvas1_Component8.SetParameterMode "Lower calculation limit", 0 Canvas1_Component8.SetParameterValue "Lower calculation limit", 1200 Canvas1_Component8.SetParameterMode "Upper calculation limit", 0 Canvas1_Component8.SetParameterValue "Upper calculation limit", 1700 Canvas1_Component8.SetParameterMode "Calculate graphs", 0 Canvas1_Component8.SetParameterValue "Calculate graphs", FALSE Canvas1_Component8.SetParameterMode "Number of distance steps", 0 Canvas1_Component8.SetParameterValue "Number of distance steps", 200 Canvas1_Component8.SetParameterMode "Number of wavelength/time steps", 0 Canvas1_Component8.SetParameterValue "Number of wavelength/time steps", 200 Canvas1_Component8.SetParameterMode "Linear scale", 0 Canvas1_Component8.SetParameterValue "Linear scale", TRUE Canvas1_Component8.SetParameterMode "Minimum value", 0 Canvas1_Component8.SetParameterValue "Minimum value", -100 Canvas1_Component8.SetParameterMode "Spectrum (total power) graph", 0 Canvas1_Component8.SetParameterValue "Spectrum (total power) graph", FALSE Canvas1_Component8.SetParameterMode "Spectrum (X component) graph", 0 Canvas1_Component8.SetParameterValue "Spectrum (X component) graph", FALSE Canvas1_Component8.SetParameterMode "Spectrum (Y component) graph", 0 Canvas1_Component8.SetParameterValue "Spectrum (Y component) graph", FALSE Canvas1_Component8.SetParameterMode "Waveform (total power) graph", 0 Canvas1_Component8.SetParameterValue "Waveform (total power) graph", FALSE Canvas1_Component8.SetParameterMode "Waveform (X component) graph", 0 Canvas1_Component8.SetParameterValue "Waveform (X component) graph", FALSE Canvas1_Component8.SetParameterMode "Waveform (Y component) graph", 0 Canvas1_Component8.SetParameterValue "Waveform (Y component) graph", FALSE Canvas1_Component8.SetParameterMode "Enabled", 0 Canvas1_Component8.SetParameterValue "Enabled", TRUE Canvas1_Component8.SetParameterMode "Convert noise bins", 0 Canvas1_Component8.SetParameterValue "Convert noise bins", FALSE Canvas1_Component8.SetParameterMode "Generate random seed", 0 Canvas1_Component8.SetParameterValue "Generate random seed", TRUE Canvas1_Component8.SetParameterMode "Random seed index", 0 Canvas1_Component8.SetParameterValue "Random seed index", 0 'Set Total Sweep Iterations Layout1.SetTotalSweepIterations(1) 'Set Current Sweep Iteration Layout1.SetCurrentSweepIteration(1) 'Attach Monitors. Canvas1_Component2.GetOutputPort(1).CreateMonitor Canvas1_Component7.GetOutputPort(1).CreateMonitor Canvas1_Component7.GetOutputPort(2).CreateMonitor Canvas1_Component8.GetOutputPort(1).CreateMonitor 'Connecting components. Canvas1_Component1.GetOutputPort(1).Connect(Canvas1_Component2.GetInputPort(1)) Canvas1_Component2.GetOutputPort(1).Connect(Canvas1_Component8.GetInputPort(1)) Canvas1_Component2.GetOutputPort(1).ConnectVisualizer(Canvas1_Component3.GetInputPort(1)) Canvas1_Component8.GetOutputPort(1).ConnectVisualizer(Canvas1_Component4.GetInputPort(1)) Canvas1_Component7.GetOutputPort(1).ConnectVisualizer(Canvas1_Component5.GetInputPort(1)) Canvas1_Component7.GetOutputPort(2).ConnectVisualizer(Canvas1_Component6.GetInputPort(1)) Canvas1_Component8.GetOutputPort(1).Connect(Canvas1_Component7.GetInputPort(1)) Lm.AddLayout "OptiGrating fbgchirp" 'SCRIPT for OptiGrating fbgchirp 'Get Current Layout. Dim Layout2 Set Layout2 = Lm.GetCurrentLayout Layout2.Name = "OptiGrating fbgchirp" 'Set Total Sweep Iterations Layout2.SetTotalSweepIterations(1) 'Set Current Sweep Iteration Layout2.SetCurrentSweepIteration(1) 'Get Current Canvas. Dim Canvas2 Set Canvas2 = Layout2.GetCurrentCanvas 'SCRIPT for Layout global parameters. Layout2.SetParameterMode "Simulation window", 0 Layout2.SetParameterValue "Simulation window", "Set bit rate" Layout2.SetParameterMode "Reference bit rate", 0 Layout2.SetParameterValue "Reference bit rate", TRUE Layout2.SetParameterMode "Bit rate", 0 Layout2.SetParameterValue "Bit rate", 40e+009 Layout2.SetParameterMode "Time window", 0 Layout2.SetParameterValue "Time window", 0.4e-009 Layout2.SetParameterMode "Sample rate", 0 Layout2.SetParameterValue "Sample rate", 5.12e+012 Layout2.SetParameterMode "Sequence length", 0 Layout2.SetParameterValue "Sequence length", 16 Layout2.SetParameterMode "Samples per bit", 0 Layout2.SetParameterValue "Samples per bit", 128 Layout2.SetParameterMode "Number of samples", 0 Layout2.SetParameterValue "Number of samples", 2048 Layout2.SetParameterMode "Iterations", 0 Layout2.SetParameterValue "Iterations", 1 Layout2.SetParameterMode "Initial delay", 0 Layout2.SetParameterValue "Initial delay", FALSE Layout2.SetParameterMode "Parameterized", 0 Layout2.SetParameterValue "Parameterized", FALSE Layout2.SetParameterMode "Synchronize", 0 Layout2.SetParameterValue "Synchronize", FALSE Layout2.SetParameterMode "Space width X", 0 Layout2.SetParameterValue "Space width X", 50 Layout2.SetParameterMode "Space width Y", 0 Layout2.SetParameterValue "Space width Y", 50 Layout2.SetParameterMode "Grid spacing X", 0 Layout2.SetParameterValue "Grid spacing X", 0.5 Layout2.SetParameterMode "Grid spacing Y", 0 Layout2.SetParameterValue "Grid spacing Y", 0.5 Layout2.SetParameterMode "Convert noise bins", 0 Layout2.SetParameterValue "Convert noise bins", FALSE Layout2.SetParameterMode "Calculate signal tracing", 0 Layout2.SetParameterValue "Calculate signal tracing", TRUE Layout2.SetParameterMode "Power unit", 0 Layout2.SetParameterValue "Power unit", "dBm" Layout2.SetParameterMode "Frequency unit", 0 Layout2.SetParameterValue "Frequency unit", "THz" Layout2.SetParameterMode "Decimal places", 0 Layout2.SetParameterValue "Decimal places", 4 Layout2.SetParameterMode "Sensitivity", 0 Layout2.SetParameterValue "Sensitivity", -100 Layout2.SetParameterMode "Resolution", 0 Layout2.SetParameterValue "Resolution", 0.1 Layout2.SetParameterMode "Calculate noise floor", 0 Layout2.SetParameterValue "Calculate noise floor", FALSE Layout2.SetParameterMode "Interpolation offset", 0 Layout2.SetParameterValue "Interpolation offset", 0.5 'SCRIPT for each component in the Layout. 'SCRIPT for component User Defined Bit Sequence Generator. Dim Canvas2_Component1 Set Canvas2_Component1 = Canvas2.CreateComponent("User Defined Bit Sequence Generator","{6DA31CEE-058F-11D4-93BD-0050DAB7C5D6}",20,40, 34, 34,0) Canvas2_Component1.Name = "User Defined Bit Sequence Generator" Canvas2_Component1.Cost = 0.000000 'Set User Defined Bit Sequence Generator parameters. Canvas2_Component1.SetParameterMode "Bit rate", 3 Canvas2_Component1.SetParameterUnit "Bit rate", "Bits/s" Canvas2_Component1.SetParameterScript "Bit rate", "Bit rate" Canvas2_Component1.SetParameterMode "Load from file", 0 Canvas2_Component1.SetParameterValue "Load from file", FALSE Canvas2_Component1.SetParameterMode "Filename", 0 Canvas2_Component1.SetParameterValue "Filename", "Sequence.dat" Canvas2_Component1.SetParameterMode "Bit sequence", 0 Canvas2_Component1.SetParameterValue "Bit sequence", "000000000100000000" Canvas2_Component1.SetParameterMode "Number of leading zeros", 3 Canvas2_Component1.SetParameterScript "Number of leading zeros", "(Time window * 3 / 100 ) * Bit rate" Canvas2_Component1.SetParameterMode "Number of trailing zeros", 3 Canvas2_Component1.SetParameterScript "Number of trailing zeros", "(Time window * 3 / 100 ) * Bit rate" Canvas2_Component1.SetParameterMode "Enabled", 0 Canvas2_Component1.SetParameterValue "Enabled", TRUE Canvas2_Component1.SetParameterMode "Iterations", 0 Canvas2_Component1.SetParameterValue "Iterations", 1 'SCRIPT for component Optical Gaussian Pulse Generator. Dim Canvas2_Component2 Set Canvas2_Component2 = Canvas2.CreateComponent("Optical Gaussian Pulse Generator","{6DA31CEE-058F-11D4-93BD-0050DAB7C5D6}",100,160, 34, 34,0) Canvas2_Component2.Name = "Optical Gaussian Pulse Generator" Canvas2_Component2.Cost = 0.000000 'Set Optical Gaussian Pulse Generator parameters. Canvas2_Component2.SetParameterMode "Frequency", 0 Canvas2_Component2.SetParameterUnit "Frequency", "nm" Canvas2_Component2.SetParameterValue "Frequency", 1550 Canvas2_Component2.SetParameterMode "Power", 0 Canvas2_Component2.SetParameterUnit "Power", "mW" Canvas2_Component2.SetParameterValue "Power", 1 Canvas2_Component2.SetParameterMode "Bias", 0 Canvas2_Component2.SetParameterUnit "Bias", "dBm" Canvas2_Component2.SetParameterValue "Bias", -100 Canvas2_Component2.SetParameterMode "Width", 0 Canvas2_Component2.SetParameterValue "Width", 0.5 Canvas2_Component2.SetParameterMode "Position", 0 Canvas2_Component2.SetParameterValue "Position", 0 Canvas2_Component2.SetParameterMode "Order", 0 Canvas2_Component2.SetParameterValue "Order", 1 Canvas2_Component2.SetParameterMode "Truncated", 0 Canvas2_Component2.SetParameterValue "Truncated", FALSE Canvas2_Component2.SetParameterMode "Chirp definition", 0 Canvas2_Component2.SetParameterValue "Chirp definition", "Linear" Canvas2_Component2.SetParameterMode "Chirp factor", 0 Canvas2_Component2.SetParameterValue "Chirp factor", 0 Canvas2_Component2.SetParameterMode "Alpha parameter", 0 Canvas2_Component2.SetParameterValue "Alpha parameter", 0 Canvas2_Component2.SetParameterMode "Adiabatic chirp", 0 Canvas2_Component2.SetParameterValue "Adiabatic chirp", 0 Canvas2_Component2.SetParameterMode "Azimuth", 0 Canvas2_Component2.SetParameterValue "Azimuth", 0 Canvas2_Component2.SetParameterMode "Ellipticity", 0 Canvas2_Component2.SetParameterValue "Ellipticity", 0 Canvas2_Component2.SetParameterMode "Enabled", 0 Canvas2_Component2.SetParameterValue "Enabled", TRUE Canvas2_Component2.SetParameterMode "Parameterized", 3 Canvas2_Component2.SetParameterScript "Parameterized", "Parameterized" Canvas2_Component2.SetParameterMode "Sample rate", 3 Canvas2_Component2.SetParameterUnit "Sample rate", "Hz" Canvas2_Component2.SetParameterScript "Sample rate", "Sample rate" 'SCRIPT for component Optical Time Domain Visualizer. Dim Canvas2_Component3 Set Canvas2_Component3 = Canvas2.CreateComponent("Optical Time Domain Visualizer","{F11D0C25-3C7D-11D4-93F0-0050DAB7C5D6}",210,280, 40, 34,0) Canvas2_Component3.Name = "Optical Time Domain Visualizer" Canvas2_Component3.Cost = 0.000000 'Set Optical Time Domain Visualizer parameters. Canvas2_Component3.SetParameterMode "Plot individual mode", 0 Canvas2_Component3.SetParameterValue "Plot individual mode", FALSE Canvas2_Component3.SetParameterMode "Individual mode number", 0 Canvas2_Component3.SetParameterValue "Individual mode number", 0 Canvas2_Component3.SetParameterMode "Time unit", 0 Canvas2_Component3.SetParameterValue "Time unit", "s" Canvas2_Component3.SetParameterMode "Reference bit rate", 3 Canvas2_Component3.SetParameterUnit "Reference bit rate", "Bits/s" Canvas2_Component3.SetParameterScript "Reference bit rate", "Bit rate" Canvas2_Component3.SetParameterMode "Retracing", 0 Canvas2_Component3.SetParameterValue "Retracing", FALSE Canvas2_Component3.SetParameterMode "Time window", 3 Canvas2_Component3.SetParameterScript "Time window", "1/(Bit rate)" Canvas2_Component3.SetParameterMode "Autocorrelation", 0 Canvas2_Component3.SetParameterValue "Autocorrelation", "Off" Canvas2_Component3.SetParameterMode "Calculate phase and chirp", 0 Canvas2_Component3.SetParameterValue "Calculate phase and chirp", TRUE Canvas2_Component3.SetParameterMode "Phase unit", 0 Canvas2_Component3.SetParameterValue "Phase unit", "deg" Canvas2_Component3.SetParameterMode "Unwrap phase", 0 Canvas2_Component3.SetParameterValue "Unwrap phase", TRUE Canvas2_Component3.SetParameterMode "Calculate alpha parameter", 0 Canvas2_Component3.SetParameterValue "Calculate alpha parameter", FALSE Canvas2_Component3.SetParameterMode "Power unit", 0 Canvas2_Component3.SetParameterValue "Power unit", "W" Canvas2_Component3.SetParameterMode "Minimum value", 0 Canvas2_Component3.SetParameterValue "Minimum value", -100 Canvas2_Component3.SetParameterMode "Limit number of points", 0 Canvas2_Component3.SetParameterValue "Limit number of points", TRUE Canvas2_Component3.SetParameterMode "Max. number of points", 0 Canvas2_Component3.SetParameterValue "Max. number of points", 128000 Canvas2_Component3.SetParameterMode "Invert colors", 0 Canvas2_Component3.SetParameterValue "Invert colors", FALSE Canvas2_Component3.SetParameterMode "Enable color grade", 0 Canvas2_Component3.SetParameterValue "Enable color grade", FALSE Canvas2_Component3.SetParameterMode "Number of color bins", 0 Canvas2_Component3.SetParameterValue "Number of color bins", 500 Canvas2_Component3.SetParameterMode "Color grade palette", 0 Canvas2_Component3.SetParameterValue "Color grade palette", "Default" Canvas2_Component3.SetParameterMode "Centered at max power", 0 Canvas2_Component3.SetParameterValue "Centered at max power", TRUE Canvas2_Component3.SetParameterMode "Center frequency", 0 Canvas2_Component3.SetParameterUnit "Center frequency", "THz" Canvas2_Component3.SetParameterValue "Center frequency", 193.1 Canvas2_Component3.SetParameterMode "Sample rate", 3 Canvas2_Component3.SetParameterUnit "Sample rate", "Hz" Canvas2_Component3.SetParameterScript "Sample rate", "5 * ( Sample rate )" Canvas2_Component3.SetParameterMode "Calculate FROG", 0 Canvas2_Component3.SetParameterValue "Calculate FROG", FALSE Canvas2_Component3.SetParameterMode "FROG polarization", 0 Canvas2_Component3.SetParameterValue "FROG polarization", "X" Canvas2_Component3.SetParameterMode "Add noise to FROG signal", 0 Canvas2_Component3.SetParameterValue "Add noise to FROG signal", TRUE Canvas2_Component3.SetParameterMode "FROG frequency range", 3 Canvas2_Component3.SetParameterScript "FROG frequency range", "Sample rate" Canvas2_Component3.SetParameterMode "FROG delay range", 3 Canvas2_Component3.SetParameterScript "FROG delay range", "Time window / 2" Canvas2_Component3.SetParameterMode "Number of FROG delay points", 0 Canvas2_Component3.SetParameterValue "Number of FROG delay points", 128 Canvas2_Component3.SetParameterMode "Enabled", 0 Canvas2_Component3.SetParameterValue "Enabled", TRUE Canvas2_Component3.SetParameterMode "Signal access option", 0 Canvas2_Component3.SetParameterValue "Signal access option", "Index" Canvas2_Component3.SetParameterMode "Generate random seed", 0 Canvas2_Component3.SetParameterValue "Generate random seed", TRUE Canvas2_Component3.SetParameterMode "Random seed index", 0 Canvas2_Component3.SetParameterValue "Random seed index", 0 'SCRIPT for component Optical Time Domain Visualizer. Dim Canvas2_Component4 Set Canvas2_Component4 = Canvas2.CreateComponent("Optical Time Domain Visualizer","{F11D0C25-3C7D-11D4-93F0-0050DAB7C5D6}",600,60, 40, 34,0) Canvas2_Component4.Name = "Optical Time Domain Visualizer" Canvas2_Component4.Cost = 0.000000 'Set Optical Time Domain Visualizer parameters. Canvas2_Component4.SetParameterMode "Plot individual mode", 0 Canvas2_Component4.SetParameterValue "Plot individual mode", FALSE Canvas2_Component4.SetParameterMode "Individual mode number", 0 Canvas2_Component4.SetParameterValue "Individual mode number", 0 Canvas2_Component4.SetParameterMode "Time unit", 0 Canvas2_Component4.SetParameterValue "Time unit", "s" Canvas2_Component4.SetParameterMode "Reference bit rate", 3 Canvas2_Component4.SetParameterUnit "Reference bit rate", "Bits/s" Canvas2_Component4.SetParameterScript "Reference bit rate", "Bit rate" Canvas2_Component4.SetParameterMode "Retracing", 0 Canvas2_Component4.SetParameterValue "Retracing", FALSE Canvas2_Component4.SetParameterMode "Time window", 3 Canvas2_Component4.SetParameterScript "Time window", "1/(Bit rate)" Canvas2_Component4.SetParameterMode "Autocorrelation", 0 Canvas2_Component4.SetParameterValue "Autocorrelation", "Off" Canvas2_Component4.SetParameterMode "Calculate phase and chirp", 0 Canvas2_Component4.SetParameterValue "Calculate phase and chirp", TRUE Canvas2_Component4.SetParameterMode "Phase unit", 0 Canvas2_Component4.SetParameterValue "Phase unit", "deg" Canvas2_Component4.SetParameterMode "Unwrap phase", 0 Canvas2_Component4.SetParameterValue "Unwrap phase", TRUE Canvas2_Component4.SetParameterMode "Calculate alpha parameter", 0 Canvas2_Component4.SetParameterValue "Calculate alpha parameter", FALSE Canvas2_Component4.SetParameterMode "Power unit", 0 Canvas2_Component4.SetParameterValue "Power unit", "W" Canvas2_Component4.SetParameterMode "Minimum value", 0 Canvas2_Component4.SetParameterValue "Minimum value", -100 Canvas2_Component4.SetParameterMode "Limit number of points", 0 Canvas2_Component4.SetParameterValue "Limit number of points", TRUE Canvas2_Component4.SetParameterMode "Max. number of points", 0 Canvas2_Component4.SetParameterValue "Max. number of points", 128000 Canvas2_Component4.SetParameterMode "Invert colors", 0 Canvas2_Component4.SetParameterValue "Invert colors", FALSE Canvas2_Component4.SetParameterMode "Enable color grade", 0 Canvas2_Component4.SetParameterValue "Enable color grade", FALSE Canvas2_Component4.SetParameterMode "Number of color bins", 0 Canvas2_Component4.SetParameterValue "Number of color bins", 500 Canvas2_Component4.SetParameterMode "Color grade palette", 0 Canvas2_Component4.SetParameterValue "Color grade palette", "Default" Canvas2_Component4.SetParameterMode "Centered at max power", 0 Canvas2_Component4.SetParameterValue "Centered at max power", TRUE Canvas2_Component4.SetParameterMode "Center frequency", 0 Canvas2_Component4.SetParameterUnit "Center frequency", "THz" Canvas2_Component4.SetParameterValue "Center frequency", 193.1 Canvas2_Component4.SetParameterMode "Sample rate", 3 Canvas2_Component4.SetParameterUnit "Sample rate", "Hz" Canvas2_Component4.SetParameterScript "Sample rate", "5 * ( Sample rate )" Canvas2_Component4.SetParameterMode "Calculate FROG", 0 Canvas2_Component4.SetParameterValue "Calculate FROG", FALSE Canvas2_Component4.SetParameterMode "FROG polarization", 0 Canvas2_Component4.SetParameterValue "FROG polarization", "X" Canvas2_Component4.SetParameterMode "Add noise to FROG signal", 0 Canvas2_Component4.SetParameterValue "Add noise to FROG signal", TRUE Canvas2_Component4.SetParameterMode "FROG frequency range", 3 Canvas2_Component4.SetParameterScript "FROG frequency range", "Sample rate" Canvas2_Component4.SetParameterMode "FROG delay range", 3 Canvas2_Component4.SetParameterScript "FROG delay range", "Time window / 2" Canvas2_Component4.SetParameterMode "Number of FROG delay points", 0 Canvas2_Component4.SetParameterValue "Number of FROG delay points", 128 Canvas2_Component4.SetParameterMode "Enabled", 0 Canvas2_Component4.SetParameterValue "Enabled", TRUE Canvas2_Component4.SetParameterMode "Signal access option", 0 Canvas2_Component4.SetParameterValue "Signal access option", "Index" Canvas2_Component4.SetParameterMode "Generate random seed", 0 Canvas2_Component4.SetParameterValue "Generate random seed", TRUE Canvas2_Component4.SetParameterMode "Random seed index", 0 Canvas2_Component4.SetParameterValue "Random seed index", 0 'SCRIPT for component Optical Time Domain Visualizer. Dim Canvas2_Component5 Set Canvas2_Component5 = Canvas2.CreateComponent("Optical Time Domain Visualizer","{F11D0C25-3C7D-11D4-93F0-0050DAB7C5D6}",550,260, 40, 34,0) Canvas2_Component5.Name = "Optical Time Domain Visualizer" Canvas2_Component5.Cost = 0.000000 'Set Optical Time Domain Visualizer parameters. Canvas2_Component5.SetParameterMode "Plot individual mode", 0 Canvas2_Component5.SetParameterValue "Plot individual mode", FALSE Canvas2_Component5.SetParameterMode "Individual mode number", 0 Canvas2_Component5.SetParameterValue "Individual mode number", 0 Canvas2_Component5.SetParameterMode "Time unit", 0 Canvas2_Component5.SetParameterValue "Time unit", "s" Canvas2_Component5.SetParameterMode "Reference bit rate", 3 Canvas2_Component5.SetParameterUnit "Reference bit rate", "Bits/s" Canvas2_Component5.SetParameterScript "Reference bit rate", "Bit rate" Canvas2_Component5.SetParameterMode "Retracing", 0 Canvas2_Component5.SetParameterValue "Retracing", FALSE Canvas2_Component5.SetParameterMode "Time window", 3 Canvas2_Component5.SetParameterScript "Time window", "1/(Bit rate)" Canvas2_Component5.SetParameterMode "Autocorrelation", 0 Canvas2_Component5.SetParameterValue "Autocorrelation", "Off" Canvas2_Component5.SetParameterMode "Calculate phase and chirp", 0 Canvas2_Component5.SetParameterValue "Calculate phase and chirp", TRUE Canvas2_Component5.SetParameterMode "Phase unit", 0 Canvas2_Component5.SetParameterValue "Phase unit", "deg" Canvas2_Component5.SetParameterMode "Unwrap phase", 0 Canvas2_Component5.SetParameterValue "Unwrap phase", TRUE Canvas2_Component5.SetParameterMode "Calculate alpha parameter", 0 Canvas2_Component5.SetParameterValue "Calculate alpha parameter", FALSE Canvas2_Component5.SetParameterMode "Power unit", 0 Canvas2_Component5.SetParameterValue "Power unit", "W" Canvas2_Component5.SetParameterMode "Minimum value", 0 Canvas2_Component5.SetParameterValue "Minimum value", -100 Canvas2_Component5.SetParameterMode "Limit number of points", 0 Canvas2_Component5.SetParameterValue "Limit number of points", TRUE Canvas2_Component5.SetParameterMode "Max. number of points", 0 Canvas2_Component5.SetParameterValue "Max. number of points", 128000 Canvas2_Component5.SetParameterMode "Invert colors", 0 Canvas2_Component5.SetParameterValue "Invert colors", FALSE Canvas2_Component5.SetParameterMode "Enable color grade", 0 Canvas2_Component5.SetParameterValue "Enable color grade", FALSE Canvas2_Component5.SetParameterMode "Number of color bins", 0 Canvas2_Component5.SetParameterValue "Number of color bins", 500 Canvas2_Component5.SetParameterMode "Color grade palette", 0 Canvas2_Component5.SetParameterValue "Color grade palette", "Default" Canvas2_Component5.SetParameterMode "Centered at max power", 0 Canvas2_Component5.SetParameterValue "Centered at max power", TRUE Canvas2_Component5.SetParameterMode "Center frequency", 0 Canvas2_Component5.SetParameterUnit "Center frequency", "THz" Canvas2_Component5.SetParameterValue "Center frequency", 193.1 Canvas2_Component5.SetParameterMode "Sample rate", 3 Canvas2_Component5.SetParameterUnit "Sample rate", "Hz" Canvas2_Component5.SetParameterScript "Sample rate", "5 * ( Sample rate )" Canvas2_Component5.SetParameterMode "Calculate FROG", 0 Canvas2_Component5.SetParameterValue "Calculate FROG", FALSE Canvas2_Component5.SetParameterMode "FROG polarization", 0 Canvas2_Component5.SetParameterValue "FROG polarization", "X" Canvas2_Component5.SetParameterMode "Add noise to FROG signal", 0 Canvas2_Component5.SetParameterValue "Add noise to FROG signal", TRUE Canvas2_Component5.SetParameterMode "FROG frequency range", 3 Canvas2_Component5.SetParameterScript "FROG frequency range", "Sample rate" Canvas2_Component5.SetParameterMode "FROG delay range", 3 Canvas2_Component5.SetParameterScript "FROG delay range", "Time window / 2" Canvas2_Component5.SetParameterMode "Number of FROG delay points", 0 Canvas2_Component5.SetParameterValue "Number of FROG delay points", 128 Canvas2_Component5.SetParameterMode "Enabled", 0 Canvas2_Component5.SetParameterValue "Enabled", TRUE Canvas2_Component5.SetParameterMode "Signal access option", 0 Canvas2_Component5.SetParameterValue "Signal access option", "Index" Canvas2_Component5.SetParameterMode "Generate random seed", 0 Canvas2_Component5.SetParameterValue "Generate random seed", TRUE Canvas2_Component5.SetParameterMode "Random seed index", 0 Canvas2_Component5.SetParameterValue "Random seed index", 0 'SCRIPT for component OptiGrating Linear chirp and apodization. Dim Canvas2_Component6 Set Canvas2_Component6 = Canvas2.CreateComponent("OptiGrating","{33B1D7C9-2EE1-40C1-B640-96F158649FF0}",500,150, 34, 34,0) Canvas2_Component6.Name = "OptiGrating Linear chirp and apodization" Canvas2_Component6.Cost = 0.000000 'Set OptiGrating Linear chirp and apodization parameters. Canvas2_Component6.SetParameterMode "User defined frequency", 0 Canvas2_Component6.SetParameterValue "User defined frequency", FALSE Canvas2_Component6.SetParameterMode "Frequency", 0 Canvas2_Component6.SetParameterUnit "Frequency", "THz" Canvas2_Component6.SetParameterValue "Frequency", 193.1 Canvas2_Component6.SetParameterMode "FBG filename", 0 Canvas2_Component6.SetParameterValue "FBG filename", "FBG.txt" Canvas2_Component6.SetParameterMode "Enabled", 0 Canvas2_Component6.SetParameterValue "Enabled", TRUE Canvas2_Component6.SetParameterMode "Resample", 0 Canvas2_Component6.SetParameterValue "Resample", FALSE Canvas2_Component6.SetParameterMode "Sample rate", 0 Canvas2_Component6.SetParameterUnit "Sample rate", "GHz" Canvas2_Component6.SetParameterValue "Sample rate", 500 Canvas2_Component6.SetParameterMode "Noise threshold", 0 Canvas2_Component6.SetParameterValue "Noise threshold", -100 Canvas2_Component6.SetParameterMode "Noise dynamic", 0 Canvas2_Component6.SetParameterValue "Noise dynamic", 3 'SCRIPT for component SMF. Dim Canvas2_Component7 Set Canvas2_Component7 = Canvas2.CreateComponent("Optical Fiber","{416EC6F1-529F-11D4-9403-0050DAB7C5D6}",290,130, 32, 32,0) Canvas2_Component7.Name = "SMF" Canvas2_Component7.Cost = 0.000000 'Set SMF parameters. Canvas2_Component7.SetParameterMode "User defined reference wavelength", 0 Canvas2_Component7.SetParameterValue "User defined reference wavelength", FALSE Canvas2_Component7.SetParameterMode "Reference wavelength", 0 Canvas2_Component7.SetParameterUnit "Reference wavelength", "nm" Canvas2_Component7.SetParameterValue "Reference wavelength", 1550 Canvas2_Component7.SetParameterMode "Length", 0 Canvas2_Component7.SetParameterValue "Length", 10 Canvas2_Component7.SetParameterMode "Attenuation effect", 0 Canvas2_Component7.SetParameterValue "Attenuation effect", FALSE Canvas2_Component7.SetParameterMode "Attenuation data type", 0 Canvas2_Component7.SetParameterValue "Attenuation data type", "Constant" Canvas2_Component7.SetParameterMode "Attenuation", 0 Canvas2_Component7.SetParameterValue "Attenuation", 0.2 Canvas2_Component7.SetParameterMode "Attenuation vs. wavelength", 0 Canvas2_Component7.SetParameterValue "Attenuation vs. wavelength", "Attenuation.dat" Canvas2_Component7.SetParameterMode "Group velocity dispersion", 0 Canvas2_Component7.SetParameterValue "Group velocity dispersion", TRUE Canvas2_Component7.SetParameterMode "Third-order dispersion", 0 Canvas2_Component7.SetParameterValue "Third-order dispersion", FALSE Canvas2_Component7.SetParameterMode "Dispersion data type", 0 Canvas2_Component7.SetParameterValue "Dispersion data type", "Constant" Canvas2_Component7.SetParameterMode "Frequency domain parameters", 0 Canvas2_Component7.SetParameterValue "Frequency domain parameters", FALSE Canvas2_Component7.SetParameterMode "Dispersion", 0 Canvas2_Component7.SetParameterValue "Dispersion", 16 Canvas2_Component7.SetParameterMode "Dispersion slope", 0 Canvas2_Component7.SetParameterValue "Dispersion slope", 0.11 Canvas2_Component7.SetParameterMode "Beta 2", 0 Canvas2_Component7.SetParameterValue "Beta 2", -20 Canvas2_Component7.SetParameterMode "Beta 3", 0 Canvas2_Component7.SetParameterValue "Beta 3", 0 Canvas2_Component7.SetParameterMode "Dispersion file format", 0 Canvas2_Component7.SetParameterValue "Dispersion file format", "Dispersion vs. wavelength" Canvas2_Component7.SetParameterMode "Dispersion file name", 0 Canvas2_Component7.SetParameterValue "Dispersion file name", "Dispersion.dat" Canvas2_Component7.SetParameterMode "Birefringence type", 0 Canvas2_Component7.SetParameterValue "Birefringence type", "Deterministic" Canvas2_Component7.SetParameterMode "Differential group delay", 0 Canvas2_Component7.SetParameterValue "Differential group delay", 3 Canvas2_Component7.SetParameterMode "PMD coefficient", 0 Canvas2_Component7.SetParameterValue "PMD coefficient", 0.5 Canvas2_Component7.SetParameterMode "Mean scattering section length", 0 Canvas2_Component7.SetParameterValue "Mean scattering section length", 500 Canvas2_Component7.SetParameterMode "Scattering section dispersion", 0 Canvas2_Component7.SetParameterValue "Scattering section dispersion", 100 Canvas2_Component7.SetParameterMode "Self-phase modulation", 0 Canvas2_Component7.SetParameterValue "Self-phase modulation", FALSE Canvas2_Component7.SetParameterMode "Effective area data type", 0 Canvas2_Component7.SetParameterValue "Effective area data type", "Constant" Canvas2_Component7.SetParameterMode "Effective area", 0 Canvas2_Component7.SetParameterValue "Effective area", 72 Canvas2_Component7.SetParameterMode "Effective area vs. wavelength", 0 Canvas2_Component7.SetParameterValue "Effective area vs. wavelength", "EffectiveAra.dat" Canvas2_Component7.SetParameterMode "n2 data type", 0 Canvas2_Component7.SetParameterValue "n2 data type", "Constant" Canvas2_Component7.SetParameterMode "n2", 0 Canvas2_Component7.SetParameterValue "n2", 26e-021 Canvas2_Component7.SetParameterMode "n2 vs. wavelength", 0 Canvas2_Component7.SetParameterValue "n2 vs. wavelength", "n2.dat" Canvas2_Component7.SetParameterMode "Self-steepening", 0 Canvas2_Component7.SetParameterValue "Self-steepening", FALSE Canvas2_Component7.SetParameterMode "Full Raman Response", 0 Canvas2_Component7.SetParameterValue "Full Raman Response", FALSE Canvas2_Component7.SetParameterMode "Intrapulse Raman Scatt.", 0 Canvas2_Component7.SetParameterValue "Intrapulse Raman Scatt.", FALSE Canvas2_Component7.SetParameterMode "Raman self-shift time1", 0 Canvas2_Component7.SetParameterValue "Raman self-shift time1", 14.2 Canvas2_Component7.SetParameterMode "Raman self-shift time2", 0 Canvas2_Component7.SetParameterValue "Raman self-shift time2", 3 Canvas2_Component7.SetParameterMode "Fract. Raman contribution", 0 Canvas2_Component7.SetParameterValue "Fract. Raman contribution", 0.18 Canvas2_Component7.SetParameterMode "Orthogonal Raman factor", 0 Canvas2_Component7.SetParameterValue "Orthogonal Raman factor", 0.75 Canvas2_Component7.SetParameterMode "Model type", 0 Canvas2_Component7.SetParameterValue "Model type", "Scalar" Canvas2_Component7.SetParameterMode "Propagator type", 0 Canvas2_Component7.SetParameterValue "Propagator type", "Exponential" Canvas2_Component7.SetParameterMode "Calculation type", 0 Canvas2_Component7.SetParameterValue "Calculation type", "Noniterative" Canvas2_Component7.SetParameterMode "Number of iterations", 0 Canvas2_Component7.SetParameterValue "Number of iterations", 2 Canvas2_Component7.SetParameterMode "Step size", 0 Canvas2_Component7.SetParameterValue "Step size", "Variable" Canvas2_Component7.SetParameterMode "Max. nonlinear phase shift", 0 Canvas2_Component7.SetParameterValue "Max. nonlinear phase shift", 5 Canvas2_Component7.SetParameterMode "Boundary conditions", 0 Canvas2_Component7.SetParameterValue "Boundary conditions", "Periodic" Canvas2_Component7.SetParameterMode "Filter steepness", 0 Canvas2_Component7.SetParameterValue "Filter steepness", 0.05 Canvas2_Component7.SetParameterMode "Lower calculation limit", 0 Canvas2_Component7.SetParameterValue "Lower calculation limit", 1200 Canvas2_Component7.SetParameterMode "Upper calculation limit", 0 Canvas2_Component7.SetParameterValue "Upper calculation limit", 1700 Canvas2_Component7.SetParameterMode "Calculate graphs", 0 Canvas2_Component7.SetParameterValue "Calculate graphs", FALSE Canvas2_Component7.SetParameterMode "Number of distance steps", 0 Canvas2_Component7.SetParameterValue "Number of distance steps", 200 Canvas2_Component7.SetParameterMode "Number of wavelength/time steps", 0 Canvas2_Component7.SetParameterValue "Number of wavelength/time steps", 200 Canvas2_Component7.SetParameterMode "Linear scale", 0 Canvas2_Component7.SetParameterValue "Linear scale", TRUE Canvas2_Component7.SetParameterMode "Minimum value", 0 Canvas2_Component7.SetParameterValue "Minimum value", -100 Canvas2_Component7.SetParameterMode "Spectrum (total power) graph", 0 Canvas2_Component7.SetParameterValue "Spectrum (total power) graph", FALSE Canvas2_Component7.SetParameterMode "Spectrum (X component) graph", 0 Canvas2_Component7.SetParameterValue "Spectrum (X component) graph", FALSE Canvas2_Component7.SetParameterMode "Spectrum (Y component) graph", 0 Canvas2_Component7.SetParameterValue "Spectrum (Y component) graph", FALSE Canvas2_Component7.SetParameterMode "Waveform (total power) graph", 0 Canvas2_Component7.SetParameterValue "Waveform (total power) graph", FALSE Canvas2_Component7.SetParameterMode "Waveform (X component) graph", 0 Canvas2_Component7.SetParameterValue "Waveform (X component) graph", FALSE Canvas2_Component7.SetParameterMode "Waveform (Y component) graph", 0 Canvas2_Component7.SetParameterValue "Waveform (Y component) graph", FALSE Canvas2_Component7.SetParameterMode "Enabled", 0 Canvas2_Component7.SetParameterValue "Enabled", TRUE Canvas2_Component7.SetParameterMode "Convert noise bins", 0 Canvas2_Component7.SetParameterValue "Convert noise bins", FALSE Canvas2_Component7.SetParameterMode "Generate random seed", 0 Canvas2_Component7.SetParameterValue "Generate random seed", TRUE Canvas2_Component7.SetParameterMode "Random seed index", 0 Canvas2_Component7.SetParameterValue "Random seed index", 0 'SCRIPT for component Optical Time Domain Visualizer_3. Dim Canvas2_Component8 Set Canvas2_Component8 = Canvas2.CreateComponent("Optical Time Domain Visualizer","{F11D0C25-3C7D-11D4-93F0-0050DAB7C5D6}",410,50, 40, 34,0) Canvas2_Component8.Name = "Optical Time Domain Visualizer_3" Canvas2_Component8.Cost = 0.000000 'Set Optical Time Domain Visualizer_3 parameters. Canvas2_Component8.SetParameterMode "Plot individual mode", 0 Canvas2_Component8.SetParameterValue "Plot individual mode", FALSE Canvas2_Component8.SetParameterMode "Individual mode number", 0 Canvas2_Component8.SetParameterValue "Individual mode number", 0 Canvas2_Component8.SetParameterMode "Time unit", 0 Canvas2_Component8.SetParameterValue "Time unit", "s" Canvas2_Component8.SetParameterMode "Reference bit rate", 3 Canvas2_Component8.SetParameterUnit "Reference bit rate", "Bits/s" Canvas2_Component8.SetParameterScript "Reference bit rate", "Bit rate" Canvas2_Component8.SetParameterMode "Retracing", 0 Canvas2_Component8.SetParameterValue "Retracing", FALSE Canvas2_Component8.SetParameterMode "Time window", 3 Canvas2_Component8.SetParameterScript "Time window", "1/(Bit rate)" Canvas2_Component8.SetParameterMode "Autocorrelation", 0 Canvas2_Component8.SetParameterValue "Autocorrelation", "Off" Canvas2_Component8.SetParameterMode "Calculate phase and chirp", 0 Canvas2_Component8.SetParameterValue "Calculate phase and chirp", TRUE Canvas2_Component8.SetParameterMode "Phase unit", 0 Canvas2_Component8.SetParameterValue "Phase unit", "deg" Canvas2_Component8.SetParameterMode "Unwrap phase", 0 Canvas2_Component8.SetParameterValue "Unwrap phase", TRUE Canvas2_Component8.SetParameterMode "Calculate alpha parameter", 0 Canvas2_Component8.SetParameterValue "Calculate alpha parameter", FALSE Canvas2_Component8.SetParameterMode "Power unit", 0 Canvas2_Component8.SetParameterValue "Power unit", "W" Canvas2_Component8.SetParameterMode "Minimum value", 0 Canvas2_Component8.SetParameterValue "Minimum value", -100 Canvas2_Component8.SetParameterMode "Limit number of points", 0 Canvas2_Component8.SetParameterValue "Limit number of points", TRUE Canvas2_Component8.SetParameterMode "Max. number of points", 0 Canvas2_Component8.SetParameterValue "Max. number of points", 128000 Canvas2_Component8.SetParameterMode "Invert colors", 0 Canvas2_Component8.SetParameterValue "Invert colors", FALSE Canvas2_Component8.SetParameterMode "Enable color grade", 0 Canvas2_Component8.SetParameterValue "Enable color grade", FALSE Canvas2_Component8.SetParameterMode "Number of color bins", 0 Canvas2_Component8.SetParameterValue "Number of color bins", 500 Canvas2_Component8.SetParameterMode "Color grade palette", 0 Canvas2_Component8.SetParameterValue "Color grade palette", "Default" Canvas2_Component8.SetParameterMode "Centered at max power", 0 Canvas2_Component8.SetParameterValue "Centered at max power", TRUE Canvas2_Component8.SetParameterMode "Center frequency", 0 Canvas2_Component8.SetParameterUnit "Center frequency", "THz" Canvas2_Component8.SetParameterValue "Center frequency", 193.1 Canvas2_Component8.SetParameterMode "Sample rate", 3 Canvas2_Component8.SetParameterUnit "Sample rate", "Hz" Canvas2_Component8.SetParameterScript "Sample rate", "5 * ( Sample rate )" Canvas2_Component8.SetParameterMode "Calculate FROG", 0 Canvas2_Component8.SetParameterValue "Calculate FROG", FALSE Canvas2_Component8.SetParameterMode "FROG polarization", 0 Canvas2_Component8.SetParameterValue "FROG polarization", "X" Canvas2_Component8.SetParameterMode "Add noise to FROG signal", 0 Canvas2_Component8.SetParameterValue "Add noise to FROG signal", TRUE Canvas2_Component8.SetParameterMode "FROG frequency range", 3 Canvas2_Component8.SetParameterScript "FROG frequency range", "Sample rate" Canvas2_Component8.SetParameterMode "FROG delay range", 3 Canvas2_Component8.SetParameterScript "FROG delay range", "Time window / 2" Canvas2_Component8.SetParameterMode "Number of FROG delay points", 0 Canvas2_Component8.SetParameterValue "Number of FROG delay points", 128 Canvas2_Component8.SetParameterMode "Enabled", 0 Canvas2_Component8.SetParameterValue "Enabled", TRUE Canvas2_Component8.SetParameterMode "Signal access option", 0 Canvas2_Component8.SetParameterValue "Signal access option", "Index" Canvas2_Component8.SetParameterMode "Generate random seed", 0 Canvas2_Component8.SetParameterValue "Generate random seed", TRUE Canvas2_Component8.SetParameterMode "Random seed index", 0 Canvas2_Component8.SetParameterValue "Random seed index", 0 'SCRIPT for component Photodetector PIN. Dim Canvas2_Component9 Set Canvas2_Component9 = Canvas2.CreateComponent("Photodetector PIN","{0B8011BF-3C6B-11D4-93EF-0050DAB7C5D6}",660,150, 34, 34,0) Canvas2_Component9.Name = "Photodetector PIN" Canvas2_Component9.Cost = 0.000000 'Set Photodetector PIN parameters. Canvas2_Component9.SetParameterMode "Responsivity", 0 Canvas2_Component9.SetParameterValue "Responsivity", 1 Canvas2_Component9.SetParameterMode "Dark current", 0 Canvas2_Component9.SetParameterValue "Dark current", 10 Canvas2_Component9.SetParameterMode "Centered at max power", 0 Canvas2_Component9.SetParameterValue "Centered at max power", TRUE Canvas2_Component9.SetParameterMode "Center frequency", 0 Canvas2_Component9.SetParameterUnit "Center frequency", "THz" Canvas2_Component9.SetParameterValue "Center frequency", 193.1 Canvas2_Component9.SetParameterMode "Sample rate", 3 Canvas2_Component9.SetParameterUnit "Sample rate", "Hz" Canvas2_Component9.SetParameterScript "Sample rate", "5 * ( Sample rate )" Canvas2_Component9.SetParameterMode "Noise calculation type", 0 Canvas2_Component9.SetParameterValue "Noise calculation type", "Numerical" Canvas2_Component9.SetParameterMode "Add signal-ASE noise", 0 Canvas2_Component9.SetParameterValue "Add signal-ASE noise", TRUE Canvas2_Component9.SetParameterMode "Add ASE-ASE noise", 0 Canvas2_Component9.SetParameterValue "Add ASE-ASE noise", TRUE Canvas2_Component9.SetParameterMode "Add thermal noise", 0 Canvas2_Component9.SetParameterValue "Add thermal noise", TRUE Canvas2_Component9.SetParameterMode "Thermal noise", 0 Canvas2_Component9.SetParameterUnit "Thermal noise", "W/Hz" Canvas2_Component9.SetParameterValue "Thermal noise", 100e-024 Canvas2_Component9.SetParameterMode "Add shot noise", 0 Canvas2_Component9.SetParameterValue "Add shot noise", TRUE Canvas2_Component9.SetParameterMode "Shot noise distribution", 0 Canvas2_Component9.SetParameterValue "Shot noise distribution", "Gaussian" Canvas2_Component9.SetParameterMode "Generate random seed", 0 Canvas2_Component9.SetParameterValue "Generate random seed", TRUE Canvas2_Component9.SetParameterMode "Random seed index", 0 Canvas2_Component9.SetParameterValue "Random seed index", 0 'SCRIPT for component Low Pass Bessel Filter. Dim Canvas2_Component10 Set Canvas2_Component10 = Canvas2.CreateComponent("Low Pass Bessel Filter","{161B94D1-3BA4-11D4-93EE-0050DAB7C5D6}",800,160, 34, 34,0) Canvas2_Component10.Name = "Low Pass Bessel Filter" Canvas2_Component10.Cost = 0.000000 'Set Low Pass Bessel Filter parameters. Canvas2_Component10.SetParameterMode "Cutoff frequency", 3 Canvas2_Component10.SetParameterUnit "Cutoff frequency", "Hz" Canvas2_Component10.SetParameterScript "Cutoff frequency", "0.75 * Bit rate" Canvas2_Component10.SetParameterMode "Insertion loss", 0 Canvas2_Component10.SetParameterValue "Insertion loss", 0 Canvas2_Component10.SetParameterMode "Depth", 0 Canvas2_Component10.SetParameterValue "Depth", 100 Canvas2_Component10.SetParameterMode "Order", 0 Canvas2_Component10.SetParameterValue "Order", 4 Canvas2_Component10.SetParameterMode "Enabled", 0 Canvas2_Component10.SetParameterValue "Enabled", TRUE Canvas2_Component10.SetParameterMode "Digital filter", 0 Canvas2_Component10.SetParameterValue "Digital filter", FALSE 'SCRIPT for component 3R Regenerator. Dim Canvas2_Component11 Set Canvas2_Component11 = Canvas2.CreateComponent("3R Regenerator","{0B8011BF-3C6B-11D4-93EF-0050DAB7C5D6}",870,140, 34, 34,0) Canvas2_Component11.Name = "3R Regenerator" Canvas2_Component11.Cost = 0.000000 'Set 3R Regenerator parameters. Canvas2_Component11.SetParameterMode "Reference bit rate", 3 Canvas2_Component11.SetParameterUnit "Reference bit rate", "Bits/s" Canvas2_Component11.SetParameterScript "Reference bit rate", "Bit rate" Canvas2_Component11.SetParameterMode "User defined delay", 0 Canvas2_Component11.SetParameterValue "User defined delay", FALSE Canvas2_Component11.SetParameterMode "Delay compensation", 0 Canvas2_Component11.SetParameterUnit "Delay compensation", "s" Canvas2_Component11.SetParameterValue "Delay compensation", 0 Canvas2_Component11.SetParameterMode "User defined decision", 0 Canvas2_Component11.SetParameterValue "User defined decision", FALSE Canvas2_Component11.SetParameterMode "Decision instant", 0 Canvas2_Component11.SetParameterValue "Decision instant", 0.5 Canvas2_Component11.SetParameterMode "User defined threshold", 0 Canvas2_Component11.SetParameterValue "User defined threshold", FALSE Canvas2_Component11.SetParameterMode "Absolute threshold", 0 Canvas2_Component11.SetParameterValue "Absolute threshold", 0.5 'SCRIPT for component BER Analyzer. Dim Canvas2_Component12 Set Canvas2_Component12 = Canvas2.CreateComponent("BER Analyzer","{F11D0C25-3C7D-11D4-93F0-0050DAB7C5D6}",970,140, 40, 34,0) Canvas2_Component12.Name = "BER Analyzer" Canvas2_Component12.Cost = 0.000000 'Set BER Analyzer parameters. Canvas2_Component12.SetParameterMode "Algorithm", 0 Canvas2_Component12.SetParameterValue "Algorithm", "Gaussian" Canvas2_Component12.SetParameterMode "Time window", 0 Canvas2_Component12.SetParameterValue "Time window", 1.5 Canvas2_Component12.SetParameterMode "Ignore start bits", 0 Canvas2_Component12.SetParameterValue "Ignore start bits", 1 Canvas2_Component12.SetParameterMode "Ignore end bits", 0 Canvas2_Component12.SetParameterValue "Ignore end bits", 1 Canvas2_Component12.SetParameterMode "Lower calculation limit", 0 Canvas2_Component12.SetParameterValue "Lower calculation limit", 0 Canvas2_Component12.SetParameterMode "Upper calculation limit", 0 Canvas2_Component12.SetParameterValue "Upper calculation limit", 1 Canvas2_Component12.SetParameterMode "Eye must be open", 0 Canvas2_Component12.SetParameterValue "Eye must be open", TRUE Canvas2_Component12.SetParameterMode "Eye opening tolerance", 0 Canvas2_Component12.SetParameterValue "Eye opening tolerance", 2 Canvas2_Component12.SetParameterMode "Clock recovery", 0 Canvas2_Component12.SetParameterValue "Clock recovery", "On" Canvas2_Component12.SetParameterMode "Enabled FEC gain estimation", 0 Canvas2_Component12.SetParameterValue "Enabled FEC gain estimation", FALSE Canvas2_Component12.SetParameterMode "FEC estimation type", 0 Canvas2_Component12.SetParameterValue "FEC estimation type", "Analytical" Canvas2_Component12.SetParameterMode "Measured FEC filename", 0 Canvas2_Component12.SetParameterValue "Measured FEC filename", "FEC.dat" Canvas2_Component12.SetParameterMode "Threshold mode", 0 Canvas2_Component12.SetParameterValue "Threshold mode", "Relative" Canvas2_Component12.SetParameterMode "Absolute threshold", 0 Canvas2_Component12.SetParameterValue "Absolute threshold", 0 Canvas2_Component12.SetParameterMode "Relative threshold", 0 Canvas2_Component12.SetParameterValue "Relative threshold", 50 Canvas2_Component12.SetParameterMode "Decision instant", 0 Canvas2_Component12.SetParameterValue "Decision instant", 0.5 Canvas2_Component12.SetParameterMode "Load threshold from file", 0 Canvas2_Component12.SetParameterValue "Load threshold from file", FALSE Canvas2_Component12.SetParameterMode "Measured threshold filename", 0 Canvas2_Component12.SetParameterValue "Measured threshold filename", "Threshold.dat" Canvas2_Component12.SetParameterMode "Reload before calculation", 0 Canvas2_Component12.SetParameterValue "Reload before calculation", FALSE Canvas2_Component12.SetParameterMode "Time unit", 0 Canvas2_Component12.SetParameterValue "Time unit", "Bit period" Canvas2_Component12.SetParameterMode "Ratio unit", 0 Canvas2_Component12.SetParameterValue "Ratio unit", "none" Canvas2_Component12.SetParameterMode "Limit number of points", 0 Canvas2_Component12.SetParameterValue "Limit number of points", TRUE Canvas2_Component12.SetParameterMode "Max. number of points", 0 Canvas2_Component12.SetParameterValue "Max. number of points", 128000 Canvas2_Component12.SetParameterMode "Invert colors", 0 Canvas2_Component12.SetParameterValue "Invert colors", FALSE Canvas2_Component12.SetParameterMode "Enable color grade", 0 Canvas2_Component12.SetParameterValue "Enable color grade", FALSE Canvas2_Component12.SetParameterMode "Number of color bins", 0 Canvas2_Component12.SetParameterValue "Number of color bins", 500 Canvas2_Component12.SetParameterMode "Color grade palette", 0 Canvas2_Component12.SetParameterValue "Color grade palette", "Default" Canvas2_Component12.SetParameterMode "Smoothness", 0 Canvas2_Component12.SetParameterValue "Smoothness", 10 Canvas2_Component12.SetParameterMode "Calculate patterns", 0 Canvas2_Component12.SetParameterValue "Calculate patterns", FALSE Canvas2_Component12.SetParameterMode "Number of points", 0 Canvas2_Component12.SetParameterValue "Number of points", 16 Canvas2_Component12.SetParameterMode "BER for pattern 1", 0 Canvas2_Component12.SetParameterValue "BER for pattern 1", 1e-012 Canvas2_Component12.SetParameterMode "BER for pattern 2", 0 Canvas2_Component12.SetParameterValue "BER for pattern 2", 10e-012 Canvas2_Component12.SetParameterMode "BER for pattern 3", 0 Canvas2_Component12.SetParameterValue "BER for pattern 3", 100e-012 Canvas2_Component12.SetParameterMode "BER for pattern 4", 0 Canvas2_Component12.SetParameterValue "BER for pattern 4", 1e-009 Canvas2_Component12.SetParameterMode "BER for pattern 5", 0 Canvas2_Component12.SetParameterValue "BER for pattern 5", 10e-009 Canvas2_Component12.SetParameterMode "Calculate 3D graph", 0 Canvas2_Component12.SetParameterValue "Calculate 3D graph", FALSE Canvas2_Component12.SetParameterMode "Reference values setup", 0 Canvas2_Component12.SetParameterValue "Reference values setup", "User defined" Canvas2_Component12.SetParameterMode "Total power", 0 Canvas2_Component12.SetParameterValue "Total power", -1000 Canvas2_Component12.SetParameterMode "Signal power", 0 Canvas2_Component12.SetParameterValue "Signal power", -1000 Canvas2_Component12.SetParameterMode "Noise power", 0 Canvas2_Component12.SetParameterValue "Noise power", -1000 Canvas2_Component12.SetParameterMode "Min. BER", 0 Canvas2_Component12.SetParameterValue "Min. BER", 1 Canvas2_Component12.SetParameterMode "Q factor from min. BER", 0 Canvas2_Component12.SetParameterValue "Q factor from min. BER", 0 Canvas2_Component12.SetParameterMode "Max. Q factor", 0 Canvas2_Component12.SetParameterValue "Max. Q factor", 0 Canvas2_Component12.SetParameterMode "Max. eye height", 0 Canvas2_Component12.SetParameterValue "Max. eye height", 0 Canvas2_Component12.SetParameterMode "Max. eye amplitude", 0 Canvas2_Component12.SetParameterValue "Max. eye amplitude", 0 Canvas2_Component12.SetParameterMode "Max. eye closure", 0 Canvas2_Component12.SetParameterValue "Max. eye closure", 0 Canvas2_Component12.SetParameterMode "Max. eye opening factor", 0 Canvas2_Component12.SetParameterValue "Max. eye opening factor", 0 Canvas2_Component12.SetParameterMode "Extinction ratio at min. BER", 0 Canvas2_Component12.SetParameterValue "Extinction ratio at min. BER", 0 Canvas2_Component12.SetParameterMode "Min. BER at user defined decision instant", 0 Canvas2_Component12.SetParameterValue "Min. BER at user defined decision instant", 1 Canvas2_Component12.SetParameterMode "Q factor from min. BER at user defined decision instant", 0 Canvas2_Component12.SetParameterValue "Q factor from min. BER at user defined decision instant", 0 Canvas2_Component12.SetParameterMode "Q factor at user defined decision instant", 0 Canvas2_Component12.SetParameterValue "Q factor at user defined decision instant", 0 Canvas2_Component12.SetParameterMode "BER at user defined threshold", 0 Canvas2_Component12.SetParameterValue "BER at user defined threshold", 1 Canvas2_Component12.SetParameterMode "Q factor from BER at user defined threshold", 0 Canvas2_Component12.SetParameterValue "Q factor from BER at user defined threshold", 0 Canvas2_Component12.SetParameterMode "BER at user defined decision instant and threshold", 0 Canvas2_Component12.SetParameterValue "BER at user defined decision instant and threshold", 1 Canvas2_Component12.SetParameterMode "Q factor from BER at user defined decision instant and threshold", 0 Canvas2_Component12.SetParameterValue "Q factor from BER at user defined decision instant and threshold", 0 Canvas2_Component12.SetParameterMode "Eye height at user defined decision instant", 0 Canvas2_Component12.SetParameterValue "Eye height at user defined decision instant", 0 Canvas2_Component12.SetParameterMode "Eye amplitude at user defined decision instant", 0 Canvas2_Component12.SetParameterValue "Eye amplitude at user defined decision instant", 0 Canvas2_Component12.SetParameterMode "Eye closure at user defined decision instant", 0 Canvas2_Component12.SetParameterValue "Eye closure at user defined decision instant", 0 Canvas2_Component12.SetParameterMode "Eye opening factor at user defined decision instant", 0 Canvas2_Component12.SetParameterValue "Eye opening factor at user defined decision instant", 0 Canvas2_Component12.SetParameterMode "Extinction ratio at user defined decision instant", 0 Canvas2_Component12.SetParameterValue "Extinction ratio at user defined decision instant", 0 Canvas2_Component12.SetParameterMode "Enabled", 0 Canvas2_Component12.SetParameterValue "Enabled", TRUE Canvas2_Component12.SetParameterMode "Signal access option", 0 Canvas2_Component12.SetParameterValue "Signal access option", "Index" Canvas2_Component12.SetParameterMode "Add noise to signal", 0 Canvas2_Component12.SetParameterValue "Add noise to signal", TRUE Canvas2_Component12.SetParameterMode "Generate random seed", 0 Canvas2_Component12.SetParameterValue "Generate random seed", TRUE Canvas2_Component12.SetParameterMode "Random seed index", 0 Canvas2_Component12.SetParameterValue "Random seed index", 0 'Set Total Sweep Iterations Layout2.SetTotalSweepIterations(1) 'Set Current Sweep Iteration Layout2.SetCurrentSweepIteration(1) 'Attach Monitors. Canvas2_Component2.GetOutputPort(1).CreateMonitor Canvas2_Component6.GetOutputPort(1).CreateMonitor Canvas2_Component6.GetOutputPort(2).CreateMonitor Canvas2_Component7.GetOutputPort(1).CreateMonitor Canvas2_Component11.GetOutputPort(1).CreateMonitor Canvas2_Component11.GetOutputPort(2).CreateMonitor Canvas2_Component11.GetOutputPort(3).CreateMonitor 'Connecting components. Canvas2_Component1.GetOutputPort(1).Connect(Canvas2_Component2.GetInputPort(1)) Canvas2_Component2.GetOutputPort(1).Connect(Canvas2_Component7.GetInputPort(1)) Canvas2_Component2.GetOutputPort(1).ConnectVisualizer(Canvas2_Component3.GetInputPort(1)) Canvas2_Component6.GetOutputPort(1).ConnectVisualizer(Canvas2_Component4.GetInputPort(1)) Canvas2_Component6.GetOutputPort(2).ConnectVisualizer(Canvas2_Component5.GetInputPort(1)) Canvas2_Component6.GetOutputPort(1).Connect(Canvas2_Component9.GetInputPort(1)) Canvas2_Component7.GetOutputPort(1).Connect(Canvas2_Component6.GetInputPort(1)) Canvas2_Component7.GetOutputPort(1).ConnectVisualizer(Canvas2_Component8.GetInputPort(1)) Canvas2_Component9.GetOutputPort(1).Connect(Canvas2_Component10.GetInputPort(1)) Canvas2_Component10.GetOutputPort(1).Connect(Canvas2_Component11.GetInputPort(1)) Canvas2_Component11.GetOutputPort(1).ConnectVisualizer(Canvas2_Component12.GetInputPort(1)) Canvas2_Component11.GetOutputPort(2).ConnectVisualizer(Canvas2_Component12.GetInputPort(2)) Canvas2_Component11.GetOutputPort(3).ConnectVisualizer(Canvas2_Component12.GetInputPort(3))