32 lines
1.5 KiB
Matlab
32 lines
1.5 KiB
Matlab
|
|
|
|
Pform = Pulseformer("fsym",fsym,"fdac",4*fsym,"pulse","rrc","pulselength",16,"rrcalpha",rcalpha);
|
|
|
|
[Digi_sig,Symbols,Tx_bits] = PAMsource(...
|
|
"fsym",fsym,"M",M,"order",19,"useprbs",1,...
|
|
"fs_out",fdac,...
|
|
"applyclipping",0,"clipfactor",1.5,...
|
|
"applypulseform",apply_pulsef,"pulseformer",Pform,...
|
|
"randkey",random_key,...
|
|
"db_precode",db_precode,"db_encode",db_encode,...
|
|
"mrds_code",0,"mrds_blocklength",512).process();
|
|
|
|
% Digi_sig.spectrum("displayname",'Digi Spectrum','fignum',10,'normalizeTo0dB',1);
|
|
|
|
%%%%% AWG
|
|
% El_sig = M8199A("kover",kover).process(Digi_sig);
|
|
El_sig = AWG("fdac",fdac,"f_cutoff",fsym,"lpf_active",0,"kover",kover,"bit_resolution",12,"upsampling_method","samplehold","precomp_sinc_rolloff",1).process(Digi_sig);
|
|
% El_sig.spectrum("displayname",'Digi Spectrum','fignum',100,'normalizeTo0dB',0);
|
|
% El_sig = El_sig.setPower(0,"dBm");
|
|
|
|
%%%%% Low-pass el. components %%%%%%
|
|
El_sig = Filter('filtdegree',4,"f_cutoff",tx_bw_nyquist.*f_nyquist,"fs",fdac*kover,"filterType",filtertypes.butterworth,"active",true).process(El_sig);
|
|
|
|
%%%%% Electrical Driver Amplifier %%%%%%
|
|
El_sig = Amplifier("amp_mode","ideal_no_noise","gain_mode","gain","amplification_db",3).process(El_sig);
|
|
El_sig = El_sig.normalize("mode","oneone");
|
|
|
|
%%%%% MODULATE E/O CONVERSION %%%%%%
|
|
[Opt_sig] = EML("mode",eml_mode.im_cosinus,"power",3,"fsimu",El_sig.fs,"lambda",laser_wavelength,"bias",vbias,"u_pi",u_pi,"linewidth",laser_linewidth,"randomkey",random_key+1).process(El_sig);
|
|
|