We now develop a set that describes the block diagram shown in Figure 1. The zero-filled input x¯n(k)x¯n(k) is given by
x
¯
ℏ
(
k
)
=
x
n
(
r
)
,
k
=
r
M
,
p
=
0
,
0
,
k
≠
r
M
,
p
≠
0
,
x
¯
ℏ
(
k
)
=
x
n
(
r
)
,
k
=
r
M
,
p
=
0
,
0
,
k
≠
r
M
,
p
≠
0
,
(1)that is, x¯n(k)x¯n(k) equals xn(r)xn(r) when k=Mrk=Mr but equals 0 otherwise. If we write k as k≡rM+pk≡rM+p, with p ranging from 0 to M-1M-1, then we see that x¯n(k)x¯n(k) equals zero unless p=0p=0.
The next step is the lowpass filtering of the zero-filled sequence. Denote the pulse response of this filter, as usual, by h(ℓ)h(ℓ), where ℓ runs from 0 to L-1L-1, and L is the pulse response duration. With no loss of generality we can assume that L is an integer multiple of M, the interpolation factor, and therefore that there exists some positive integer Q that satisfies the equation L≡Q¯ML≡Q¯M. This in turn allows ℓ, the running index of the pulse response, to be written as ℓ=qM+vℓ=qM+v, where the integer q runs from 0 to Q¯-1Q¯-1 and the integer vv runs from 0 to M-1M-1.
The output of the lowpass interpolation filter ρn(k)ρn(k) is given by the expression
p
n
(
k
)
=
∑
ℓ
=
0
L
-
1
x
¯
n
(
k
-
ℓ
)
h
(
ℓ
)
=
∑
q
=
0
Q
¯
-
1
∑
ν
=
0
M
-
1
x
¯
n
(
k
-
q
M
-
ν
)
h
(
q
M
+
ν
)
p
n
(
k
)
=
∑
ℓ
=
0
L
-
1
x
¯
n
(
k
-
ℓ
)
h
(
ℓ
)
=
∑
q
=
0
Q
¯
-
1
∑
ν
=
0
M
-
1
x
¯
n
(
k
-
q
M
-
ν
)
h
(
q
M
+
ν
)
(2)Substituting the decomposition of k as rM+prM+p yields
p
n
(
k
)
=
∑
q
=
0
Q
¯
-
1
∑
ν
=
0
M
-
1
x
¯
n
(
(
r
-
q
)
M
+
(
p
-
ν
)
)
h
(
q
M
+
ν
)
p
n
(
k
)
=
∑
q
=
0
Q
¯
-
1
∑
ν
=
0
M
-
1
x
¯
n
(
(
r
-
q
)
M
+
(
p
-
ν
)
)
h
(
q
M
+
ν
)
(3)Note that x¯n(k)x¯n(k) has the sifting property, that is, it is non-zero only when p-v=0p-v=0, because of its zero-filling. Using this, we can write ρ(k)≡ρ(r,p)ρ(k)≡ρ(r,p) as
ρ
n
(
k
)
≡
ρ
n
(
r
,
p
)
=
∑
q
=
0
Q
¯
-
1
x
n
(
r
-
q
)
h
(
q
M
+
p
)
ρ
n
(
k
)
≡
ρ
n
(
r
,
p
)
=
∑
q
=
0
Q
¯
-
1
x
n
(
r
-
q
)
h
(
q
M
+
p
)
(4)Note the close relationship of this expression to the ones developed for v(r,p)v(r,p) in previous sections. It is a weighted combination of the input data and, so far, does not depend on the frequency to which the signal will be upconverted.
Now we produce the multiplexer output by upconverting each interpolated input, indexed by n, to its desired center frequency ωn and then summing them. This sum is given by
y
(
k
)
=
∑
n
=
0
N
-
1
ρ
n
(
k
)
e
j
ω
n
k
T
y
(
k
)
=
∑
n
=
0
N
-
1
ρ
n
(
k
)
e
j
ω
n
k
T
(5)where N is the number of components to be multiplexed.
If we substitute the expression of ρn(k)=ρn(r,p)ρn(k)=ρn(r,p) into Equation 5, decompose k in the exponential's argument into r and p, and reverse the order of summation, we obtain a general expression for a digital frequency-division multiplexer:
y
(
k
)
=
∑
n
=
0
N
-
1
e
j
ω
n
r
M
T
·
e
j
ω
n
p
T
∑
q
=
0
Q
¯
-
1
x
n
(
r
-
q
)
h
(
q
M
+
p
)
=
∑
q
=
0
Q
¯
-
1
h
(
q
M
+
p
)
∑
n
=
0
N
-
1
e
j
ω
n
r
M
T
e
j
ω
n
p
T
x
n
(
r
-
q
)
y
(
k
)
=
∑
n
=
0
N
-
1
e
j
ω
n
r
M
T
·
e
j
ω
n
p
T
∑
q
=
0
Q
¯
-
1
x
n
(
r
-
q
)
h
(
q
M
+
p
)
=
∑
q
=
0
Q
¯
-
1
h
(
q
M
+
p
)
∑
n
=
0
N
-
1
e
j
ω
n
r
M
T
e
j
ω
n
p
T
x
n
(
r
-
q
)
(6)This equation assumes that all of the N constituent input signals are sampled at the same rate and that the same lowpass interpolating filter is used for each. The upconversion frequencies (the {ωn}{ωn}) are arbitrary, however.
Suppose now that we choose the upconversion frequencies to be regularly spaced in the spectrum between -fs2-fs2 and fs2fs2. Mathematically, we do this by assuming that ωn is given by
ω
n
=
2
π
n
N
T
,
for
0
≤
n
≤
N
-
1
ω
n
=
2
π
n
N
T
,
for
0
≤
n
≤
N
-
1
(7)We also define K by the familiar ratio NM=KNM=K. With these assumptions, the expression for y(k)=y(r,p)y(k)=y(r,p) further reduces to
y
(
k
)
=
∑
q
=
0
Q
¯
-
1
h
(
q
M
+
p
)
∑
n
=
0
N
-
1
e
j
2
π
n
p
N
[
e
2
π
j
n
r
N
x
n
(
r
-
q
)
]
,
y
(
k
)
=
∑
q
=
0
Q
¯
-
1
h
(
q
M
+
p
)
∑
n
=
0
N
-
1
e
j
2
π
n
p
N
[
e
2
π
j
n
r
N
x
n
(
r
-
q
)
]
,
(8)the general form of the DFT-based TDM-to-FDM transmultiplexer.
An important special case of the general equation is the one in which the interpolation factor M is chosen to equal the potential number of upconversion carriers N. In this case, K=1K=1. For this case to be practical, the bandwidth of the input processes {xn(r)}{xn(r)} must all be less than fsNfsN Hz and the pulse response h(k)h(k) must be properly designed. When it is true, Equation 8 reduces to
y
(
k
)
=
∑
q
=
0
Q
¯
-
1
h
(
q
M
+
p
)
∑
n
=
0
N
-
1
e
j
2
π
n
p
N
x
n
(
r
-
q
)
.
y
(
k
)
=
∑
q
=
0
Q
¯
-
1
h
(
q
M
+
p
)
∑
n
=
0
N
-
1
e
j
2
π
n
p
N
x
n
(
r
-
q
)
.
(9)The sum inside the braces can be recognized as the N-point inverse discrete Fourier transform of all N inputs xn(r)xn(r) at time r. To make this clear, we define Dp(t)Dp(t) by the expression
D
p
(
t
)
=
∑
n
=
0
N
-
1
e
2
π
j
n
p
N
x
n
(
t
)
D
p
(
t
)
=
∑
n
=
0
N
-
1
e
2
π
j
n
p
N
x
n
(
t
)
(10)for integer time index t. With this definition, the equation for the basic TDM-to-FDM transmultiplexer becomes
y
(
k
=
r
M
+
p
)
≡
y
(
r
,
p
)
=
∑
q
=
0
Q
¯
-
1
h
(
q
N
+
p
)
D
p
(
r
-
q
)
y
(
k
=
r
M
+
p
)
≡
y
(
r
,
p
)
=
∑
q
=
0
Q
¯
-
1
h
(
q
N
+
p
)
D
p
(
r
-
q
)
(11)Thus each sample of the FDM output y(k)y(k) is a weighted combination of the current and Q¯-1Q¯-1 past DFTs of the N channel inputs.
A block diagram of the processor implied by Equation 11 is shown in Figure 3. At each input sampling instant r, all N inputs to the transmultiplexer are Fourier transformed and the resulting N-point DFT stored in a buffer. The transmultiplexer output for each interpolated time instant k=rN+pk=rN+p is computed with a dot product of the Q¯Q¯ points of the pulse response h(qN+p)h(qN+p), for 0≤q≤Q¯-10≤q≤Q¯-1, and the stored DFT points Dp(r-q)Dp(r-q), for q over the same range. Thus 2Q¯2Q¯ real multiplies are needed for each output, assuming that h(k)h(k) is real-valued, and therefore 2Q¯fs2Q¯fs multiply-adds/sec are needed for this weighting operation.