I am trying to pass a BPSK signal through a root-raised cosine filter in Octave. To do this, I convolve the signal with the impulse response of an RRC filter, defined as follows (source):

RRC impulse response

The BPSK signal has a symbol rate of $$\frac{1}{T_s} =10 \text{ Mbps}$$. Would this not result in a massive value for pretty much the entire impulse response, since every case involves a multiplication by $\frac{1}{T_s}$? This is the impulse response I get with my implementation in Octave.

enter image description here

I used the same method as in the accepted answer to this question, using $D=10$, $F_s=200 \text{ MHz}$, and $\beta=0.3$. This is the relative shape one would expect an RRC impulse response to have, but it peaks at about $1.1 \times 10^7$ because of the high symbol rate. Obviously, when I convolve my data signal with this impulse response the filtered signal has a massive magnitude which I don't want. I didn't include my code because I'm more interested in correcting my understanding of the RRC filter. With the given impulse response, how can this filter work for high symbol rates?


1 Answer 1


After generating the pulse, you need to scale it to give it the energy you wish. Starting from the pulse RRC, find its energy E = sum(RRC.*RRC). Then, RRC ./ sqrt(E) has energy equal to one. Finally, multiply by the square root of the desired energy.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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