function msg  = linearBBMod( symbols, pulse, fsT )
%linearBBMod - linear digital modulation
% 
% A sequence of information symbols is linearly modulated. For pulse
% shaping the input pulse is used. fsT indicates the number of samples per
% symbol pperiod.
%
% The message signal is computed from the symbols and the pulse shape
% according to
%
%  m(t) = SUM b[n]*p(t-nT)
%
% Inputs:
%   symbols: vector of information symbols
%   pulse:   vector containing pulse shape
%   fsT: number of samples per symbol period (upsampling factor)
%
% Output:
%   msg - modulated baseband signal - complex if symbols are complex
%
% Usage:
%   msg  = linearBBMod( symbols, pulse, fsT )

% upsample symbols by factor fsT
sIn = zeros(1, (length(symbols)-1)*fsT+1);
sIn(1:fsT:end) = symbols;

% comvolve input signal with pulse shape
% msg = SUM b[n]*p(t-nT)
msg = conv(sIn, pulse);

end

