SlideShare a Scribd company logo
1 of 18
Download to read offline
Direct Digital Synthesis
1
FPGA Signal Processing:
Direct Digital Synthesis
Santa Clara University
Dr Chris Dick
DSP Chief Architect
Xilinx
© Chris Dick 2004-2009DDS v2.1 2
Direct Digital Synthesis (DDS)
• DDS Implementation Options
– phase truncation DDS
– CORDIC
– series expansions
– phase dithered DDS
– error feed-forward
– error feed-back
n
θ(n)
Angle to
sin/cos
algorithm
n
2 ( )j n
e πθ
DDS maps a phase slope θ(n) to a (possible complex) sinusoid
DDS
Direct Digital Synthesis
2
© Chris Dick 2004-2009DDS v2.1 3
DDS Applications
• Digital receivers
– digital down converter (DDC)
– digital up converter (DUC)
– local oscillator generation in a digital phase locked loop
– generating an injection frequency (via an DAC) for use with an
analog mixer
– phase & frequency modulators
– frequency hopping systems
© Chris Dick 2004-2009DDS v2.1 4
Phase Truncation DDS
π/2 SINE
COSINE
LOOK-UP TABLE
2’s
COMPLE-
MENTER
2’s
COMPLE-
MENTER
N N-2 N-2
MSB (bit N-1)
2nd MSB (bit N-2)
PHASE
ACCUMULATOR
sin( )
cos( )
PHASE
INCREMENT
∆φ
Q()
( )nθ
( )n
Bθ
( )nΘ
( )n
BΘ Sin/cos
Lookup
Table
( )cos ( )nΘ
( )sin ( )nΘ
Phase increment
θ∆
sB
sB
clkf
DDS with Lookup table compression
1’s
comple-
menter
phase offset
lookup table
Direct Digital Synthesis
3
© Chris Dick 2004-2009DDS v2.1 5
DDS Frequency Resolution
• Accumulator width must support enough precision to span
the desired frequency resolution
Q()
( )nθ
( )n
Bθ ˆ( )n
B
θ Sin/cos
Lookup
Table
( )ˆcos ( )nθ
( )ˆsin ( )nθ
Phase increment
θ∆
sB
sB
clkf
clk
out
( )
Hz
2
B
n
f
f
θ
θ∆
=
( )
2
Frequency resolution: n
clk
B
f
f θ
∆ =
ˆ( )nθ
© Chris Dick 2004-2009DDS v2.1 6
DDS Frequency Resolution
• Example:
– if the sampling clock is 100 MHz and accumulator width is 32-
bits, the frequency resolution is ~0.02 Hz.
Direct Digital Synthesis
4
© Chris Dick 2004-2009DDS v2.1 7
Phase Truncation DDS
0 0.1 0.2 0.3 0.4 0.5
-100
-80
-60
-40
-20
0
NORMALIZED FREQUENCY
DB
PHASE
INCREMENT
∆φ M
clk
PHASE
ACCUMULATOR
(e.g. 28-32 bits)
fout = ∆φ fclk/2N
SINE/COSINE
LOOKUP
TABLE
e.g. N = 8-16
θ(n)^
θ(n)
Q( )
N sin(θ(n))
^
cos(θ(n))^
B
B
0 20 40 60 80 100
0
0.5
1
TIME
ERROR
20 40 60 80 100
-1
0
1
TIME
AMPLITUDE
© Chris Dick 2004-2009DDS v2.1 8
DDS Noise
• The term contributing to the DDS noise
component can be calculated by examining the
effect of the phase accumulator quantizer
ˆ( ) [ ( ) ( )] ( ) ( )
ˆ( ) ( )
( ) ( )
ˆ( ) ( ) ( )
[1 ( )]
( )
DESIRED COMPONENT
UNDESIRED COMPONENT
j n j n n j n j n
j n j n
j n j n
n n n
e e e e
e e j n
e j n e
θ θ δθ θ δθ
θ θ
θ θ
θ θ δθ
δθ
δθ
+
= +
= =
≈ +
= +
Direct Digital Synthesis
5
© Chris Dick 2004-2009DDS v2.1 9
Dithered DDS
PHASE
INCREMENT
∆φ M
clk
PHASE
ACCUMULATOR
Q( )
fout = ∆φ fclk/2N
SINE/COSINE
LOOKUP
TABLEN
d(n)
DITHER
SIGNAL
sin(θ(n))
^
cos(θ(n))^θ(n) θ(n)^
B
B
0 0.1 0.2 0.3 0.4 0.5
-100
-80
-60
-40
-20
0
NORMALIZED FREQUENCY
DB
0 20 40 60 80 100
-1
0
1
2
TIME
ERROR
20 40 60 80 100
-1
0
1
TIME
AMPLITUDE
© Chris Dick 2004-2009DDS v2.1 10
Generating the Dither Sequence
• Generate the dither sequence using linear feedback shift
register structure
Direct Digital Synthesis
6
© Chris Dick 2004-2009DDS v2.1 11
0 10 20 30 40 50 60
-120
-100
-80
-60
-40
-20
0
-72 dB
-84 dB
Frequency (MHz)
dB
f
0
= 10.2MHz
Peak Spur = -84.3037dB
LUT Depth = 4096
LUT Precision = 12
PACC Precision = 32
04-Sep-2001 22:30:09
Performance: Single Tone
0 10 20 30 40 50 60
-120
-100
-80
-60
-40
-20
0
-72 dB
-84 dB
Frequency (MHz)
dB
f
0
= 10.2MHz
Peak Spur = -71.7267dB
LUT Depth = 4096
LUT Precision = 12
PACC Precision = 32
04-Sep-2001 22:22:19
Dithering Disabled Dithering Enabled
0 10.2 MHz
peak spur = -71.73 dB
LUT depth = 4096
LUT precision = 12b
PACC precision = 32b
f = 0 10.2 MHz
peak spur = -84.30 dB
LUT depth = 4096
LUT precision = 12b
PACC precision = 32b
f =
© Chris Dick 2004-2009DDS v2.1 12
Performance: Swept Tone
0 0.1 0.2 0.3 0.4 0.5
-120
-100
-80
-60
-40
-20
0
-72 dB
-84 dB
start sweep = 0.0313
end sweep = 0.0415
num sweeps = 10
∆ f = 0.00102
LUT Depth = 4096
LUT Precision = 16
PACC Precision = 32
04-Sep-2001 22:10:00
Frequency
dB
0 0.1 0.2 0.3 0.4 0.5
-120
-100
-80
-60
-40
-20
0
-72 dB
-84 dB
start sweep = 0.313
end sweep = 0.3415
num sweeps = 10
∆ f = 0.00285
LUT Depth = 4096
LUT Precision = 16
PACC Precision = 32
04-Sep-2001 22:16:06
Frequency
dB
0.00285
Start sweep = 0.313
end sweep = 0.3415
num sweeps = 10
LUT depth = 4096
LUT precision = 16b
PACC precision = 32b
f∆ =0.00102
Start sweep = 0.0313
end sweep = 0.0415
num sweeps = 10
LUT depth = 4096
LUT precision = 16b
PACC precision = 32b
f∆ =
Direct Digital Synthesis
7
© Chris Dick 2004-2009DDS v2.1 13
Implementation - Phase Trunc. DDS
• Phase truncation DDS: SFDR increases at a rate of 6 dB/bit of LUT
address
• For modest SFDR requirements phase truncation is an option, e.g.
SFDR=48 dB, 256 entry LUT
• Using 1/4-wave symmetry, 64 entry table is needed
• complex DDS employing distributed RAM will require 2 64 entry
tables - one for I one for Q
• 10b samples ⇒ 20 slices for I and 20 for Q
– this is ok
© Chris Dick 2004-2009DDS v2.1 14
Dithered DDS
• Phase dithering will purchase an additional 2 bits of
address space
0 0.1 0.2 0.3 0.4 0.5
-100
-80
-60
-40
-20
0
NORMALIZED FREQUENCY
DB
0 0.1 0.2 0.3 0.4 0.5
-100
-80
-60
-40
-20
0
NORMALIZED FREQUENCY
DB
Direct Digital Synthesis
8
© Chris Dick 2004-2009DDS v2.1 15
Implementation - Dithered DDS
• Dither signal generator requires only a modest amount of
silicon
• can choose to spend this optimization in several ways
– maintain table size and achieve higher spectral purity
– minimize hardware by using a LUT that is 1/4 the size of that
required by a phase truncation design
• This will still be a large amount of FPGA real-estate for
high performance applications
© Chris Dick 2004-2009DDS v2.1 16
Series-Corrected DDS
• Taylor series expansion
• Consider a two term expansion for sin(x) and cos(x)
2 ( )
( ) ( ) ( ) ( ) ( ) ( )
( ) ( )
1! 2! !
N N
x a f a x a f a x a f a
f x f a
N
′ ′′− − −
= + + +
sin( ) sin( ) ( )cos( )
cos( ) cos( ) ( )sin( )
x a x a a
x a x a a
= + −
= − −
Direct Digital Synthesis
9
© Chris Dick 2004-2009DDS v2.1 17
Taylor Series DDS
0 10 20 30 40 50 60 70 80 90 100
-1
-0.5
0
0.5
1
TIME
AMPLITUDE
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
-100
-80
-60
-40
-20
0
NORMALIZED FREQUENCY
DB
Phase
Increment
∆θ M
clk
Phase
Accumulator
(e.g. 32 bits)
Q( )
cos(θ(n))
sin(θ(n))
e.g. N = 8
+ -
N
Sine
Cosine
Lookup
Table
-
θ(n) θ(n)^
cos θ(n)^
sin θ(n)^
{+cos(θ(n)), -sin (θ(n))}
© Chris Dick 2004-2009DDS v2.1 18
Implementation - Taylor Series DDS
Several arithmetic units required ⇒consider for applications
that require very high spur suppression
Virtex-II embedded multipliers well suited to this architecture
Phase
Increment
∆θ M
clk
Phase
Accumulator
(e.g. 32 bits)
Q( )
cos(θ(n))
sin(θ(n))
e.g. N = 8
+ -
N
Sine
Cosine
Lookup
Table
-
θ(n) θ(n)^
cos θ(n)^
sin θ(n)^
Direct Digital Synthesis
10
© Chris Dick 2004-2009DDS v2.1 19
Implementation - Taylor Series DDS
• 1 block RAM
• 2 MPY
• 1 MPY by a constant
0 0.5
-100
-50
0
(a)
DB
0 0.5
-100
-50
0
(b)
DB
0 0.5
-100
-50
0
(c)
DB
0 0.5
-100
-50
0
(d)
DB
-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5
-140
-120
-100
-80
-60
-40
-20
0
Frequency
dB
LUT Depth = 4096
LUT Precision = 18
Output Precision = 20
f0 = 0.002433
09-Jul-2003 19:09:19
© Chris Dick 2004-2009DDS v2.1 20
System Generator DDS
• Taylor Series DDS
Pipeline balancing registers
Taylor series correction mpy
Compute error signal
Phase
acc.
Quantize phase acc.
Direct Digital Synthesis
11
© Chris Dick 2004-2009DDS v2.1 21
Performance
-0.5 0 0.5
-140
-120
-100
-80
-60
-40
-20
0
Frequency
DB
LUT Depth = 4096
LUT Precision = 18
Output Precision = 20
f0 = 0.0893
02-Jun-2002 23:38:52
-115 dB
© Chris Dick 2004-2009DDS v2.1 22
Design Statistics
• Tools
– System Generator v3.1
– ISE 5.2.03i speedfile: ADVANCED 1.78 2003-05-0
• Device = XC2VP501152-7
• 216 logic slices (3-level pipelined mpys)
• 1 block RAM
• 2 18x18 embedded multipliers
• fclk max = 179 MHz
Direct Digital Synthesis
12
© Chris Dick 2004-2009DDS v2.1 23
Multi-Channel DDS
• Build M-channel DDS (M-ary DDS)
• Multi-channel DDS can be constructed for almost
the same cost as a single DDS
• Time division multiplex the hardware
• Each DDS operates at 1/M’th the clock rate
• For fclk = 120 MHz and M=3, each DDS will
operate at a rate of 40 MHz
© Chris Dick 2004-2009DDS v2.1 24
Virtex Slice Revision
D Q
CE
D Q
CE
D Q
CE
D Q
CE
LUT
IN
CE
CLK
ADDRESS
OUT
CASCADE
Direct Digital Synthesis
13
© Chris Dick 2004-2009DDS v2.1 25
Multi-Channel DDS
• Make use of SRL16s to efficiently implement the
M phase accumulators (PACCs)
z-1
Phase
Increment
Memory
0,1, , 1i i Mθ = −…
Address
Generator
ROM or Dual-port RAM
Microblaze
Power PC
or MPU external to FPGA
supplies phase
increment values
SRL16-based
registers
PACC FILE
© Chris Dick 2004-2009DDS v2.1 26
Multi-Channel DDS
• PACC file is efficiently implemented using the
SRL16 slice configuration
z-1
Phase
Increment
Memory
0,1, , 1i i Mθ = −…
Address
Generator
ROM or Dual-port RAM
SRL16-based
registers
PACC FILE
B
16 B-bit precision PACCs can be supported
using B/2 slices
16 32b PACCs requires 16 slices + 16 slices
for the adder and delay
Direct Digital Synthesis
14
© Chris Dick 2004-2009DDS v2.1 27
Multi-Channel DDS
• Small cost to de-multiplex the outputs
• The cost to demux each Bo-bit output is ~ Bo/2 slices
z0 M 0 ( )y n
z-1 M 1( )y n
z-M+1 M 1( )My n−
DDS
De-multiplexed
output time-series
Bo
© Chris Dick 2004-2009DDS v2.1 28
M-ary Phase Accumulator
Phase increment memory
SRL16-based phase accumulators
Sum & Delay
• In this case the phase increment values are stored in
ROM since they are known prior to run-time
• Alternatively dual-port memory could be used of the
output frequencies need to be updated at run-time
Direct Digital Synthesis
15
© Chris Dick 2004-2009DDS v2.1 29
M-ary Taylor Series DDS
Channel demultiplexing
M-ary phase accumulator
DDS
© Chris Dick 2004-2009DDS v2.1 30
3-Channel Taylor Series DDS
-0.5 0 0.5
-140
-120
-100
-80
-60
-40
-20
0
Frequency
DB
LUT Depth = 4096
LUT Precision = 18
Output Precision = 20
f = [0.1, 0.2, 0.3]
09-Jun-2002 11:37:14
• 3 tones efficiently generated
by time sharing the hardware
• Sample-rate versus area
tradeoff
Direct Digital Synthesis
16
© Chris Dick 2004-2009DDS v2.1 31
M-ary Phase Truncation DDS
Phase increment memory
SRL16-based phase accumulators
Sum & Delay
Trig LUT
Output
Demux
© Chris Dick 2004-2009DDS v2.1 32
8-Channel Phase Truncation DDS
-0.5 0 0.5
-100
-90
-80
-70
-60
-50
-40
-30
-20
-10
0
10
Frequency
DB
LUT Depth = 4096
LUT Precision = 16
09-Jun-2002 13:02:48
• 1 demultiplexed output
• Very compact design
Direct Digital Synthesis
17
© Chris Dick 2004-2009DDS v2.1 33
CORDIC DDS
-0.5 0 0.5
-100
-50
0
F
dB
Precision = 12 bits
Num Iterations = 12
f = 0.01
09-Jun-2002 14:34:39
-0.5 0 0.5
-100
-50
0
F
dB
Precision = 12 bits
Num Iterations = 14
f = 0.01
09-Jun-2002 14:34:41
-0.5 0 0.5
-100
-50
0
F
dB
Precision = 12 bits
Num Iterations = 16
f = 0.01
09-Jun-2002 14:34:43
-0.5 0 0.5
-100
-50
0
F
dB
Precision = 12 bits
Num Iterations = 18
f = 0.01
09-Jun-2002 14:34:45
© Chris Dick 2004-2009DDS v2.1 34
CORDIC DDS
-0.5 0 0.5
-100
-50
0
F
dB
Precision = 16 bits
Num Iterations = 12
f = 0.01
09-Jun-2002 14:38:34
-0.5 0 0.5
-100
-50
0
F
dB
Precision = 16 bits
Num Iterations = 16
f = 0.01
09-Jun-2002 14:38:36
-0.5 0 0.5
-100
-50
0
F
dB
Precision = 16 bits
Num Iterations = 18
f = 0.01
09-Jun-2002 14:38:39
-0.5 0 0.5
-100
-50
0
F
dB
Precision = 16 bits
Num Iterations = 20
f = 0.01
09-Jun-2002 14:38:41
Direct Digital Synthesis
18
© Chris Dick 2004-2009DDS v2.1 35
CORDIC DDS
-0.5 0 0.5
-100
-50
0
F
dB
Precision = 20 bits
Num Iterations = 8
f = 0.01
09-Jun-2002 14:41:03
-0.5 0 0.5
-100
-50
0
F
dB
Precision = 20 bits
Num Iterations = 12
f = 0.01
09-Jun-2002 14:41:05
-0.5 0 0.5
-100
-50
0
F
dB
Precision = 20 bits
Num Iterations = 16
f = 0.01
09-Jun-2002 14:41:07
-0.5 0 0.5
-100
-50
0
F
dB
Precision = 20 bits
Num Iterations = 18
f = 0.01
09-Jun-2002 14:41:09

