Start Commit
start implementation of class based simulation of a IM/DD communication system. Mostly based on Move-It but cleaned up and with focus on direct detection, however I try to keep the versatility of move-it alive.
This commit is contained in:
51
Classes/Fiber.m
Normal file
51
Classes/Fiber.m
Normal file
@@ -0,0 +1,51 @@
|
||||
classdef Fiber
|
||||
%FIBER Summary of this class goes here
|
||||
% Detailed explanation goes here
|
||||
|
||||
properties
|
||||
fiber_length
|
||||
alpha
|
||||
D
|
||||
Dslope
|
||||
lambda0
|
||||
gamma
|
||||
dphimax
|
||||
end
|
||||
|
||||
methods
|
||||
function obj = Fiber(options)
|
||||
%FIBER Construct an instance of this class
|
||||
% Detailed explanation goes here
|
||||
arguments
|
||||
options.fiber_length = 0
|
||||
options.alpha = 0.2
|
||||
options.D = 17
|
||||
options.Dslope = 0.06
|
||||
options.lambda0 = 1550
|
||||
options.gamma = 0.0013
|
||||
options.dphimax = 5e-3
|
||||
end
|
||||
|
||||
obj.fiber_length = options.fiber_length*1000; %km
|
||||
obj.alpha = options.alpha;
|
||||
obj.D =options.D*1e-6;
|
||||
obj.Dslope =options.Dslope;
|
||||
obj.lambda0 =options.lambda0;
|
||||
obj.gamma =options.gamma;
|
||||
obj.dphimax =options.dphimax;
|
||||
|
||||
end
|
||||
|
||||
function opt_out = process(obj,opt_in)
|
||||
%METHOD1 Summary of this method goes here
|
||||
% Detailed explanation goes here
|
||||
|
||||
%attenuate nase
|
||||
|
||||
|
||||
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user