One of the parameters in my DSP library for pulse design is "samples per symbol", and I would like to get some advice about choosing this parameter when designing a modem.

The smaller the pulse width, the more pulses you can transmit per second, and so the higher the data rate. Therefore, to maximise data rate I should minimise the pulse width. But just how small can I make the pulse?

The closest I came to finding an answer to this is this, but does not directly address the choice of pulse width in samples.


The pulse rate is ultimately limited by the channel bandwidth. Assuming you're using raised cosine pulses with rolloff factor $\beta$, then $$B = \frac{(1+\beta)R_p}{2},$$ where $R_p$ is the pulse rate.

The number of samples per pulse is, in all libraries I know, independent of the pulse rate. Strictly speaking, you don't need more than $2B$ samples per second. However, some algorithms work better with more samples per pulse, and any signal plots you create will be clearer. In addition, normally you don't want your DAC to be working close to the theoretical limit.

In my experience (mainly with GNU Radio and USRP radios), 4 samples per pulse works very well with root raised-cosine pulses.

To further clarify, let us work through an example. Assume we want to transmit at a pulse rate $R_p=10,000$ pulses per second, with $\beta=0.5$. We know that we'll need a bandwidth of $7,500$ Hz. If we set our system to use 4 samples per pulse, then we'll have a sampling rate of $40,000$ samples per second. This is the amount of samples that our DSP system will need to process per second. If, instead, we go with 6 samples per pulse, then the sampling rate will increase to $60,000$ samples per second and the computational load of the system will increase accordingly.

  • $\begingroup$ Thanks, you've provided some useful rules for picking the parameter. Can you point me to where I can read about this in more detail? I'm still confused when you say samples-per-pulse is independent of $R_p$, but then give an equation that relates the two. $\endgroup$ – user827822 May 22 '18 at 9:47
  • $\begingroup$ The equation I gave is about bandwidth and pulse rate -- not samples per pulse. I have updated the question with one example. Let me know if it still doesn't click. $\endgroup$ – MBaz May 22 '18 at 13:54
  • $\begingroup$ Regarding documentation: unfortunately, there are very few textbook-type readings that cover implementation details like this. Your best source is online tutorials and blog posts, and sites like this one. As a possible starting point, here is the documentation for GnuRadio's constellation modulator. $\endgroup$ – MBaz May 22 '18 at 13:58
  • Symbol rate (i.e., pulse rate): In an AWGN channel, the channel capacity increases linearly with the symbol rate; thus, in theory, the data rate you can achieve will increase as you increase the symbol rate. In practice, all applications have limited bandwidth due to regulatory constraints (what portion of the RF spectrum your system is allowed to use), hardware cost and complexity (components that support large bandwidths usually cost more and consume more power), and channel limitations (channels may be band-limited). In practice, factors such as these will determine the maximum symbol rate that you can use.
  • The bandwidth of the signal is determined by the symbol rate and the pulse shape. For the common raised cosine family of pulses, the equation is as described in the previous answer: $(1+\beta)R_p/2$. Larger values of $\beta$ correspond to wider pulse-shaping filters and consume more bandwidth, but they tend to be less vulnerable to timing error and are easier to implement with a smaller number of taps. Smaller values of $\beta$ correspond to narrower pulse-shaping filters and consume less bandwidth, but are harder to implement with a smaller number of taps and are more vulnerable to timing error.
  • The number of samples per symbol must at least satisfy the Nyquist criteria: for raised cosine pulses, as noted above, this means the sample rate must be $(1+\beta)R_p$. The larger the number of samples per symbol above the minimum, the easier your analog filtering will be (whether the D/A reconstruction filter or the A/D anti-aliasing filter), but the higher your D/A or D/A sample rate will be. As with most things in engineering, the correct choice is a trade-off between competing design choices. If the symbol rate is high, the designer may be inclined to make the number of samples per symbol closer to the minimum (e.g., 2 or lower) because the sample rates are already challenging. Conversely, if the symbol rate is low, the designer may choose a more lenient number of samples per symbol (e.g., 4 or more) because the required sample rates are easy to achieve. Some receiver timing recovery algorithms require a minimum number of samples per symbol.

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.