- Fixed 'ML_MLSE'
- Added weighted DFE to 'EQ' (work in progress). - Added the folders 'Evaluation Scripts' and 'Data' in 'projects\FSO_transmission', which contain different evaluations and measured data regarding the FSO transmission data.
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
classdef Timing_Recovery < handle
|
||||
|
||||
properties(Access=public)
|
||||
modulation
|
||||
timing_error_detector
|
||||
sps
|
||||
damping_factor
|
||||
@@ -9,14 +10,15 @@ classdef Timing_Recovery < handle
|
||||
end
|
||||
|
||||
methods(Access=public)
|
||||
function obj = FFE(options)
|
||||
function obj = Timing_Recovery(options)
|
||||
arguments(Input)
|
||||
|
||||
options.timing_error_detector = 'Gardner';
|
||||
options.modulation = 'PAM/PSK/QAM';
|
||||
options.timing_error_detector = 'Gardner (non-data-aided)';
|
||||
options.sps = 2;
|
||||
options.damping_factor = 1.0;
|
||||
options.normalized_loop_bandwidth = 0.005;
|
||||
options.detector_gain = 1;
|
||||
options.normalized_loop_bandwidth = 0.01;
|
||||
options.detector_gain = 2.7;
|
||||
|
||||
end
|
||||
|
||||
@@ -25,21 +27,21 @@ classdef Timing_Recovery < handle
|
||||
obj.(fn{n}) = options.(fn{n});
|
||||
end
|
||||
|
||||
obj.e = zeros(obj.order,1);
|
||||
obj.error = 0;
|
||||
%obj-Initialization here%
|
||||
|
||||
end
|
||||
|
||||
function data_out = process(obj, data_in)
|
||||
function [data_out, timing_error] = process(obj, data_in)
|
||||
|
||||
timing_synchronization = comm.SymbolSynchronizer( ...
|
||||
"Modulation", obj.modulation,...
|
||||
"TimingErrorDetector", obj.timing_error_detector, ...
|
||||
"SamplesPerSymbol", obj.sps, ...
|
||||
"DampingFactor", obj.damping_factor, ...
|
||||
"NormalizedLoopBandwidth", obj.normalized_loop_bandwidth, ...
|
||||
"DetectorGain", obj.detector_gain);
|
||||
|
||||
data_out.signal = timing_synchronization(data_in.signal);
|
||||
data_out = data_in;
|
||||
[data_out.signal, timing_error] = timing_synchronization(data_in.signal);
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user