rddatatx.m
上传用户:m_sun_001
上传日期:2014-07-30
资源大小:1115k
文件大小:2k
源码类别:

matlab例程

开发平台:

Matlab

  1. %RDDATATX This Script reads in the data to transmit. It is used by
  2. % both the transmit and receive scripts. The transmitter script
  3. % runs this script to find what data to transmit. the receiver
  4. % runs this script so that it can compare the received data
  5. % with the transmitted data, allowing detection of errors.
  6. % 12/8/97 Initial write up (Appears to work)
  7. % genrand.m
  8. % rdimage.m
  9. % convbase.m
  10. %=====================
  11. %Read Data to transmit
  12. %=====================
  13. if DataType == 1,
  14. %Use random data.
  15. DataIn = genrand(1,OutWordSize,NoRandData,RandSeed);
  16. disp(['Transmitting : ', num2str(NoRandData),' Random data words']);
  17. %Data format structure. This is passed to the receiver in a file
  18. %as it critical for reconstructing the data. This is needed as there
  19. %is no datalink layer in the COFDM transmission.
  20. %For Sending random data and a general binary file the data is sent
  21. %as a serial byte stream, thus the DataHeight is 1 and the DataWidth is
  22. %equal to the number of bytes sent.
  23. h = 1; %Height of the data structure (in bytes)
  24. w = NoRandData; %Width of the data structure (in bytes)
  25. elseif DataType == 2,
  26. %Transmit a grey scale bitmap image.
  27. [DataIn,h,w] = rdimage(infile,PictureComp);
  28. disp(['Image Dimensions are : ',num2str(h),'x',num2str(w)]);
  29. %For a grey scale bmp image the shape of the image set the data height
  30. %and width
  31. if OutWordSize ~= 8,
  32. disp('Warning, OutWordSize is not 8 bit thus the image wont be decoded properly');
  33. end
  34. elseif DataType == 3,
  35. %Transmit a general binary file
  36. fid = fopen(infile,'r');
  37. if fid ~= -1,
  38. DataIn = fread(fid)';
  39. else
  40. error('Error opening the input data file, check file name');
  41. end
  42. fclose(fid);
  43. %For Sending a general binary file the data is sent as a serial byte stream,
  44. %thus the DataHeight is 1 and the DataWidth is equal to the number of bytes
  45. %sent.
  46. h = 1; %Height of the data structure (in bytes)
  47. w = length(DataIn); %Width of the data structure (in bytes)
  48. if OutWordSize ~= 8,
  49. disp('Warning, OutWordSize is not 8 bit thus the image wont be decoded properly');
  50. end
  51. elseif DataType == 4,
  52. %Transmit a windows 3.1 .WAV file
  53. [DataIn fs] = wavread(infile);
  54. DataIn = DataIn';
  55. h = 1;
  56. w = length(DataIn);
  57. else
  58. error('DataType is not valid, it must be from 1-3');
  59. end
  60. %Convert from the data from the normal wordsize (typically 8bits) to the wordsize
  61. %used for transmission (typically 2bits for QPSK)
  62. Datatx = convbase(DataIn,OutWordSize,wordsize);