switchtodesign; clear; ## SWEEP NRZ SIGNAL RISE & FALL PERIOD # define sweep parameters rise_period = linspace(1e-100, 0.75, 6); fall_period = rise_period; tdecq_result1 = matrix(length(rise_period), 1); # sweep for (ii = 1:length(rise_period)) { switchtodesign; setnamed("::Root Element" ,"rise period", rise_period(ii)); setnamed("::Root Element", "fall period", fall_period(ii)); run; runanalysis; tdecq_result1(ii) = getresult("TDECQ_1", "TDECQ"); } # plot result plot(rise_period, tdecq_result1, "rise/fall oeriod (a.u.)", "TDECQ (dB)", "TDECQ vs rise period"); ## SWEEP NOISE # define sweep parameters switchtodesign; setnamed("::Root Element" ,"rise period", 1e-100); setnamed("::Root Element", "fall period", 1e-100); noise = linspace(1e-100, 1e-18, 6); tdecq_result2 = matrix(length(noise), 1); # sweep for (jj = 1:length(noise)) { switchtodesign; setnamed("NOISE_1" ,"power spectral density", noise(jj)); run; runanalysis; tdecq_result2(jj) = getresult("TDECQ_1", "TDECQ"); } # plot result plot(noise, tdecq_result2, "noise std dev", "TDECQ (dB)", "TDECQ vs noise std");