Datasheet

AD9148 Data Sheet
Rev. B | Page 50 of 72
DIGITAL DATA PATH
The block diagram in Figure 60 shows the functionality of the
complex digital data path. The digital processing includes a
premodulation block, a programmable complex filter, three
half-band interpolation filters with built-in coarse modulation,
a quadrature modulator with a fine resolution NCO as well as
phase, gain, and offset adjustment blocks.
HB2
PREMOD
f
S
/2
HB1
HB3
DIGITAL
PHASE/GAIN/
OFFSET ADJ
PROG
SINC
–1
FILTER
08910-059
Figure 60. Block Diagram of Digital Data Path
There are two complex digital data paths that feed the four DACs.
Each digital data path accepts I and Q data streams and processes
them as a quadrature data stream, resulting in two quadrature
data streams. All of the signal processing blocks can be used
when the input data stream is represented as complex data.
The data path can be used to process an input data stream
representing four independent real data streams as well; however,
the functionality is somewhat restricted. The premodulation
block can be used, as well as any of the nonshifted interpolation
filter modes.
PREMODULATION
The half-band interpolation filters have selectable pass bands
that allow the center frequencies to be moved in increments
of ½ of their input data rate. The premodulation block provides
a digital upconversion of the incoming waveform by ½ of
the incoming data rate, f
DATA.
Functionally, the premodulation
multiplies the incoming data samples alternatively by +1 and 1.
This can be used to frequency shift baseband input data to the
center of the interpolation filters pass band.
PROGRAMMABLE INVERSE SINC FILTER
The AD9148 provides a programmable inverse sinc filter to
compensate the DAC roll-off over frequency. Because this filter
is implemented before the interpolation filter, its coefficients
must be changed depending on the interpolation rate and DAC
output center frequency.
Filter Structure
The programmable inverse sinc filter is a nine-tap complex FIR
filter using complex conjugate coefficients. The z-transfer
function is
( )
8
0
7
1
6
2
5
3
4
4
3
3
2
2
1
10
×+×+×+×+
×+×+×+×+=
×+=
×+
×+
=
zczczczc
zczczczcc
HjH
xjx
yjy
zH
Q
I
Q
I
Q
I
where:
x
I
and x
Q
are the in-phase (real) and quadrature (imaginary)
filter input, respectively.
y
I
and y
Q
are the in-phase (real) and quadrature (imaginary)
filter output, respectively.
H
I
and H
Q
are the in-phase (real) and quadrature (imaginary)
filter coefficients, respectively.
c
0
, c
1
, c
2
, c
3
, and c
4
are the complex filter coefficient, and
c
X
their
complex conjugate.
The filter coefficients must be calculated and programmed into
the AD9148 registers to perform the operation desired.
Filter Implementation
To perform the complex filtering of the complex input, the filter
is divided in four filters working in parallel, two sets of H
I
and
two sets of H
Q
(see Figure 61).
( ) ( )
( )
Q
II
QQQ
II
Q
i
Q
I
Q
I
xHxHjxHxH
xjxHjHyjy
×+×+××=
×+×+=×+
X
I
H
I
H
Q
Y
I
Y
Q
X
Q
H
I
H
Q
+
+
+
08910-060
Figure 61. Complex Filter Implementation
The coefficients for the filter are stored in SPI Register 0x20 to
Register 0x27 in twos-complement format. They have variable
length, three bits to 10 bits.