46 lines
1.6 KiB
Matlab
46 lines
1.6 KiB
Matlab
|
|
%% 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);
|