# BPSK and pulse shaping (square-root raised cosine)

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?

Thank you!

• You need to read this book (look for the free PDF at the bottom of the page). Also: when starting, stay away from do-it-all Matlab commands and toolboxes. Those are meant to save you time when you're an expert, not for learning -- just my strongly held opinion. – MBaz Jul 3 '19 at 18:01
• I'm currently reading it! This is what I'm reading while writing my code in Matlab, and I happened to have doubts about what I asked by reading it. Thank you! EDIT: do you mean I should implement my own rcosdesign? – researcher9 Jul 3 '19 at 18:03