Transmit pulse shaping filter - rectangular and sinc (Nyquist)
In the previous post on I-Q modulator and de-modulator, we had briefly mentioned that the a baseband PAM transmission can be modelled as
, where
is the symbol period,
is the symbol to transmit,
is the transmit filter,
is the symbol index and
is the output waveform.
In this post, the objective is to understand the properties of the transmit filter i.e. to find out a filter which occupies the minimum required bandwidth while ensuring inter-symbol-interference (ISI) free transmission of the information symbol
.
The sequence of transmit symbols maybe visualized as follows.
Figure: Transmit symbols for baseband PAM transmission
To recover the symbols from , one may sample the waveform at multiples of symbol interval
. The sampled waveform can be,
.
Breaking the above equation into two parts,
From the above equation, it is intuitive that for ensuring no inter symbol interference (ISI), the second term in the above equation should be zero i.e. the taps of the filter should be zero at
and non-zero at time
.
Rectangular filter
The most simplest filter is the zero-order hold filter, i.e. to repeat the current symbol till the next symbol arrives and so on. Mathematically, the filter can be represented as,
.
The filtered waveform can be as shown below.
Figure: Baseband PAM transmisison with rectangular filtering
Though there is no ISI with rectangular filtering, we will show later that this filtering is not be optimal from the bandwidth perspective.
Filtering with sinc() shaped pulses
From our textbooks, we may recall that sinc shaped pulses have have a band limited rectangular spectrum. For example, consider the sinc pulse of width .

Figure: Time domain response of sinc filter
As desired, the above filter has zeros at and non-zero value at time
. The corresponding frequency response is a rectangular pulse bandlimited from
Hz to
Hz. The frequency response is as shown below:
Figure: Frequency response of sinc shaped filter
Infact, the above sinc shaped pulse satisfies the Nyquist criterion and is called Nyquist pulse (Refer Sec 5.1.1 [DIG-COMM-BARRY-LEE-MESSERSCHMITT]).
It follows that with the sinc shaped pulse (also called Nyquist pulse) used for transmit filtering:
(a) inter-symbol interference (ISI) is not introduced when sampled properly.
(b) minimum required bandwidth for transmitting symbols (with symbol period
)is
Hz.
Simulation model
Brief Matlab/Octave script for observing the spectrum of a random BPSK modulated symbols with rectangular filtering and sinc shape filtering might be helpful to uderstand the concept further.
Click here to download.
Matlab/Octave code for simulating transmit pulse shaping with rectangular and sinc waveforms
The observed spectrum is as shown below.
Figure: Transmit spectrum with rectangular and sinc shaped pulse shaping filter
Summary
1. From the above spectrum plot, the sinc shaped filter does not result in perfectly bandlimited spectrum from from Hz to
Hz. This is because, by theory, the sinc pulse exists from
to
. However, for simulations the sinc pulse is truncated for a finite duration. This results in negligible (less than -30dB) spectral content present outside
Hz.
2. The above discussion does not present why the sinc shaped filtering is optimal for ensuring minimum bandwidth. For the theoretical understanding, one may refer Sec 5.1.1 of [DIG-COMM-BARRY-LEE-MESSERSCHMITT].
Reference
[DIG-COMM-BARRY-LEE-MESSERSCHMITT] Digital Communication: Third Edition, by John R. Barry, Edward A. Lee, David G. Messerschmitt
Hope this helps.
Krishna
Please click here to SUBSCRIBE to newsletter and download the FREE e-Book on probability of error in AWGN. Thanks for visiting! Happy learning.
If you liked this post, you may leave a comment below, or subscribe to the RSS feed.
You may also find these posts relevant...
Comments
Thank you for your reply… I agree with you that most implementations use upsample ratio of 4. I guess that the reason for that to enable two levels of tracking [phase and frequency], if you upsample by 2 you will not be able to track the frequency drifts! Do you agree with me on this point?
Your answer provided a great help. In fact I did not know that the main reference for deciding the filter order is the mask specification. That makes sense now to me. Thank you
Hi, i have a question about upsampling in your code.
amUpSampled = [am;zeros(fs-1,length(am))]
amU = amUpSampled(:).’
are these lines basically upsampling the symbols by factor of 10.
Regards,
umar
































I have two questions!
1- How do we decide the upsampling ratio before pulse shaping filter?
2- How do we decide the length of pulse shape filter?