- try to analyze spectrum of FSO and use the coeffs in the ML analysis. simple channel coeff + awgn example
This commit is contained in:
Silas Oettinghaus
2026-01-20 13:48:15 +01:00
parent 719e5508e7
commit 1bf17ec6be
2 changed files with 25 additions and 9 deletions

View File

@@ -83,8 +83,8 @@ Scope_sig = Electricalsignal(traceData.YData,"fs",fs);
% pulse is symmetric, hence we can use pulsef directly as matched filter.
% It feels off (bit I think correct) that the fsym is now the output freq.!!
% -> output 2 sps to omit timing recovery!?
apply_matched_filter = 0;
k = 4;
apply_matched_filter = 1;
k = 1;
if apply_matched_filter
Pform = Pulseformer("fsym",fsym,"fdac",k*fsym,"pulse","rrc","pulselength",16,"alpha",rolloff,"matched",1);
@@ -96,6 +96,18 @@ else
end
Rx_matched.spectrum();
%%
coefficients = arburg(Rx_matched.signal,25);
figure()
[h,w] = freqz(1,coefficients,Rx_matched.length,"whole",Rx_matched.fs);
h = h/max(abs(h));
hold on
w_ = (w - Rx_matched.fs/2);
plot(w_.*1e-9,20*log10(fftshift(abs(h))),'DisplayName',['Burg Coeffs: ', num2str(round(coefficients,2)), ' '],'LineWidth',2);
%% Timing Rec
apply_timing_rec = 1;
if apply_timing_rec