]> AND Private Git Repository - canny.git/blob - stc/exp/ml_stc_linux_make_v1.0/matlab/ex_stc_linear.m
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
6dbafdec287dbcae0c21631d7e7539df3306dedb
[canny.git] / stc / exp / ml_stc_linux_make_v1.0 / matlab / ex_stc_linear.m
1 clc; clear;\r
2 \r
3 n = 10^5;    % size of the cover\r
4 h = 10;      % constraint height - default is 10 - drives the complexity/quality tradeof\r
5 \r
6 e = zeros(19, 1);   % embedding efficiency\r
7 inva = zeros(19, 1);\r
8 \r
9 for i = 2:20    % inverse relative payload 1/alpha\r
10     disp(i);\r
11     m = floor(n / i);   % number of message bits\r
12     cover = uint8(rand(n, 1));\r
13     message = uint8(rand(m, 1));\r
14     profile = 1:n;  % linear profile\r
15     profile = profile(randperm(n)) / sum(profile);  % create a random permutation and normalize\r
16  \r
17     dist = stc_embed(cover, message, profile, h);\r
18     inva(i) = n / m;\r
19     e(i) = m / (n * dist);    \r
20 end\r
21 \r
22 plot(inva, e);\r
23 title('Embedding efficiency for linear profile');\r
24 xlabel('Inverse payload 1/\alpha');\r
25 ylabel('Embedding efficiency e');