More Related Content

What's hot

W+cham and Z+b-jets talk
W+cham and Z+b-jets talkW+cham and Z+b-jets talk
W+cham and Z+b-jets talkGiacomo Snidero
 
射頻電子 - [第一章] 知識回顧與通訊系統簡介
射頻電子 - [第一章] 知識回顧與通訊系統簡介射頻電子 - [第一章] 知識回顧與通訊系統簡介
射頻電子 - [第一章] 知識回顧與通訊系統簡介Simen Li
 
RF Module Design - [Chapter 3] Linearity
RF Module Design - [Chapter 3]  LinearityRF Module Design - [Chapter 3]  Linearity
RF Module Design - [Chapter 3] LinearitySimen Li
 
An Analysis of Convolution for Inference
An Analysis of Convolution for InferenceAn Analysis of Convolution for Inference
An Analysis of Convolution for InferenceIntel Nervana
 
Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016Graham Wihlidal
 
DSD-INT 2015 - Opportunities for next generation river modelling - Herman Ker...
DSD-INT 2015 - Opportunities for next generation river modelling - Herman Ker...DSD-INT 2015 - Opportunities for next generation river modelling - Herman Ker...
DSD-INT 2015 - Opportunities for next generation river modelling - Herman Ker...Deltares
 
Orthogonal Faster than Nyquist Transmission for SIMO Wireless Systems
Orthogonal Faster than Nyquist Transmission for SIMO Wireless SystemsOrthogonal Faster than Nyquist Transmission for SIMO Wireless Systems
Orthogonal Faster than Nyquist Transmission for SIMO Wireless SystemsT. E. BOGALE
 
