In the previous post on transmit filtering using Nyquist pulse, we had briefly learned that the information symbol with a symbol period can be transmitted without inter symbol interference (ISI) by using Nyquist pulse,
The resultant waveform is ideally bandlimited to frequencies from Hz to Hz.
However, in typical transmission schemes, we do not hear of pulse shaping using sinc() filters. Rather, pulse shaping using raised cosine filter is frequently used. In this post, objective is to understand the motivation behind using raised cosine filtering for pulse shaping.
Though the sinc filter achieves bandlimited transmission within Hz with out inter symbol interference, the sinc filter has the following issues:
1. The tail of the sinc filter decays slowly. Note that practical implementations cannot use a filter which extends from to . To ensure that only filter taps having small values are only ignored, need to use a filter of large length.
2. Small errors in timing synchronization at the receiver will result in significant intersymbol interference. Reason: The error in timing synchronization means that the sampling tme at the receiver is not aligned. This implies that filter tap values at time etc are non-zero. Hence reults in significant inter symbol interference.
Given so, there was a motivation to find filters which satisfies the Nyquist criterion, but has a faster decay of the filter tail. A commonly used pulse shaping filter satisfying the Nyquist criterion while having a faster decay is called the raised cosine filters having the following equation,
(Refer. Equation 5.8 in [DIG-COMM-BARRY-LEE-MESSERSCHMITT]).
is the excess bandwidth parameter and takes values from 0 to 1.
With =0, the raised cosine filter reduces to the classical Nyquist filter with zero excess bandwidth outside .
With =1 it is called 100% excess bandwidth and does not occupy frequencies outside .
(a) for and
(Thanks to the article in RFDesign.com, The care and feeding of digital, pulse-shaping filter, Ken Gentile)
The frequency response of the raised cosine filter is,
Using the attached Matlab/Octave script, one can plot the time domain and frequency domain representations of the raised cosine filters for different values of .
Click here to download:
25th May 2008
Modified the code to handle the divison by zero error.
19th May 2008
It has been brought to my attention that the code is unable to plot accurately in Matlab environment. The difference is because my version of Octave seems to handle the division by numbers close to zero cleanly, where as Matlab insists on returning Inf. I will fix the code and release an update. sorry for the inconvenience.
Figure: Time domain response of raised cosine pulse shaping filters
Figure: Frequency domain response of raised cosine pulse shaping filters
[PROS] From the time domain samples, can observe that filter tail of the raised cosine filter with greater than 0 dies down faster. This implies that practical implementations can ignore taps which are close to zero with negligible loss in performance.
[PROS] As the filter taps values at and above are close to zero, timing mis-alignmnet at the receiver does not contribute to significant inter symbol interference.
[CONS] As can be seen from the frequency response, with greater than 0, the fitler response is bandlimited only till . We need a wider bandwidth to transmit the waveform when compared to classical Nyquist bandwidth.
Given that the raised cosine filtering simplifies the practical implementation (by making the receiver more robust to timing synchronization errors), the increase in transmission bandwidth may be a small price to pay.
From the frequency domain response, one may observe that the shape of the roll-off looks like a cosine waveform having a DC value. Henec the term raised cosine filters. 🙂
Hope this helps.