cp0402_2PAM_TH.m
上传用户:yuandalvye
上传日期:2013-07-19
资源大小:3k
文件大小:2k
源码类别:

屏幕保护

开发平台:

Matlab

  1. %
  2. % FUNCTION 4.1 : "cp0402_2PAM_TH"
  3. %
  4. % Introduces the DS code given by 'DScode'
  5. % and implements binary PAM modulation
  6. % 'seq' is the input binary stream
  7. % 'fc' is the sampling frequency for the generated signal
  8. % 'Ts' is the average pulse repetition period
  9. % 'DScode' is the DS code
  10. %
  11. % The function generates two output streams: 
  12. % 'PAMTHseq' is the output with both TH and PAM
  13. % 'THseq' is the output with TH only
  14. %
  15. % Programmed by Guerino Giancola
  16. %
  17. function [PAMTHseq,THseq] = ...
  18.    cp0402_2PAM_TH(seq,fc,Tc,Ts,THcode)
  19. % --------------------------------------------------
  20. % Step One - Implementation of the PAM+TH modulator
  21. % --------------------------------------------------
  22. dt = 1 ./ fc;              % sampling period
  23. framesamples=floor(Ts./dt);% number of samples between
  24.                            % pulses
  25. chipsamples = floor (Tc ./ dt);  % number of samples for
  26.                                  % the chip duration
  27. THp = length(THcode);            % TH-code length
  28. totlength = framesamples*length(seq);
  29. PAMTHseq=zeros(1,totlength);
  30. THseq=zeros(1,totlength);
  31. % ---------------------------------------
  32. % Step Two - Main loop for introducing TH
  33. % ---------------------------------------
  34. for k = 1 : length(seq)
  35.     
  36.     % uniform pulse position
  37.     index = 1 + (k-1)*framesamples;
  38.     
  39.     % introduction of TH
  40.     kTH = THcode(1+mod(k-1,THp));
  41.     index = index + kTH*chipsamples;
  42.     
  43.     THseq(index)=1;   
  44.     PAMTHseq(index)=((seq(k)*2)-1);
  45. end % for k = 1 : length(seq)