Advancements in-tiled-rendering
Advancements in-tiled-renderingAdvancements in-tiled-rendering
Advancements in-tiled-renderingmistercteam
 
RF Circuit Design - [Ch2-1] Resonator and Impedance Matching
RF Circuit Design - [Ch2-1] Resonator and Impedance MatchingRF Circuit Design - [Ch2-1] Resonator and Impedance Matching
RF Circuit Design - [Ch2-1] Resonator and Impedance MatchingSimen Li
 
Multiband Transceivers - [Chapter 1]
Multiband Transceivers - [Chapter 1] Multiband Transceivers - [Chapter 1]
Multiband Transceivers - [Chapter 1] Simen Li
 
RF Module Design - [Chapter 8] Phase-Locked Loops
RF Module Design - [Chapter 8] Phase-Locked LoopsRF Module Design - [Chapter 8] Phase-Locked Loops
RF Module Design - [Chapter 8] Phase-Locked LoopsSimen Li
 
High-Performance GPU Programming for Deep Learning
High-Performance GPU Programming for Deep LearningHigh-Performance GPU Programming for Deep Learning
High-Performance GPU Programming for Deep LearningIntel Nervana
 
Holy smoke! Faster Particle Rendering using Direct Compute by Gareth Thomas
Holy smoke! Faster Particle Rendering using Direct Compute by Gareth ThomasHoly smoke! Faster Particle Rendering using Direct Compute by Gareth Thomas
Holy smoke! Faster Particle Rendering using Direct Compute by Gareth ThomasAMD Developer Central
 
