Let’s learn the equations and the filter model for simulating square root raised cosine (SRRC) pulse shaping. Before proceeding, I urge you to read about basics of pulse shaping in this article.
Raised-cosine pulse shaping filter is generally employed at the transmitter. Let
If the receive filter is matched with the transmit filter, we have
Thus, the transmit and the receive filter take the form
with
This article is part of the book |
The roll-of factor for the SRRC is denoted as
A function for generating SRRC pulse shape is given next. It is followed by a test code that plots the combined impulse response of transmit-receive SRRC filter combination and also plots the frequency domain view of a single SRRC pulse as shown in Figure 1
The combined impulse response matters, as we can identify that the combined response hits zero at symbol sampling instants. This indicates that the job of ISI cancellation is split between transmitter and receiver filters. Note that the combined impulse response of two SRRC filters is same as the impulse response of the RC filter.
Program 1: srrcFunction.m: Function for generating square-root raised-cosine pulse (click here)
Program 2: test_SRRCPulse.m: Square-root raised-cosine pulse characteristics
Tsym=1; %Symbol duration in seconds L=10; % oversampling rate, each symbol contains L samples Nsym = 80; %filter span in symbol durations betas=[0 0.22 0.5 1];%root raised-cosine roll-off factors Fs=L/Tsym;%sampling frequency lineColors=['b','r','g','k','c']; i=1;legendString=cell(1,4); for beta=betas %loop for various alpha values [srrcPulseAtTx,t]=srrcFunction(beta,L,Nsym); %SRRC Filter at Tx srrcPulseAtRx = srrcPulseAtTx;%Using the same filter at Rx %Combined response matters as it hits 0 at desired sampling instants combinedResponse = conv(srrcPulseAtTx,srrcPulseAtRx,'same'); subplot(1,2,1); t=Tsym*t; %translate time base & normalize reponse plot(t,combinedResponse/max(combinedResponse),lineColors(i)); hold on; %See Chapter 1 for the function 'freqDomainView' [vals,F]=freqDomainView(srrcPulseAtTx,Fs,'double'); subplot(1,2,2); plot(F,abs(vals)/abs(vals(length(vals)/2+1)),lineColors(i)); hold on;legendString{i}=strcat('\beta =',num2str(beta) );i=i+1; end subplot(1,2,1); title('Combined response of SRRC filters'); legend(legendString); subplot(1,2,2); title('Frequency response (at Tx/Rx only)');legend(legendString);
References
- [1] Michael Joost, Theory of root-raised cosine filter, Research and Development, 47829 Krefeld, Germany, EU, Dec 2010. https://www.michael-joost.de/rrcfilter.pdf↗
Rate this article: Note: There is a rating embedded within this post, please visit this post to rate it.
Topics in this chapter
Pulse Shaping, Matched Filtering and Partial Response Signaling ● Introduction ● Nyquist Criterion for zero ISI ● Discrete-time model for a system with pulse shaping and matched filtering □ Rectangular pulse shaping □ Sinc pulse shaping □ Raised-cosine pulse shaping □ Square-root raised-cosine pulse shaping ● Eye Diagram ● Implementing a Matched Filter system with SRRC filtering □ Plotting the eye diagram □ Performance simulation ● Partial Response Signaling Models □ Impulse response and frequency response of PR signaling schemes ● Precoding □ Implementing a modulo-M precoder □ Simulation and results |
---|
Books by the author