I'm trying to make my own transmitter & receiver in MATLAB, starting with the basics and adding more complex stuff as I progress. So I have a few questions regarding pulse shaping and more specifically, about SRRC.
I'm using BPSK. I'm generating random 1 and -1.
1) I know there are several options when it comes to choosing a pulse to shape the data. I've read here and there that a cosine would also be a valid option. So I'd have something like
BPSK_data*cos(2*pi*n*Ts) (and n would be
n=0:length(BPSK_data)-1). Would that be correct? And if I wanted to use a carrier, I'd do
BPSK_data*cos(2*pi*n*Ts)*cos(2*pi*n*Ts*fc). Not sure if this would be the best way though, cause I'm sending a symbol every sample period.
2) Let's say I decide to use a square-root raised cosine. I've found a very interesting function in MATLAB called
rcosdesign which will return the filter coefficient depending on this parameters
rcosdesign(beta,span,sps,'sqrt'). I know what beta means (roll-off factor) but I have some doubts about span and sps. According to MATLAB doc "The filter is truncated to span symbols, and each symbol period contains sps samples". The part I don't get is the span one. I guess if I set sps=5, I'd have to do
upsample(BPSK_data, 5) right? And then
filter(b,1,BPSK_data). But what about span?