Files
imdd_silas/Functions/calc_ber.m
Silas Oettinghaus f5747bb863 changes from friday
2023-05-21 15:31:39 +02:00

28 lines
726 B
Matlab

function [bits,errors,BER] = calc_ber(data_in,data_ref,skip)
data_ref=logical(data_ref);
data_in = logical(data_in);
bits = 0;
errors=0;
data_ref_overlap=zeros(size(data_ref,1),skip+(length(data_ref)-size(data_in,2)));
data_ref_pointer=0;
% Determine BER
bits = bits+size(data_in,2)-skip;
try
errors = sum( data_in(:,skip+1:end,:) ~= data_ref(:,skip+1:end,:),2 );
catch
%warning('BER calculation not optimal: Arrays have incompatible sizes for this operation.')
errors = NaN;
end
try
errors = sum( data_in(:,skip+1:end,:) ~= data_ref(:,skip+1:end-1,:),2 );
end
try
errors = sum( data_in(:,skip+1:end,:) ~= data_ref(:,skip+1:end-2,:),2 );
end
BER = sum(errors)/sum(bits);
end