#This program plots BER Vs received power from the sweep parameter #interconnect file "dpsk_tranceiver_MMI_V7.icp" #In the interconnect file, 3 parameters of only the MMI couplers are varied #In addtion to this, attenuatin level of an attenuator is also varied #sweep input MMI_Access = getsweepdata('MMI_AccessWidth','MMI_Access_1'); MMI_Width = getsweepdata('MMI_AccessWidth','MMI_Width_1'); MMI_Length = getsweepdata('MMI_AccessWidth','MMI1_Length'); Attenuation = getsweepdata('MMI_AccessWidth','Attenuation'); #sweep input ends BER_1 = getsweepdata('MMI_AccessWidth','BER_1'); #watch out for dimension of this matrix, 6x2x2x3 BER_2 = getsweepdata('MMI_AccessWidth','BER_2'); Received_Power = getsweepdata('MMI_AccessWidth','Received_power'); for(A = 1:length(MMI_Access)) { for(W = 1:length(MMI_Width)) { for(L = 1:length(MMI_Length)) { plot (Received_Power(1:length(Attenuation),L,W,A), log10(BER_2(1:length(Attenuation),L,W,A)), log10(BER_1(1:length(Attenuation),L,W,A)), "Received_Power","BER", 'MMI_AccessWidth_'+num2str(MMI_Access(A)*1e6)+'um' +'_MMI_Width_'+num2str(MMI_Width(W)*1e6)+'um' +'MMI_Length_'+num2str(MMI_Length(L)*1e6)+'um'); legend('constructive port', 'destructive port'); Graph_file_name = "BERVsRx_icp"+'MMI_AccessWidth_' +num2str(MMI_Access(A)*1e6)+'um' +'_MMI_Width_'+num2str(MMI_Width(W)*1e6)+'um' +'MMI_Length_'+num2str(MMI_Length(L)*1e6)+'um'+'.jpg'; exportfigure(Graph_file_name); } } }