0% found this document useful (0 votes)
156 views45 pages

Digital Pulse Shaping Techniques

The document discusses digital pulse shaping techniques used in communication systems. It introduces the raised cosine filter, which is commonly used for pulse shaping due to its ability to limit bandwidth while avoiding inter-symbol interference. The raised cosine filter is described as having an impulse response that is the product of a sinc function and cosine function, controlled by a rolloff factor. It provides both frequency and time domain characteristics needed for pulse shaping, such as a lowpass frequency response and zeros at symbol times.

Uploaded by

Karthik Gowda
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
156 views45 pages

Digital Pulse Shaping Techniques

The document discusses digital pulse shaping techniques used in communication systems. It introduces the raised cosine filter, which is commonly used for pulse shaping due to its ability to limit bandwidth while avoiding inter-symbol interference. The raised cosine filter is described as having an impulse response that is the product of a sinc function and cosine function, controlled by a rolloff factor. It provides both frequency and time domain characteristics needed for pulse shaping, such as a lowpass frequency response and zeros at symbol times.

Uploaded by

Karthik Gowda
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Digital Filtering Part 2:

Pulse Shaping
ELEC 433 - Spring 2013
Evan Everett and Michael Wu
[11] [01]
[10] [00]
Output of modulator
[11] [01]
[10] [00]
Output of modulator
1
0
Train of symbols
Output of modulator
1
0
Train of symbols
[11] [01]
[10] [00]
Time
A single symbol in the time domain
5 10 15 20 25 30 35 40 45 50
!0.2
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
Frequency
A single symbol in the frequency domain
1
0
1
2
3
10
2

A sinc in frequency ! innite bandwidth

FCC angry!

Band-limited RF/antennas
1
0
1
2
3
10
2
A single symbol in the frequency domain
What if we only keep a small piece?
X X
Frequency
5 10 15 20 25 30 35 40 45 50
!0.2
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
Time
What if we only keep a small piece?
5 10 15 20 25 30 35 40 45 50
!0.2
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
The downside: our signal is wider in time
A sequence of symbols
Symbol 1
5 10 15 20 25 30 35 40 45 50
!0.2
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
5 10 15 20 25 30 35 40 45 50
!0.2
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
Symbol 2
5 10 15 20 25 30 35 40 45 50
!0.2
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
Symbol 3
Time
A band-limited sequence of symbols
Symbol 1 Symbol 2 Symbol 3
Time
Band-limiting caused
Inter-Symbol Interference (ISI)
5 10 15 20 25 30 35 40 45 50
!0.2
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
5 10 15 20 25 30 35 40 45 50
!0.2
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
5 10 15 20 25 30 35 40 45 50
!0.2
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
Pulse Shaping Requirements

Frequency domain: low-pass response

H(")#1 in passband, H(")#0 in stopband

Time domain: zero ISI and nite extent

Impulse response needs periodic zeros

Zeros must occur at other data sample times

h[n$] = 0 where $ is data sample period


T 2T 3T -T -2T -3T
t
Zero-ISI Example
Raised Cosine Function
: Rolloff factor- determines passband (excess bandwidth)
: Sampling period- determines zero crossings of x(t)

Most common pulse shaping lter

Meets both key requirements

Easy to implement digitally

Impulse response:
x(t) =
sin

cos

2t

=
sinc

cos

2t

