version where the signal is flipped and added together
This commit is contained in:
@@ -61,10 +61,10 @@ classdef EML
|
||||
|
||||
end
|
||||
|
||||
function signalclass_out = process(obj,signalclass_in)
|
||||
function [signalclass_out,obj] = process(obj,signalclass_in)
|
||||
|
||||
% actual processing of the signal (steps 1. - 3.)
|
||||
signalclass_in.signal = obj.process_(signalclass_in.signal);
|
||||
[signalclass_in.signal,obj] = obj.process_(signalclass_in.signal);
|
||||
|
||||
% cast the inform. signal to electrical signal
|
||||
signalclass_in = Opticalsignal(signalclass_in,"fs",obj.fsimu,"logbook",signalclass_in.logbook,"lambda",obj.lambda*1e-9,"nase",0);
|
||||
@@ -92,7 +92,7 @@ classdef EML
|
||||
ph_noi = obj.createPhaseNoise;
|
||||
laserfield = obj.field.*exp(1i*ph_noi);
|
||||
%remember phase (! you need to receive the altered eml object in you sim program !)
|
||||
obj.phase = ph_noi(end);
|
||||
obj.phase = ph_noi;
|
||||
else
|
||||
laserfield = obj.field;
|
||||
end
|
||||
@@ -106,13 +106,18 @@ classdef EML
|
||||
|
||||
function noi = createPhaseNoise(obj)
|
||||
%create random vector
|
||||
noi = randn(obj.signal_len,1);
|
||||
noi = randn(obj.signal_len/2,1);
|
||||
|
||||
%scale with noisefactor
|
||||
noi = noi * obj.noisefactor;
|
||||
|
||||
|
||||
%cumsum to accumulate noise over time vector
|
||||
noi = cumsum(noi);
|
||||
%add phase from previous block/ loop of simulation
|
||||
noi = noi + obj.phase;
|
||||
|
||||
noi = [noi ; flip(noi)];
|
||||
|
||||
|
||||
end
|
||||
|
||||
function modulated_laserfield = externalmodulation(obj,laserfield,electrical_in)
|
||||
|
||||
Reference in New Issue
Block a user