%% DC Source desired_voltage = 2.8; dcs = DC_supply("active",[1,0],"voltage",[desired_voltage, 0]); dcs.set("voltage",[desired_voltage, 0]); [v,i]=dcs.readVals(); %% Laser desired_wavelength = 1310; laser = Exfo_laser("mainframe_channel",1,"safety_mode",0,"connection_id",'10','lab_interface','gpib'); laser.setWavelength(desired_wavelength); laser.setPower(10); laser.enableLaser(); %% Optical Attenuator voa = OptAtten("active",[0,0,2,0],"value",[0,0,-5,0],"wavelength",[desired_wavelength,desired_wavelength,desired_wavelength,desired_wavelength]); voa.set('value',[0,0,3,0]); %% Construct AWG and Scope Modules %%%%%% fdac = 256e9; fadc = 160e9; Scp = ScopeKeysight("model","DSAZ634A",'autoscale',1,"fadc","GSa_160","channel",[0,0,1,0],"recordLen",4000000,"removeDC",1,"extRef",1); Awg = AwgKeysight("model","M8199A_ILV","fdac",fdac,"scaletodac",[1,1],"skews",[0,0],"voltages",[0,0.8]); A2S = Awg2Scope(Awg,Scp,[0,0,3,0],"waitUntilClick",0); % %%%%% Symbol Generation %%%%%% fsym = 56e9; M = 4; rcalpha = 0.2; Pform = Pulseformer("fsym",fsym,"fdac",4*fsym,"pulse","rrc","pulselength",16,"rrcalpha",rcalpha); Pamsource = PAMsource(... "fsym",fsym,"M",M,"order",17,"useprbs",1,... "fs_out",fdac,... "applyclipping",0,"clipfactor",4,... "applypulseform",1,"pulseformer",Pform,... "randkey",1,... "db_precode",0,"db_encode",0,... "mrds_code",0,"mrds_blocklength",512); tx_signal = Pamsource.process(); tx_signal.spectrum("displayname",'Tx Spectrum','fignum',10,'normalizeTo0dB',0); [S1,S2,S3,S4] = A2S.process("signal2",tx_signal); S3.spectrum("displayname",'Rx Spectrum','fignum',10,'normalizeTo0dB',0);