MPI Simulations and stuff
This commit is contained in:
28
projects/MPI_August/channel_model_mpi.m
Normal file
28
projects/MPI_August/channel_model_mpi.m
Normal file
@@ -0,0 +1,28 @@
|
||||
function opt_signal = channel_model_mpi(opt_signal,link_total_meter,oneway_interference_meter,sir)
|
||||
|
||||
%%%%% Local Parameter %%%%%%%%
|
||||
|
||||
|
||||
|
||||
%%%%% Ping Pong/ Interference Path %%%%%%
|
||||
interference_sig = Fiber("fsimu",opt_signal.fs,"fiber_length",oneway_interference_meter*2/1000,"alpha",0.3,"D",0,"lambda0",1320,"gamma",0,"Dslope",0.07).process(opt_signal);
|
||||
|
||||
interference_sig = Amplifier("amp_mode","ideal_no_noise","gain_mode","gain","amplification_db",-sir).process(interference_sig);
|
||||
|
||||
%%%%% Delay the "main" signal as in reality the interference is "older" than the main signal %%%%%%
|
||||
[main_sig,dly] = opt_signal.delay("delay_meter",oneway_interference_meter*2);
|
||||
|
||||
main_sig.power;
|
||||
interference_sig.power;
|
||||
|
||||
%%%%% ADD Interference and Main Signal %%%%%%
|
||||
combined_sig = main_sig + interference_sig;
|
||||
|
||||
%%%%% Cut (due to the delays there is a jump in the signals) %%%%%%
|
||||
if dly == 0;dly = 1;end
|
||||
combined_sig.signal = combined_sig.signal(ceil(dly):end);
|
||||
|
||||
%%%%% Propagate through fiber %%%%%%
|
||||
opt_signal = Fiber("fsimu",combined_sig.fs,"fiber_length",link_total_meter/1000,"alpha",0.3,"D",0,"lambda0",1320,"gamma",0,"Dslope",0.07).process(combined_sig);
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user