Stable SSAO in Battlefield 3 with Selective Temporal Filtering
Stable SSAO in Battlefield 3 with Selective Temporal FilteringStable SSAO in Battlefield 3 with Selective Temporal Filtering
Stable SSAO in Battlefield 3 with Selective Temporal FilteringElectronic Arts / DICE
 
A 2.5D Culling for Forward+ (SIGGRAPH ASIA 2012)
A 2.5D Culling for Forward+ (SIGGRAPH ASIA 2012)A 2.5D Culling for Forward+ (SIGGRAPH ASIA 2012)
A 2.5D Culling for Forward+ (SIGGRAPH ASIA 2012)Takahiro Harada
 

What's hot (20)

W+cham and Z+b-jets talk
W+cham and Z+b-jets talkW+cham and Z+b-jets talk
W+cham and Z+b-jets talk
 
射頻電子 - [第一章] 知識回顧與通訊系統簡介
射頻電子 - [第一章] 知識回顧與通訊系統簡介射頻電子 - [第一章] 知識回顧與通訊系統簡介
射頻電子 - [第一章] 知識回顧與通訊系統簡介
 
RF Module Design - [Chapter 3] Linearity
RF Module Design - [Chapter 3]  LinearityRF Module Design - [Chapter 3]  Linearity
RF Module Design - [Chapter 3] Linearity
 
An Analysis of Convolution for Inference
An Analysis of Convolution for InferenceAn Analysis of Convolution for Inference
An Analysis of Convolution for Inference
 
Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016
 
DSD-INT 2015 - Opportunities for next generation river modelling - Herman Ker...
DSD-INT 2015 - Opportunities for next generation river modelling - Herman Ker...DSD-INT 2015 - Opportunities for next generation river modelling - Herman Ker...
DSD-INT 2015 - Opportunities for next generation river modelling - Herman Ker...
 
rgDefense
rgDefensergDefense
rgDefense
 
Orthogonal Faster than Nyquist Transmission for SIMO Wireless Systems
Orthogonal Faster than Nyquist Transmission for SIMO Wireless SystemsOrthogonal Faster than Nyquist Transmission for SIMO Wireless Systems
Orthogonal Faster than Nyquist Transmission for SIMO Wireless Systems
 
Advancements in-tiled-rendering
Advancements in-tiled-renderingAdvancements in-tiled-rendering
Advancements in-tiled-rendering
 
Advances in Directed Spanners
Advances in Directed SpannersAdvances in Directed Spanners
Advances in Directed Spanners
 
RF Circuit Design - [Ch2-1] Resonator and Impedance Matching
RF Circuit Design - [Ch2-1] Resonator and Impedance MatchingRF Circuit Design - [Ch2-1] Resonator and Impedance Matching
RF Circuit Design - [Ch2-1] Resonator and Impedance Matching
 
48
4848
48
 
Multiband Transceivers - [Chapter 1]
Multiband Transceivers - [Chapter 1] Multiband Transceivers - [Chapter 1]
Multiband Transceivers - [Chapter 1]
 
RF Module Design - [Chapter 8] Phase-Locked Loops
RF Module Design - [Chapter 8] Phase-Locked LoopsRF Module Design - [Chapter 8] Phase-Locked Loops
RF Module Design - [Chapter 8] Phase-Locked Loops
 
High-Performance GPU Programming for Deep Learning
High-Performance GPU Programming for Deep LearningHigh-Performance GPU Programming for Deep Learning
High-Performance GPU Programming for Deep Learning
 
Low noise amplifier
Low noise amplifierLow noise amplifier
Low noise amplifier
 