Impulse Response
-3 -2 -1 0 1 2 3
-0.2
0
0.2
0.4
0.6
0.8
=0
=.15
=.3
=.5
=1
Raised Cosine Function
Properties of the Impulse Response
x(0) = 1 for all %
-3 -2 -1 0 1 2 3
-0.2
0
0.2
0.4
0.6
0.8
=0
=.15
=.3
=.5
=1
Raised Cosine Function
Properties of the Impulse Response
-3 -2 -1 0 1 2 3
-0.2
0
0.2
0.4
0.6
0.8
=0
=.15
=.3
=.5
=1
Zeros do not depend on %
Raised Cosine Function
Properties of the Impulse Response
Size of ripples depend on %
-3 -2 -1 0 1 2 3
-0.2
0
0.2
0.4
0.6
0.8
=0
=.15
=.3
=.5
=1
Raised Cosine Function
Properties of the Impulse Response
-3 -2 -1 0 1 2 3
-0.2
0
0.2
0.4
0.6
0.8
=0
=.15
=.3
=.5
=1
%=0 gives sinc(x)
Raised Cosine Function
Raised Cosine Function
: Rolloff factor- determines passband (excess bandwidth)
: Sampling period- determines zero crossings of x(t)
!
!
X(!) =
", ! #
$ 1% & ( )
"
"
2
1% sin
"
2&
'
(
)
*
+
,
! %
$
"
'
(
)
*
+
,
'
(
)
*
+
,
-
.
/
0
1
2
,
$ 1% & ( )
"
< ! <
$ 1+ & ( )
"
0, ! 3
$ 1+ & ( )
"
4
5
6
6
6
7
6
6
6
Frequency Response:
Frequency Response
0 0.5 1 1.5 2
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
=0
=.15
=.3
=.5
=1
Raised Cosine Function
Properties of the Frequency Response
0 0.5 1 1.5 2
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
=0
=.15
=.3
=.5
=1
0 0.5 1 1.5 2
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
=0
=.15
=.3
=.5
=1
%=0 gives notch lter
Raised Cosine Function
(1- %)
(1+ %)
% sets the lters passband
Properties of the Frequency Response
0 0.5 1 1.5 2
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
=0
=.15
=.3
=.5
=1
0 0.5 1 1.5 2
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
=0
=.15
=.3
=.5
=1
Raised Cosine Function
Properties of the Frequency Response
0 0.5 1 1.5 2
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
=0
=.15
=.3
=.5
=1
0 0.5 1 1.5 2
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
=0
=.15
=.3
=.5
=1
X("<(1-%))=1
X(">(1+%))=0
Raised Cosine Function
(1- %)
(1+ %)
% sets the lters passband
Properties of the Frequency Response
0 0.5 1 1.5 2
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
=0
=.15
=.3
=.5
=1
0 0.5 1 1.5 2
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
=0
=.15
=.3
=.5
=1
X("<(1-%))=1
X(">(1+%))=0
%=0 gives notch lter
Raised Cosine Function
Square Root Raised Cosine
0 0.5 1 1.5 2
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
=0
=.15
=.3
=.5
=1
0 0.5 1 1.5 2
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
=0
=.15
=.3
=.5
=1
Why is this useful?
Split pulse shaping lter between Tx and Rx
Pulse shaping becomes matched ltering
H
RRC
() =

H
RC
()
H
RC
()
Matched Filtering with RRC
Data
Mod
Demod
Data

Prevent out-of-band
interference
Reject out-of-band
interference/noise
TX: RX:
H
RRC
()
Matched RRC Filters
Net response is
zero ISI, unity at
sample times!
H
RRC
()
H() = H
RRC
()H
RRC
()
=

H
RC
()

H
RC
()
= H
RC
() (1)
Raised Cosine Filtering
0 5 10 15 20 25 30
-1.5
-1
-0.5
0
0.5
1
1.5
Time
A
m
p
l
i
t
u
d
e
Start with a binary data stream
Adapted from MATLABs playshow rcosdemo
0 5 10 15 20 25 30
-1.5
-1
-0.5
0
0.5
1
1.5
Time
A
m
p
l
i
t
u
d
e
Apply the raised cosine lter to the data
Raised Cosine Filtering
Adapted from MATLABs playshow rcosdemo
Raised Cosine Filtering
Adapted from MATLABs playshow rcosdemo
0 5 10 15 20 25 30
-1.5
-1
-0.5
0
0.5
1
1.5
Time
A
m
p
l
i
t
u
d
e
Delay the data to see the preservation of the information
See the effect of changing %
0 5 10 15 20 25 30
-1.5
-1
-0.5
0
0.5
1
1.5
Time
A
m
p
l
i
t
u
d
e
%=0.2
%=0.5
Raised Cosine Filtering
Adapted from MATLABs playshow rcosdemo
Raised Cosine Filtering
Adapted from MATLABs playshow rcosdemo
0 5 10 15 20 25 30
-1.5
-1
-0.5
0
0.5
1
1.5
Time
A
m
p
l
i
t
u
d
e
Using a square root raised cosine lter instead
Raised Cosine Filtering
Adapted from MATLABs playshow rcosdemo
0 5 10 15 20 25 30
-1.5
-1
-0.5
0
0.5
1
1.5
Time
A
m
p
l
i
t
u
d
e
Data reconstructed using root-raised lter again
Digital Pulse-shaping: Tx
0 5 10 15 20 25 30
!1.5
!1
!0.5
0
0.5
1
1.5
Time
A
m
p
l
i
t
u
d
e
0 5 10 15 20 25 30
!1.5
!1
!0.5
0
0.5
1
1.5
Time
A
m
p
l
i
t
u
d
e
0 5 10 15 20 25 30
!1.5
!1
!0.5
0
0.5
1
1.5
Time
A
m
p
l
i
t
u
d
e
Data
Modulator Interpolating Filter

D/A Tx
0 5 10 15 20 25 30
!1.5
!1
!0.5
0
0.5
1
1.5
Time
A
m
p
l
i
t
u
d
e
0 5 10 15 20 25 30
!1.5
!1
!0.5
0
0.5
1
1.5
Time
A
m
p
l
i
t
u
d
e
0 5 10 15 20 25 30
!1.5
!1
!0.5
0
0.5
1
1.5
Time
A
m
p
l
i
t
u
d
e
Data
Decimating Filter

A/D
Demodulator
Rx
Digital Pulse-shaping: Rx

Commonly required in DSP/Comm

DSP: smoothing, softening pixelation

Comm: upsampling without aliasing, pulse shaping

Example:
Interpolating Filters
Original
Enlarged w/o
interpolation
Interpolated

Example: interpolate by a factor of M = 8

Low-pass lter of length N = 32

Suppose we upsample (zero pad) and then use a serial lter

How much faster does the internal rate have to be than input
rate?

M*N = 8*32 = 256x as fast

If the input rate is near the speed of our FPGA, this is hopeless
Implementing Multi-rate Filters
N-tap LPF
M
Interpolation

Basic multi-rate lters are very inefcient

Inputs are mostly zeros after upsampling

Outputs are mostly discarded after downsampling

Smarter design can save a lot of resources


N-tap LPF
M
Decimation
Mostly Zeros
Mostly Discarded
N-tap LPF
M
Interpolation
Implementing Multi-rate Filters
4x Interpolation Example
I
m
p
u
l
s
e

R
e
s
p
o
n
s
e
M=4
x
0
x
1
x
2

N-tap LPF
M
4x Interpolation Example
x
0
0

0

0

x
1
0

0

0

x
2
0

0

0

x
3
0

0

0
I
m
p
u
l
s
e

R
e
s
p
o
n
s
e
D
a
t
a
x
0
0

0

0

x
1
0

0

0

x
2
0

0

0

x
3
0

0

0
0

x
0
0

0

0

x
1
0

0

0

x
2
0

0

0

x
3
0

0
I
m
p
u
l
s
e

R
e
s
p
o
n
s
e
D
a
t
a
4x Interpolation Example
x
0
0

0

0

x
1
0

0

0

x
2
0

0

0

x
3
0

0

0
0

x
0
0

0

0

x
1
0

0

0

x
2
0

0

0

x
3
0

0
0

0

x
0
0

0

0

x
1
0

0

0

x
2
0

0

0

x
3
0
I
m
p
u
l
s
e

R
e
s
p
o
n
s
e
D
a
t
a
4x Interpolation Example
x
0
0

0

0

x
1
0

0

0

x
2
0

0

0

x
3
0

0

0
0

x
0
0

0

0

x
1
0

0

0

x
2
0

0

0

x
3
0

0
0

0

x
0
0

0

0

x
1
0

0

0

x
2
0

0

0

x
3
0
0

0

0

x
0
0

0

0

x
1
0

0

0

x
2
0

0

0

x
3
I
m
p
u
l
s
e

R
e
s
p
o
n
s
e
D
a
t
a
4x Interpolation Example

Break impulse response into M sub-lters

h[0...N-1] is broken down as:

h
0
=h[0,M,2M,3M,...]

h
1
=h[1,M+1,2M+1,3M+1,...]

h
2
=h[2,M+2,2M+2,3M+2,...]

... and so on
Polyphase Filters

Then cycle through sub-lter outputs at rate M

Output is the same as basic version

Only the multiplexer runs at rate M


Parallel Polyphase Filter
h
0
h
1
h
M-1
.
.
.
h
2

Replace sublters with clever ROM/RAM indexing

Most efcient implementation: no unused logic

Core runs at rate N*M/M (for original h[0...N-1])


Serial Polyphase Filters
Data
Branch Index
Coefcient
ROM
z
-1
X
+
Counter
+
Addressable
Shift Register
Serial Interpolating Polyphase Filter

You might also like