Code for Deliverable 05

This commit is contained in:
Silas Oettinghaus
2024-09-02 09:00:41 +02:00
parent 17a1dfbbd5
commit bb228ae2bd
20 changed files with 1094 additions and 73 deletions

View File

@@ -53,19 +53,22 @@ classdef Opticalsignal < Signal
function cspr = cspr(obj)
carrier_power_dbm = pow2db( abs(mean(obj.signal)).^2 )+30; % dB -> +30 -> dBm
carrier_power_dbm = pow2db( abs(mean(obj.signal)).^2 ) +30; % dB -> +30 -> dBm
signal_power_dbm = obj.power;
cspr = carrier_power_dbm-signal_power_dbm;
carr_lin = abs(mean(obj.signal)).^2;
sign_lin = mean(abs(obj.signal).^2);
cspr_lin = pow2db(carr_lin/sign_lin);
%carrier power is the mean value of the overall signal -> dc part
c = abs(mean(obj.signal)).^2;
s = mean(abs(obj.signal).^2);
cspr_ = 10*log10(c / s);
%signal power is now only the "fluctuation"/ i.e. the ac part
s = mean( abs(obj.signal-mean(obj.signal)).^2 );
cspr = 10*log10(c / s);
cspr =carrier_power_dbm-signal_power_dbm;
end