pn_period.m
上传用户:haoweisi88
上传日期:2010-02-03
资源大小:1950k
文件大小:1k
源码类别:

图形图象

开发平台:

Matlab

  1. %Name: Chris Shoemaker
  2. %Course: EER-280 - Digital Watermarking
  3. %Project:  Determination of Periodicity of MATLAB's rand() function
  4. %           If a pattern is repeated, correlation should jump to 1
  5. clear all;
  6. % read in key for PN generator
  7. file_name='_key.bmp';
  8. key=double(imread(file_name))./256;
  9. % reset MATLAB's PN generator to state "key"
  10. rand('state',9);
  11. % generate the baseline PN sequence
  12. pn_base_sequence=round(2*(rand(8,8)-0.5));
  13. % go up to 120,000 patterns
  14. for kk=1:120000
  15.     
  16.     % display progress to the console
  17.     if (mod(kk,10000) == 0)
  18.         kk,
  19.     end    
  20.     
  21.     % generate a new sequence and calulate correlation to baseline
  22.     pn_sequence=round(2*(rand(8,8)-0.5));
  23.     correlation(kk)=corr2(pn_sequence,pn_base_sequence);
  24. end
  25. % plot the correlation for each sequence
  26. figure(1)
  27. set(1,'color','white')
  28. plot(correlation(1:kk))
  29. title('Correlation Between PN Sequences Generated using MATLAB rand() vs Baseline Sequence')
  30. xlabel('PN Sequence')
  31. ylabel('Correlation')