28 lines
980 B
Matlab
28 lines
980 B
Matlab
function showLevelConfusionMatrix(decided_symbols,ref_symbols,options)
|
|
arguments
|
|
decided_symbols
|
|
ref_symbols
|
|
options.M = NaN
|
|
options.fignum (1,1) double = NaN % Default to NaN if not provided
|
|
options.displayname (1,:) char = '' % Default to an empty string if not provided
|
|
end
|
|
|
|
% Determine the figure number to use or create a new figure
|
|
if isnan(options.fignum)
|
|
fig = figure; % Create a new figure and get its handle
|
|
else
|
|
fig = figure(options.fignum); % Use the specified figure number
|
|
end
|
|
|
|
if length(unique(decided_symbols.signal))>20
|
|
assert(~isnan(options.M),'Provide either decided symbol sequence or modulation order M (PAM-4 -> M=4)');
|
|
decided_symbols = PAMmapper(options.M,0).quantize(decided_symbols);
|
|
end
|
|
|
|
%%% Confusion Matrix
|
|
cm = confusionchart(ref_symbols.signal,decided_symbols.signal,'RowSummary','row-normalized','ColumnSummary','column-normalized','Title','Confusion Matrix','XLabel','Decisions','YLabel','Transmitted');
|
|
|
|
|
|
end
|
|
|