Holy smoke! Faster Particle Rendering using Direct Compute by Gareth Thomas
Holy smoke! Faster Particle Rendering using Direct Compute by Gareth ThomasHoly smoke! Faster Particle Rendering using Direct Compute by Gareth Thomas
Holy smoke! Faster Particle Rendering using Direct Compute by Gareth Thomas
 
Stable SSAO in Battlefield 3 with Selective Temporal Filtering
Stable SSAO in Battlefield 3 with Selective Temporal FilteringStable SSAO in Battlefield 3 with Selective Temporal Filtering
Stable SSAO in Battlefield 3 with Selective Temporal Filtering
 
256 spatial encoding part 2
256 spatial encoding part 2256 spatial encoding part 2
256 spatial encoding part 2
 
A 2.5D Culling for Forward+ (SIGGRAPH ASIA 2012)
A 2.5D Culling for Forward+ (SIGGRAPH ASIA 2012)A 2.5D Culling for Forward+ (SIGGRAPH ASIA 2012)
A 2.5D Culling for Forward+ (SIGGRAPH ASIA 2012)
 

Similar to Dds 2

Samsung 1.8 inch AMOLED(128x60) Datasheet
Samsung 1.8 inch AMOLED(128x60) DatasheetSamsung 1.8 inch AMOLED(128x60) Datasheet
Samsung 1.8 inch AMOLED(128x60) DatasheetPanox Display
 
Lect2 up400 (100329)
Lect2 up400 (100329)Lect2 up400 (100329)
Lect2 up400 (100329)aicdesign
 
Lect2 up390 (100329)
Lect2 up390 (100329)Lect2 up390 (100329)
Lect2 up390 (100329)aicdesign
 
Parallel Interference Cancellation in beyond 3G multi-user and multi-antenna ...
Parallel Interference Cancellation in beyond 3G multi-user and multi-antenna ...Parallel Interference Cancellation in beyond 3G multi-user and multi-antenna ...
Parallel Interference Cancellation in beyond 3G multi-user and multi-antenna ...David Sabater Dinter
 
Course-Notes__Advanced-DSP.pdf
Course-Notes__Advanced-DSP.pdfCourse-Notes__Advanced-DSP.pdf
Course-Notes__Advanced-DSP.pdfShreeDevi42
 
Advanced_DSP_J_G_Proakis.pdf
Advanced_DSP_J_G_Proakis.pdfAdvanced_DSP_J_G_Proakis.pdf
Advanced_DSP_J_G_Proakis.pdfHariPrasad314745
 
Digital modulation
Digital modulationDigital modulation
Digital modulationumair khan
 
2016 03-03 marchand
2016 03-03 marchand2016 03-03 marchand
2016 03-03 marchandSCEE Team
 
Analog to Digital Converters and Data Acquisition Systems
Analog to Digital Converters and Data Acquisition SystemsAnalog to Digital Converters and Data Acquisition Systems
Analog to Digital Converters and Data Acquisition SystemsMathivanan Natarajan
 
All Digital Phase Lock Loop 03 12 09
All Digital Phase Lock Loop 03 12 09All Digital Phase Lock Loop 03 12 09
All Digital Phase Lock Loop 03 12 09imranbashir
 
Introduction to OFDM.ppt
Introduction to  OFDM.pptIntroduction to  OFDM.ppt
Introduction to OFDM.pptStefan Oprea
 
Spacecraft RF Communications Course Sampler
Spacecraft RF Communications Course SamplerSpacecraft RF Communications Course Sampler
Spacecraft RF Communications Course SamplerJim Jenkins
 
Differential Distributed Space-Time Coding with Imperfect Synchronization in ...
Differential Distributed Space-Time Coding with Imperfect Synchronization in ...Differential Distributed Space-Time Coding with Imperfect Synchronization in ...
Differential Distributed Space-Time Coding with Imperfect Synchronization in ...mravendi
 
Lect2 up370 (100329)
Lect2 up370 (100329)Lect2 up370 (100329)
Lect2 up370 (100329)aicdesign
 
Frequency Modulation.ppt
Frequency Modulation.pptFrequency Modulation.ppt
Frequency Modulation.pptStefan Oprea
 

Similar to Dds 2 (20)

Samsung 1.8 inch AMOLED(128x60) Datasheet
Samsung 1.8 inch AMOLED(128x60) DatasheetSamsung 1.8 inch AMOLED(128x60) Datasheet
Samsung 1.8 inch AMOLED(128x60) Datasheet
 
Lect2 up400 (100329)
Lect2 up400 (100329)Lect2 up400 (100329)
Lect2 up400 (100329)
 
Lect2 up390 (100329)
Lect2 up390 (100329)Lect2 up390 (100329)
Lect2 up390 (100329)
 
Parallel Interference Cancellation in beyond 3G multi-user and multi-antenna ...
Parallel Interference Cancellation in beyond 3G multi-user and multi-antenna ...Parallel Interference Cancellation in beyond 3G multi-user and multi-antenna ...
Parallel Interference Cancellation in beyond 3G multi-user and multi-antenna ...
 
Course-Notes__Advanced-DSP.pdf
Course-Notes__Advanced-DSP.pdfCourse-Notes__Advanced-DSP.pdf
Course-Notes__Advanced-DSP.pdf
 
Advanced_DSP_J_G_Proakis.pdf
Advanced_DSP_J_G_Proakis.pdfAdvanced_DSP_J_G_Proakis.pdf
Advanced_DSP_J_G_Proakis.pdf
 
Slide11 icc2015
Slide11 icc2015Slide11 icc2015
Slide11 icc2015
 
Dsp&a
Dsp&aDsp&a
Dsp&a
 
Digital modulation
Digital modulationDigital modulation
Digital modulation
 
2016 03-03 marchand
2016 03-03 marchand2016 03-03 marchand
2016 03-03 marchand
 
Analog to Digital Converters and Data Acquisition Systems
Analog to Digital Converters and Data Acquisition SystemsAnalog to Digital Converters and Data Acquisition Systems
Analog to Digital Converters and Data Acquisition Systems
 
