www.gusucode.com > UWB_matlab源码程序 > CP0201/cp0201_2PPM_TH.m
% % FUNCTION 2.4 : "cp0201_2PPM_TH" % % Introduces the TH code given by 'THcode' % and implements binary PPM modulation % 'seq' is the input binary stream % 'fc' is the sampling frequency for the generated signal % 'Tc' is the chip time % 'Ts' is the average pulse repetition time % 'dPPM' is the PPM delta shift % 'THcode' is the TH code % % The function generates two output streams % '2PPMTHseq' is the output with both TH and 2PPM % 'THseq' is the output with TH only % % Programmed by Guerino Giancola % function [PPMTHseq,THseq] = ... cp0201_2PPM_TH(seq,fc,Tc,Ts,dPPM,THcode) % -------------------------------------------------- % Step One - Implementation of the 2PPM-TH modulator % -------------------------------------------------- dt = 1 ./ fc; % sampling period framesamples = floor(Ts./dt); % no. of samples between % pulses chipsamples = floor (Tc./dt); % no. of samples for the % chip duration PPMsamples = floor (dPPM./dt); % no. of samples for the % PPM shift THp = length(THcode); % TH-code periodicity totlength = framesamples*length(seq); PPMTHseq=zeros(1,totlength); THseq=zeros(1,totlength); % ------------------------------------------------ % Step Two - Main loop for introducing TH and 2PPM % ------------------------------------------------ for k = 1 : length(seq) % uniform pulse position index = 1 + (k-1)*framesamples; % introduction of TH kTH = THcode(1+mod(k-1,THp)); index = index + kTH*chipsamples; THseq(index) = 1; % introduction of 2PPM index = index + PPMsamples*seq(k); PPMTHseq(index) = 1; end % for k = 1 : length(seq)