Files
imdd_silas/Classes/04_DSP/Timing_Recovery.m
magf 4ad5a2964e - Fixed 'ML_MLSE'
- Added weighted DFE (work in progress)
- Added 'Evaluation Scripts' and 'Data' to 'projects\FSO_transmission', which contain different evaluations and measured data regarding the DSP applications for the FSO transmission data.
2026-01-20 13:45:53 +01:00

64 lines
1.8 KiB
Matlab

classdef Timing_Recovery < handle
properties(Access=public)
modulation
timing_error_detector
sps
damping_factor
normalized_loop_bandwidth
detector_gain
end
methods(Access=public)
function obj = Timing_Recovery(options)
arguments(Input)
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.01;
options.detector_gain = 2.7;
end
fn = fieldnames(options);
for n = 1:numel(fn)
obj.(fn{n}) = options.(fn{n});
end
<<<<<<< HEAD
%obj-Initialization here%
end
function [data_out, timing_error] = process(obj, data_in)
=======
end
function [data_out,timing_error] = process(obj, data_in)
>>>>>>> 719e5508e776c18e3dcf72a954c71bdedda179e0
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);
<<<<<<< HEAD
data_out = data_in;
[data_out.signal, timing_error] = timing_synchronization(data_in.signal);
=======
data_out = data_in;
[data_out.signal,timing_error] = timing_synchronization(data_in.signal);
>>>>>>> 719e5508e776c18e3dcf72a954c71bdedda179e0
end
end
end