All Digital Phase Lock Loop 03 12 09
All Digital Phase Lock Loop 03 12 09All Digital Phase Lock Loop 03 12 09
All Digital Phase Lock Loop 03 12 09
 
image compression ppt
image compression pptimage compression ppt
image compression ppt
 
Introduction to OFDM.ppt
Introduction to  OFDM.pptIntroduction to  OFDM.ppt
Introduction to OFDM.ppt
 
E 2017 1
E 2017 1E 2017 1
E 2017 1
 
Spacecraft RF Communications Course Sampler
Spacecraft RF Communications Course SamplerSpacecraft RF Communications Course Sampler
Spacecraft RF Communications Course Sampler
 
Differential Distributed Space-Time Coding with Imperfect Synchronization in ...
Differential Distributed Space-Time Coding with Imperfect Synchronization in ...Differential Distributed Space-Time Coding with Imperfect Synchronization in ...
Differential Distributed Space-Time Coding with Imperfect Synchronization in ...
 
Lect2 up370 (100329)
Lect2 up370 (100329)Lect2 up370 (100329)
Lect2 up370 (100329)
 
microprocessors
microprocessorsmicroprocessors
microprocessors
 
Frequency Modulation.ppt
Frequency Modulation.pptFrequency Modulation.ppt
Frequency Modulation.ppt
 

Recently uploaded

OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxhumanexperienceaaa
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
Analog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog ConverterAnalog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog ConverterAbhinavSharma374939
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...ranjana rawat
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 

Recently uploaded (20)

OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
Analog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog ConverterAnalog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog Converter
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 

