How to find the smallest entropy value greater than 88 bits from a given alphabet

1 次查看(过去 30 天)
function [b, n] = calc_info(msg, alph, alph_p)
size_alph = numel(alph);
size_alph_p = numel(alph_p);
size_msg = numel(msg);
if size_alph != size_alph_p
error('size "alph" and size "alph_p" must be equal!\nsize alph = %d\nsize alph_p = %d', size_alph, size_alph_p);
endif
b = 0;
for i = 1:size_msg
curr_sim = msg(i);
letter_ind = find(alph == curr_sim);
if ~isempty(letter_ind)
letter_p = alph_p(letter_ind);
b += -log2(letter_p);
else
warning('The character "%c" was found on index %d, the character does not exist in the alphabet', curr_sim, i);
size_msg -= 1;
endif
endfor
n = size_msg * log2(size_alph);
endfunction
How to find the smallest entropy value greater than 88 bits from a given alphabet if I have an alphabet
msg = gen_msg(ralph, 16);
ralph = [0.070528 0.016009 0.036127 0.055553 0.0021791 0.064258 0.1228 0.055277 0.10757 0.12383 0.0026316 0.001682 0.056237 0.12381 0.058622 0.10289]
Please help! Many thanks!

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Propagation and Channel Models 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by