/dvbt/trunk/release/mm/ml/xxbm/main.m

http://github.com/zaqwes8811/decoder-reed-solomon · MATLAB · 62 lines · 37 code · 6 blank · 19 comment · 3 complexity · 8b53f7b87a83d0722d6eed36693bf26b MD5 · raw file

  1. % ??????????? ????
  2. addpath(cat(2,pwd,'\src'));
  3. clear; clc;
  4. % ???????? ??????
  5. names = {'-- Errors : ' '-- data_in[] ' '-- sidd_[] '...
  6. '-- lambb_[] ' '-- root_[] ' '-- lamdd_[] '...
  7. '-- corpp_[] ' '-- out_dec[] '};
  8. %%% ????? ???????? ?????????? %%%
  9. % ????????? ????
  10. N = 255; % ????? ???????? ?????
  11. t = 8; % ??????? ?????? ????? ?????????
  12. K = N-t*2;
  13. Short = 51; % dvbt - 51, drm - 0
  14. K = K-Short
  15. p_sourse = [1 0 0 0 1 1 1 0 1]; % x8+x+1'
  16. %p_sourse = [1 0 0 0 0 1 0 0 0 1]; % x9+x4+1'
  17. % ???????????? ??????? ??????
  18. Tmp = [];
  19. for i = 1:K % ??????? ??????
  20. Tmp = [Tmp i];
  21. end
  22. % ??????????? %%%
  23. fprintf('??????????? ??????...');
  24. w = rs_coder(Tmp,p_sourse, K, t);
  25. w(end-48:end) % ??????. ???.
  26. fprintf('O?\n');
  27. %w(1) = 0;
  28. w(2) = 0;
  29. w(3) = 0;
  30. % ???????? ?????? %%%
  31. %for i = 1:20%1 % erroring
  32. % w(i) = 00;
  33. %end
  34. %w(end-4) = 0;
  35. %w(end-2) = 0;
  36. w(end-1) = 0;
  37. w(end-0) = 0;
  38. %%% ????????????? %%%
  39. fprintf('????????????? ??????...\n');
  40. q = rs_decoder(w, p_sourse, K, t);
  41. %????????? ??????????
  42. fprintf('?????? ????? ? ???????????? - Monitor.mif...');
  43. fid = fopen('Monitor.mif', 'wt');
  44. smesh = 0; r = 0;
  45. fwrite(fid, [names{1,1} q{1,1} char([10 10])]);
  46. for i = 1:7
  47. fwrite(fid, [names{1,i+1} char([10])]);
  48. [cBuf, r] = int2hexchar(q{1,i+1}, smesh);
  49. if mod(r, 32) == 0 smesh = smesh+r+1;
  50. else smesh = smesh+r; end
  51. fwrite(fid, [cBuf char([10 10])]);
  52. end
  53. fprintf('??\n'); close('all');
  54. % ???????? ?????
  55. %edit Monitor.mif
  56. %! notepad Monitor.mif