I am simulating (in Matlab) the transmit portion of a comm system. I generate random data, then I want to modulate it to BPSK, pulse shape the data, and then potentially shift it up in frequency by a carrier. My question is regarding the pulse shaping portion.

Atleast in matlab, to generate the root raised cosine filter using the rcosdesign function, you need to know the roll-off factor ($\beta$) , as well as the samples-per-symbol ($sps$) and the filter span ($span$). The samples per symbol will be dictated by the sampling frequency $f_s$ as well as the desired length of the generated signal with a certain datarate $R$. For example, if I have a BPSK signal with a sampling frequency of 8192 Hz, and I want to generate 1 second of data at a datarate of 256 Hz, then

$$ sps = f_s/R $$

Now we've established 2 of the inputs to creating the filter are set, the rolloff factor $\beta$ and the samples per symbol, $sps$. Now, my understanding is that the filter span is kind of arbitrary. I know that a longer filter span creates a longer group delay, but what are the other tradeoffs to having a longer filter span versus shorter?

  • $\begingroup$ Lengthening the span of the filter drives down the stop-band. $\endgroup$ – John Jan 10 '14 at 19:45
  1. Lower rolloff means less excess-bandwidth and therefore longer time span. That is, you will need a longer filter to accurately reproduce the ideal RRC filter response (increases implementation complexity)
  2. Longer filter means more accurate RRC filter and potentially lower ISI at the receiver side (depends on your target SNR)
  3. Longer filter means less noise out of band transmitted (infinite length filter would have zero power outside symbol-rate*(1+rolloff)

In practice, due to the above constraints, RRC filters are usually not designed by just truncating the ideal RRC impulse response. Either you multiply the impulse response with a window function or you directly optimize the filter coefficients for error and rejection.


I'm assuming that you have got your roll-off from somewhere else Kiran, you say it is set but not how. Not sure how the Matlab function defines filter span ( samples or symbols ) but you usualy get nicer spectra and eye diagrams if you choose a span where at least one of the end points is a zero.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.