Dds 2

  • 1. Direct Digital Synthesis 1 FPGA Signal Processing: Direct Digital Synthesis Santa Clara University Dr Chris Dick DSP Chief Architect Xilinx © Chris Dick 2004-2009DDS v2.1 2 Direct Digital Synthesis (DDS) • DDS Implementation Options – phase truncation DDS – CORDIC – series expansions – phase dithered DDS – error feed-forward – error feed-back n θ(n) Angle to sin/cos algorithm n 2 ( )j n e πθ DDS maps a phase slope θ(n) to a (possible complex) sinusoid DDS
  • 2. Direct Digital Synthesis 2 © Chris Dick 2004-2009DDS v2.1 3 DDS Applications • Digital receivers – digital down converter (DDC) – digital up converter (DUC) – local oscillator generation in a digital phase locked loop – generating an injection frequency (via an DAC) for use with an analog mixer – phase & frequency modulators – frequency hopping systems © Chris Dick 2004-2009DDS v2.1 4 Phase Truncation DDS π/2 SINE COSINE LOOK-UP TABLE 2’s COMPLE- MENTER 2’s COMPLE- MENTER N N-2 N-2 MSB (bit N-1) 2nd MSB (bit N-2) PHASE ACCUMULATOR sin( ) cos( ) PHASE INCREMENT ∆φ Q() ( )nθ ( )n Bθ ( )nΘ ( )n BΘ Sin/cos Lookup Table ( )cos ( )nΘ ( )sin ( )nΘ Phase increment θ∆ sB sB clkf DDS with Lookup table compression 1’s comple- menter phase offset lookup table
  • 3. Direct Digital Synthesis 3 © Chris Dick 2004-2009DDS v2.1 5 DDS Frequency Resolution • Accumulator width must support enough precision to span the desired frequency resolution Q() ( )nθ ( )n Bθ ˆ( )n B θ Sin/cos Lookup Table ( )ˆcos ( )nθ ( )ˆsin ( )nθ Phase increment θ∆ sB sB clkf clk out ( ) Hz 2 B n f f θ θ∆ = ( ) 2 Frequency resolution: n clk B f f θ ∆ = ˆ( )nθ © Chris Dick 2004-2009DDS v2.1 6 DDS Frequency Resolution • Example: – if the sampling clock is 100 MHz and accumulator width is 32- bits, the frequency resolution is ~0.02 Hz.
  • 4. Direct Digital Synthesis 4 © Chris Dick 2004-2009DDS v2.1 7 Phase Truncation DDS 0 0.1 0.2 0.3 0.4 0.5 -100 -80 -60 -40 -20 0 NORMALIZED FREQUENCY DB PHASE INCREMENT ∆φ M clk PHASE ACCUMULATOR (e.g. 28-32 bits) fout = ∆φ fclk/2N SINE/COSINE LOOKUP TABLE e.g. N = 8-16 θ(n)^ θ(n) Q( ) N sin(θ(n)) ^ cos(θ(n))^ B B 0 20 40 60 80 100 0 0.5 1 TIME ERROR 20 40 60 80 100 -1 0 1 TIME AMPLITUDE © Chris Dick 2004-2009DDS v2.1 8 DDS Noise • The term contributing to the DDS noise component can be calculated by examining the effect of the phase accumulator quantizer ˆ( ) [ ( ) ( )] ( ) ( ) ˆ( ) ( ) ( ) ( ) ˆ( ) ( ) ( ) [1 ( )] ( ) DESIRED COMPONENT UNDESIRED COMPONENT j n j n n j n j n j n j n j n j n n n n e e e e e e j n e j n e θ θ δθ θ δθ θ θ θ θ θ θ δθ δθ δθ + = + = = ≈ + = +
  • 5. Direct Digital Synthesis 5 © Chris Dick 2004-2009DDS v2.1 9 Dithered DDS PHASE INCREMENT ∆φ M clk PHASE ACCUMULATOR Q( ) fout = ∆φ fclk/2N SINE/COSINE LOOKUP TABLEN d(n) DITHER SIGNAL sin(θ(n)) ^ cos(θ(n))^θ(n) θ(n)^ B B 0 0.1 0.2 0.3 0.4 0.5 -100 -80 -60 -40 -20 0 NORMALIZED FREQUENCY DB 0 20 40 60 80 100 -1 0 1 2 TIME ERROR 20 40 60 80 100 -1 0 1 TIME AMPLITUDE © Chris Dick 2004-2009DDS v2.1 10 Generating the Dither Sequence • Generate the dither sequence using linear feedback shift register structure
  • 6. Direct Digital Synthesis 6 © Chris Dick 2004-2009DDS v2.1 11 0 10 20 30 40 50 60 -120 -100 -80 -60 -40 -20 0 -72 dB -84 dB Frequency (MHz) dB f 0 = 10.2MHz Peak Spur = -84.3037dB LUT Depth = 4096 LUT Precision = 12 PACC Precision = 32 04-Sep-2001 22:30:09 Performance: Single Tone 0 10 20 30 40 50 60 -120 -100 -80 -60 -40 -20 0 -72 dB -84 dB Frequency (MHz) dB f 0 = 10.2MHz Peak Spur = -71.7267dB LUT Depth = 4096 LUT Precision = 12 PACC Precision = 32 04-Sep-2001 22:22:19 Dithering Disabled Dithering Enabled 0 10.2 MHz peak spur = -71.73 dB LUT depth = 4096 LUT precision = 12b PACC precision = 32b f = 0 10.2 MHz peak spur = -84.30 dB LUT depth = 4096 LUT precision = 12b PACC precision = 32b f = © Chris Dick 2004-2009DDS v2.1 12 Performance: Swept Tone 0 0.1 0.2 0.3 0.4 0.5 -120 -100 -80 -60 -40 -20 0 -72 dB -84 dB start sweep = 0.0313 end sweep = 0.0415 num sweeps = 10 ∆ f = 0.00102 LUT Depth = 4096 LUT Precision = 16 PACC Precision = 32 04-Sep-2001 22:10:00 Frequency dB 0 0.1 0.2 0.3 0.4 0.5 -120 -100 -80 -60 -40 -20 0 -72 dB -84 dB start sweep = 0.313 end sweep = 0.3415 num sweeps = 10 ∆ f = 0.00285 LUT Depth = 4096 LUT Precision = 16 PACC Precision = 32 04-Sep-2001 22:16:06 Frequency dB 0.00285 Start sweep = 0.313 end sweep = 0.3415 num sweeps = 10 LUT depth = 4096 LUT precision = 16b PACC precision = 32b f∆ =0.00102 Start sweep = 0.0313 end sweep = 0.0415 num sweeps = 10 LUT depth = 4096 LUT precision = 16b PACC precision = 32b f∆ =
  • 7. Direct Digital Synthesis 7 © Chris Dick 2004-2009DDS v2.1 13 Implementation - Phase Trunc. DDS • Phase truncation DDS: SFDR increases at a rate of 6 dB/bit of LUT address • For modest SFDR requirements phase truncation is an option, e.g. SFDR=48 dB, 256 entry LUT • Using 1/4-wave symmetry, 64 entry table is needed • complex DDS employing distributed RAM will require 2 64 entry tables - one for I one for Q • 10b samples ⇒ 20 slices for I and 20 for Q – this is ok © Chris Dick 2004-2009DDS v2.1 14 Dithered DDS • Phase dithering will purchase an additional 2 bits of address space 0 0.1 0.2 0.3 0.4 0.5 -100 -80 -60 -40 -20 0 NORMALIZED FREQUENCY DB 0 0.1 0.2 0.3 0.4 0.5 -100 -80 -60 -40 -20 0 NORMALIZED FREQUENCY DB
  • 8. Direct Digital Synthesis 8 © Chris Dick 2004-2009DDS v2.1 15 Implementation - Dithered DDS • Dither signal generator requires only a modest amount of silicon • can choose to spend this optimization in several ways – maintain table size and achieve higher spectral purity – minimize hardware by using a LUT that is 1/4 the size of that required by a phase truncation design • This will still be a large amount of FPGA real-estate for high performance applications © Chris Dick 2004-2009DDS v2.1 16 Series-Corrected DDS • Taylor series expansion • Consider a two term expansion for sin(x) and cos(x) 2 ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) 1! 2! ! N N x a f a x a f a x a f a f x f a N ′ ′′− − − = + + + sin( ) sin( ) ( )cos( ) cos( ) cos( ) ( )sin( ) x a x a a x a x a a = + − = − −
  • 9. Direct Digital Synthesis 9 © Chris Dick 2004-2009DDS v2.1 17 Taylor Series DDS 0 10 20 30 40 50 60 70 80 90 100 -1 -0.5 0 0.5 1 TIME AMPLITUDE 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 -100 -80 -60 -40 -20 0 NORMALIZED FREQUENCY DB Phase Increment ∆θ M clk Phase Accumulator (e.g. 32 bits) Q( ) cos(θ(n)) sin(θ(n)) e.g. N = 8 + - N Sine Cosine Lookup Table - θ(n) θ(n)^ cos θ(n)^ sin θ(n)^ {+cos(θ(n)), -sin (θ(n))} © Chris Dick 2004-2009DDS v2.1 18 Implementation - Taylor Series DDS Several arithmetic units required ⇒consider for applications that require very high spur suppression Virtex-II embedded multipliers well suited to this architecture Phase Increment ∆θ M clk Phase Accumulator (e.g. 32 bits) Q( ) cos(θ(n)) sin(θ(n)) e.g. N = 8 + - N Sine Cosine Lookup Table - θ(n) θ(n)^ cos θ(n)^ sin θ(n)^
  • 10. Direct Digital Synthesis 10 © Chris Dick 2004-2009DDS v2.1 19 Implementation - Taylor Series DDS • 1 block RAM • 2 MPY • 1 MPY by a constant 0 0.5 -100 -50 0 (a) DB 0 0.5 -100 -50 0 (b) DB 0 0.5 -100 -50 0 (c) DB 0 0.5 -100 -50 0 (d) DB -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 -140 -120 -100 -80 -60 -40 -20 0 Frequency dB LUT Depth = 4096 LUT Precision = 18 Output Precision = 20 f0 = 0.002433 09-Jul-2003 19:09:19 © Chris Dick 2004-2009DDS v2.1 20 System Generator DDS • Taylor Series DDS Pipeline balancing registers Taylor series correction mpy Compute error signal Phase acc. Quantize phase acc.
  • 11. Direct Digital Synthesis 11 © Chris Dick 2004-2009DDS v2.1 21 Performance -0.5 0 0.5 -140 -120 -100 -80 -60 -40 -20 0 Frequency DB LUT Depth = 4096 LUT Precision = 18 Output Precision = 20 f0 = 0.0893 02-Jun-2002 23:38:52 -115 dB © Chris Dick 2004-2009DDS v2.1 22 Design Statistics • Tools – System Generator v3.1 – ISE 5.2.03i speedfile: ADVANCED 1.78 2003-05-0 • Device = XC2VP501152-7 • 216 logic slices (3-level pipelined mpys) • 1 block RAM • 2 18x18 embedded multipliers • fclk max = 179 MHz
  • 12. Direct Digital Synthesis 12 © Chris Dick 2004-2009DDS v2.1 23 Multi-Channel DDS • Build M-channel DDS (M-ary DDS) • Multi-channel DDS can be constructed for almost the same cost as a single DDS • Time division multiplex the hardware • Each DDS operates at 1/M’th the clock rate • For fclk = 120 MHz and M=3, each DDS will operate at a rate of 40 MHz © Chris Dick 2004-2009DDS v2.1 24 Virtex Slice Revision D Q CE D Q CE D Q CE D Q CE LUT IN CE CLK ADDRESS OUT CASCADE
  • 13. Direct Digital Synthesis 13 © Chris Dick 2004-2009DDS v2.1 25 Multi-Channel DDS • Make use of SRL16s to efficiently implement the M phase accumulators (PACCs) z-1 Phase Increment Memory 0,1, , 1i i Mθ = −… Address Generator ROM or Dual-port RAM Microblaze Power PC or MPU external to FPGA supplies phase increment values SRL16-based registers PACC FILE © Chris Dick 2004-2009DDS v2.1 26 Multi-Channel DDS • PACC file is efficiently implemented using the SRL16 slice configuration z-1 Phase Increment Memory 0,1, , 1i i Mθ = −… Address Generator ROM or Dual-port RAM SRL16-based registers PACC FILE B 16 B-bit precision PACCs can be supported using B/2 slices 16 32b PACCs requires 16 slices + 16 slices for the adder and delay
  • 14. Direct Digital Synthesis 14 © Chris Dick 2004-2009DDS v2.1 27 Multi-Channel DDS • Small cost to de-multiplex the outputs • The cost to demux each Bo-bit output is ~ Bo/2 slices z0 M 0 ( )y n z-1 M 1( )y n z-M+1 M 1( )My n− DDS De-multiplexed output time-series Bo © Chris Dick 2004-2009DDS v2.1 28 M-ary Phase Accumulator Phase increment memory SRL16-based phase accumulators Sum & Delay • In this case the phase increment values are stored in ROM since they are known prior to run-time • Alternatively dual-port memory could be used of the output frequencies need to be updated at run-time
  • 15. Direct Digital Synthesis 15 © Chris Dick 2004-2009DDS v2.1 29 M-ary Taylor Series DDS Channel demultiplexing M-ary phase accumulator DDS © Chris Dick 2004-2009DDS v2.1 30 3-Channel Taylor Series DDS -0.5 0 0.5 -140 -120 -100 -80 -60 -40 -20 0 Frequency DB LUT Depth = 4096 LUT Precision = 18 Output Precision = 20 f = [0.1, 0.2, 0.3] 09-Jun-2002 11:37:14 • 3 tones efficiently generated by time sharing the hardware • Sample-rate versus area tradeoff
  • 16. Direct Digital Synthesis 16 © Chris Dick 2004-2009DDS v2.1 31 M-ary Phase Truncation DDS Phase increment memory SRL16-based phase accumulators Sum & Delay Trig LUT Output Demux © Chris Dick 2004-2009DDS v2.1 32 8-Channel Phase Truncation DDS -0.5 0 0.5 -100 -90 -80 -70 -60 -50 -40 -30 -20 -10 0 10 Frequency DB LUT Depth = 4096 LUT Precision = 16 09-Jun-2002 13:02:48 • 1 demultiplexed output • Very compact design
  • 17. Direct Digital Synthesis 17 © Chris Dick 2004-2009DDS v2.1 33 CORDIC DDS -0.5 0 0.5 -100 -50 0 F dB Precision = 12 bits Num Iterations = 12 f = 0.01 09-Jun-2002 14:34:39 -0.5 0 0.5 -100 -50 0 F dB Precision = 12 bits Num Iterations = 14 f = 0.01 09-Jun-2002 14:34:41 -0.5 0 0.5 -100 -50 0 F dB Precision = 12 bits Num Iterations = 16 f = 0.01 09-Jun-2002 14:34:43 -0.5 0 0.5 -100 -50 0 F dB Precision = 12 bits Num Iterations = 18 f = 0.01 09-Jun-2002 14:34:45 © Chris Dick 2004-2009DDS v2.1 34 CORDIC DDS -0.5 0 0.5 -100 -50 0 F dB Precision = 16 bits Num Iterations = 12 f = 0.01 09-Jun-2002 14:38:34 -0.5 0 0.5 -100 -50 0 F dB Precision = 16 bits Num Iterations = 16 f = 0.01 09-Jun-2002 14:38:36 -0.5 0 0.5 -100 -50 0 F dB Precision = 16 bits Num Iterations = 18 f = 0.01 09-Jun-2002 14:38:39 -0.5 0 0.5 -100 -50 0 F dB Precision = 16 bits Num Iterations = 20 f = 0.01 09-Jun-2002 14:38:41
  • 18. Direct Digital Synthesis 18 © Chris Dick 2004-2009DDS v2.1 35 CORDIC DDS -0.5 0 0.5 -100 -50 0 F dB Precision = 20 bits Num Iterations = 8 f = 0.01 09-Jun-2002 14:41:03 -0.5 0 0.5 -100 -50 0 F dB Precision = 20 bits Num Iterations = 12 f = 0.01 09-Jun-2002 14:41:05 -0.5 0 0.5 -100 -50 0 F dB Precision = 20 bits Num Iterations = 16 f = 0.01 09-Jun-2002 14:41:07 -0.5 0 0.5 -100 -50 0 F dB Precision = 20 bits Num Iterations = 18 f = 0.01 09-Jun-2002 14:41:09