Many changes for 400G DSP
Minimal Example ...
This commit is contained in:
@@ -8,6 +8,7 @@ classdef AWG < handle
|
||||
upsampling_method
|
||||
repetitions %repeat the signal to generate a longer sequence?
|
||||
fdac %needed
|
||||
precomp_sinc_rolloff = 1;
|
||||
normalize2dac %want to normalize at first? either 0 or 1
|
||||
bit_resolution %bit res. of quantizer (e.g. 5 bit)
|
||||
dac_min
|
||||
@@ -33,7 +34,8 @@ classdef AWG < handle
|
||||
|
||||
arguments
|
||||
options.kover = 16;
|
||||
options.upsampling_method upsampling_mode
|
||||
options.upsampling_method upsampling_mode = upsampling_mode.samplehold;
|
||||
options.precomp_sinc_rolloff = 1;
|
||||
options.repetitions = 1;
|
||||
options.normalize2dac = 1;
|
||||
options.fdac = 92e9;
|
||||
@@ -43,7 +45,7 @@ classdef AWG < handle
|
||||
options.skew_active = 0;
|
||||
options.awg_skew = 0;
|
||||
options.lpf_active = 0;
|
||||
options.lpf_type = 0;
|
||||
options.lpf_type = filtertypes.butterworth;
|
||||
options.f_cutoff = 32e9;
|
||||
options.H_lpf Filter
|
||||
|
||||
@@ -95,7 +97,7 @@ classdef AWG < handle
|
||||
signalclass_in = obj.H_lpf.process(signalclass_in);
|
||||
else
|
||||
%4.B) just use a standard filter
|
||||
lpf = Filter('filtdegree',5,"f_cutoff",obj.f_cutoff,"fsamp",obj.kover*obj.fdac,"filterType",obj.lpf_type);
|
||||
lpf = Filter('filtdegree',5,"f_cutoff",obj.f_cutoff,"fs",obj.kover*obj.fdac,"filterType",obj.lpf_type);
|
||||
signalclass_in = lpf.process(signalclass_in);
|
||||
end
|
||||
end
|
||||
@@ -133,7 +135,7 @@ classdef AWG < handle
|
||||
obj.signal_length = length(data_in);
|
||||
|
||||
%%%%%%%%% PRECOMP SINC ROLLOFF %%%%%%%%%
|
||||
if 1
|
||||
if obj.precomp_sinc_rolloff
|
||||
% X: design FIR filter for sinc precomp
|
||||
% https://www.dsprelated.com/showarticle/1191.php
|
||||
ntaps = 13;
|
||||
|
||||
@@ -151,6 +151,12 @@ classdef PAMsource
|
||||
sym_max = max(symbols.signal);
|
||||
end
|
||||
|
||||
% symbols.move_it_spectrum("fignum",222,"displayname","Symbols only");
|
||||
|
||||
|
||||
% symbols.spectrum("fignum",222,"displayname","Symbols only","normalizeTo0dB",1);
|
||||
|
||||
|
||||
%%%%% Pulse-forming %%%%%%
|
||||
if obj.applypulseform
|
||||
digi_sig = obj.pulseformer.process(symbols);
|
||||
|
||||
Reference in New Issue
Block a user