71 lines
2.2 KiB
Matlab
71 lines
2.2 KiB
Matlab
|
|
%straight outta workspace, show everything I want
|
|
|
|
cols = linspecer(8);
|
|
colpairs = cbrewer2('paired',8);
|
|
|
|
f=figure(20);
|
|
clf(f)
|
|
f.Name="Optspec";
|
|
%Spectrum of Optical Signal after superposition
|
|
subplot(3,2,1:2)
|
|
spectrum_plot(Combined_sig.normalize("mode","rms").signal',Combined_sig.fs,'Optspec',['Papr: ',num2str(Combined_sig.papr), '; CSPR: ',num2str(Combined_sig.cspr)]);
|
|
hold on
|
|
ylim([-100,0]);
|
|
|
|
%Phase Investigation
|
|
subplot(3,2,3)
|
|
hold on
|
|
phase_int = extmodlaser.phase(ceil(n):end);
|
|
phase_main = delayseq(extmodlaser.phase,ceil(n));
|
|
phase_main = phase_main(ceil(n):end);
|
|
phase_diff = phase_int - phase_main;
|
|
t = (1:length(phase_int))' ./ extmodlaser.fsimu ;
|
|
plot(t*1e6,phase_int,'Color',colpairs(1,:),'DisplayName','Interferer Phase');
|
|
plot(t*1e6,phase_main,'Color',colpairs(2,:),'DisplayName','Signal Phase (delayed)');
|
|
plot(t*1e6,phase_diff,'Color',colpairs(4,:),'DisplayName','Delta Phase');
|
|
legend
|
|
|
|
subplot(3,2,4)
|
|
%Received Signal after Phdiode
|
|
yyaxis left
|
|
t = (1:Rx_sig.length)' ./ Rx_sig.fs;
|
|
scatter(t*1e6,Rx_sig.normalize("mode","oneone").signal.*max(unique(digimod_out.signal)),1,'.','MarkerEdgeColor',cols(5,:));
|
|
hold on
|
|
errors_t = errors./Rx_Bits.fs;
|
|
errors_sym = Rx_symboldecision.signal(errors);
|
|
scatter(errors_t*1e6,errors_sym,2,'x','LineWidth',1);
|
|
yline(PAMmapper(M,0).thresholds);
|
|
|
|
%Again: Phase Diff
|
|
yyaxis right
|
|
t = (1:length(phase_int))' ./ extmodlaser.fsimu ;
|
|
plot(t*1e6,phase_diff,'Color',colpairs(4,:),'DisplayName','Delta Phase');
|
|
|
|
title(['Lwidth:',num2str(laser_linewidth) ,'; SIR: ', num2str(sir) ,'dB; ROP: ',num2str(rop(i)),' dBm'])
|
|
xlabel('t in $\mu$s')
|
|
legend
|
|
|
|
%Equalized Signal
|
|
subplot(3,2,5)
|
|
t = (1:EQ_sig.length)' ./ EQ_sig.fs;
|
|
for h = 1:size(levels,2)
|
|
scatter(t*1e6,levels(:,h),1,'.');
|
|
hold on
|
|
end
|
|
%yline(PAMmapper(M,0).thresholds);
|
|
title(['BER: ',sprintf('%.1e', BER(m,i))]);
|
|
|
|
%Histogram of EQzed Signal
|
|
subplot(3,2,6)
|
|
for h = 1:size(levels,2)
|
|
std_dev = std(levels(:,h),'omitnan');
|
|
mean_val = mean(levels(:,h),'omitnan');
|
|
hold on
|
|
histogram(levels(:,h),1000,"EdgeColor","none","Normalization","pdf");
|
|
text(mean_val, 0.1, ['$\sigma^2:$ ',sprintf('%.2f', std_dev)], 'HorizontalAlignment', 'center');
|
|
end
|
|
hold on
|
|
xline(PAMmapper(M,0).thresholds);
|
|
xticks(sort([unique(digimod_out.signal);PAMmapper(M,0).thresholds']));
|