I am trying to understand the terminologies in QAM. This is the information that I have:

number of symbols - bits per symbol - samples per symbol -

I understand bits per symbol but I am confused with number of symbols and samples per symbol. I read that samples per symbol is sampling rate but what is the purpose of it.

Any link or explanation is greatly appreciated.



2 Answers 2


Number of symbols

A baseband signal model that is used is: $x(t)=\sum_{k=1}^N a_k p(t-kT)$, where $a_k$ are the symbols (there are many types, PSK, QAM, PAM for example), $p(t)$ is the pulse shaping filter, $T$ is the symbol period, and $N$ is the number of symbols. The pulse shaping filter limits the bandwidth of $x(t)$.

Samples per symbol

Having multiple samples per symbol is called oversampling. The samples per symbol, $\text{sps}$, is usually not explicitly chosen but is determined from the symbol rate of the signal, $F$, and sample rate, $F_s$, on a particular platform: $\text{sps} = \frac{F_s}{F}$. Your statement that "samples per symbol is sampling rate" is not correct. Visually, having more samples per symbol "fills in" the symbol and will make it look smoother. There are many reasons, besides the pulse shaping filter, to oversample. For example, some algorithms in the receiver are designed to operate on the oversampled received signal, while others expect to work on the received symbols.

enter image description here

Code: https://github.com/B-William/DSPSE/blob/master/spsScript.m

  • $\begingroup$ Thank you. This is where I am a bit more confused. for example, 4 QAM gives 4 symbols (00,01,10,11). But, I read that the number of symbols that was given is say 1000. Does it mean, there is 1000 of the 4 symbols (00,01,10,11)? $\endgroup$
    – Zizi
    Apr 16, 2020 at 14:16
  • $\begingroup$ Those are not the symbols. The set of symbols in a modulation is called the "constellation". 4-QAM's constellation is $(1+j, 1-j, -1+j, -1-j)$, and how you assign specific bit patterns to different symbols can be a design choice, but using "gray code" is common. For this example, you'd say the 4-QAM constellation has a size of 4 symbols. Then $N$ is simply however many symbols are transmitted. $\endgroup$
    – Engineer
    Apr 16, 2020 at 14:25
  • $\begingroup$ Also, how did you get sample index and amplitude from sps? Thank. you and sorry for my numerous questions. $\endgroup$
    – Zizi
    Apr 16, 2020 at 14:26
  • $\begingroup$ I added a link to the MATLAB. It is a matter of keeping track of the indices for the different filters so that they plot over the top of one another. In a real scenario, you'd have sample rate and replace the x-axis with time. $\endgroup$
    – Engineer
    Apr 16, 2020 at 14:30
  • $\begingroup$ Thank you. I understand now. I have a question on time but I will post it in a new question as it is a new question. I spend days trying to understand this and you made it so simple $\endgroup$
    – Zizi
    Apr 16, 2020 at 14:33

In digital communication, you cannot transmit symbols as it is. Because of variation between adjacent symbols, the bandwidth will be much larger than your channel can accommodate. So there is a need to restrict the bandwidth by applying 'pulse shaping'. The procedure is to over sample the symbol sequence and convolve with pulse shaping filter.

If your upsampling factor is 4, samples per symbol=4.

'Root Raised cosine' is a popular pulse shaping filter. You can do a search here or google to get more information on it. You also want pulse shaping filter to satisfy Nyquist ISI criterion too, which RRC pulse does. Example :

h=rcosdesign(0.25,4,4); %rrc with beta=0.25, 4 symbols span and 4 samples per symbol
x=upsample(symbols,4); % symbols upsampled by 4
  • $\begingroup$ I now understand the meaning of rcosdesign. Thank you. $\endgroup$
    – Zizi
    Apr 24, 2020 at 9:41

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.