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

matlab例程

开发平台:

Matlab

  1. % write
  2. % ******************TEST OUTPUT*********************************
  3. if input_type == 1
  4. if test_input_type == 1
  5. %already binary - do nothing
  6. end
  7. if (test_input_type == 2) | (test_input_type == 3)
  8. %random input     OR     sine wave samples
  9. output_samples = zeros(1,floor(length(output)/8));  %extra zeros are not original data
  10. for i = 1:length(output_samples)
  11. output_samples(i) = bin2eight(output(1 + (i-1)*8:(i-1)*8 + 8));
  12. end
  13. if do_QAM == 1
  14. QAM_output_samples = zeros(1,floor(length(QAM_data_out)/8));
  15. for i = 1:length(QAM_output_samples)
  16. QAM_output_samples(i) = bin2eight(QAM_data_out(1 + (i-1)*8:(i-1)*8 + 8));
  17. end
  18. end
  19. end
  20. end
  21. % ******************FILE OUTPUT*********************************
  22. if input_type == 2
  23. if file_input_type == 1
  24. %binary file output - not implemented
  25. end
  26. if file_input_type == 2
  27. %text file output
  28. output_samples = zeros(1,floor(length(output)/8));  %extra zeros are not original data
  29. for i = 1:length(output_samples)
  30. output_samples(i) = bin2eight(output(1 + (i-1)*8:(i-1)*8 + 8));
  31. end
  32. file = fopen('OFDM_text_out.txt','wt+');
  33. fwrite(file,output_samples,'char');
  34. fclose(file);
  35. if do_QAM == 1
  36. QAM_output_samples = zeros(1,floor(length(QAM_data_out)/8));  %extra zeros are not original data
  37. for i = 1:length(QAM_output_samples)
  38. QAM_output_samples(i) = bin2eight(QAM_data_out(1 + (i-1)*8:(i-1)*8 + 8));
  39. end
  40. file = fopen('QAM_text_out.txt','wt+');
  41. fwrite(file,QAM_output_samples,'char');
  42. fclose(file);
  43. end
  44. end
  45. if file_input_type == 3
  46. output_samples_big = zeros(1,floor(length(output)/8));  %extra zeros are not original data
  47. for i = 1:length(output_samples_big)
  48. output_samples_big(i) = bin2eight(output(1 + (i-1)*8:(i-1)*8 + 8));
  49. end
  50. %convert dynamic range from 0:255 to -1:1
  51. output_samples = (output_samples_big-127)/128;
  52. %sound file output
  53. wavwrite(output_samples, 11025, 8, 'OFDM_out.wav')
  54. if do_QAM == 1
  55. QAM_data_out_big = zeros(1,floor(length(QAM_data_out)/8));
  56. for i = 1:length(QAM_data_out_big)
  57. QAM_data_out_big(i) = bin2eight(QAM_data_out(1 + (i-1)*8:(i-1)*8 + 8));
  58. end
  59. %convert dynamic range from 0:255 to -1:1
  60. QAM_output_samples = (QAM_data_out_big-127)/128;
  61. %sound file output
  62. wavwrite(QAM_output_samples, 11025, 8, 'QAM_out.wav')
  63. end
  64. end
  65. if file_input_type == 4
  66. %image file output - not implemented
  67. end
  68. end