5.4 formulation of the da based block adfe 66
5.4 formulation of the da based block adfe 67
1: loop
fork=1 :(N/L)do%Block index
fori=1 :number_o f_all_symbol_combinationsdo
decisions(((k−1)∗L+2):((k−1)∗L+L))) =all_comb_decisions(i); f b f_output= f ilter((decisions(((k−1)∗L+2):((k−1)∗L+L))); adder_output= f f f_output+ f b f_output;
for j=1 : Ldo
slicer_output(j) =bpsk_decision_device(adder_output(j)); end for
decisions((k−1)∗L+1 :k∗L) =slicer_output;
e_vec= desired_signal_train((k−1)∗L+1 :k∗L)−adder_output;
%For MAD case count=0;
foriii =1 :Ldo
if(abs(e_vec(iii)) ==0) count=count+1;
end end for
if(count== L) break;
end if
%For MSD case mse=0;
foriii =1 :Ldo
mse= mse+ (e_vec(iii))2; end for
if(count== L); break;
end if end for end for
2: end loop
Figure5.3: Algorithm for the computation of unknown decisions.
FFF
FBF Decision
Decisions Computing
Sample Delay Received
Signal
Output Decisions
Block Device
(MAD/MSD)
Figure5.4: Block ADFE with the decisions computing block in the feedback loop.
5.4 formulation of the da based block adfe 68
B-Input NOR Gate
Register dataindataoutCE CLR
errorin clk reset
undecB BB BBankof registers Btofbf
storing allsymbol values
Figure5.5:ProcessingElementincaseofMAD.
5.4 formulation of the da based block adfe 69
B-Input NOR Gate
Register dataindataoutCE CLR
errorin clk reset
undecB BB BmultiplierB-bit adderB-bit Register dataindataout CLR
B
B BBankof
registers storing allsymbol values
Btofbf Figure5.6:ProcessingElementincaseofMSD.
5.4 formulation of the da based block adfe 70 where,Q[.]is the quantization operation of theL-dimensional decision device and ˆd(k)is the vector containing the corresponding samples from the original transmitted sequence in case of training mode and the decisions vectord(k)in case of decision-directed mode.
Further, ˆx(k), ˆv(k)are the output vectors of FFF and FBF respectively. The matrixR0,L is used for the selection of the last L valid samples of the filter output vector (as obtained from the overlap-save method) and is given as
R0,L=h 0 IL i (5.25)
where 0 is the L×(N−1)-dimensional (N = Nf for FFF and N = Nb for FBF) all-zero matrix andILis the L-dimensional identity matrix.
The matrices F andF−1 are respectively the M×M (M = Nf +L−1 in case of FFF andM =Nb+L−1 in case of FBF)-dimensional Fast Fourier Transform (FFT) and Inverse Fast Fourier Transform (IFFT) matrices which may be given as,
F =
1 1 . . . 1
1 e−j2π/M . . . e−j2π(M−1)/M 1 e−j4π/M . . . e−j4π(M−1)/M
... ... ... ...
1 e−j2π(M−1)/M . . . e−j2π(M−1)2/M
(5.26)
F−1 = 1 M
1 1 . . . 1
1 ej2π/M . . . ej2π(M−1)/M 1 ej4π/M . . . ej4π(M−1)/M
... ... ... ...
1 ej2π(M−1)/M . . . ej2π(M−1)2/M
(5.27)
The matrices XF(k),VF(k)are respectively given as
XF(k) =FXc(k)F−1 (5.28) VF(k) =FVc(k)F−1 (5.29) where,Xc(k)andVc(k)are the Nf +L−1× Nf +L−1and(Nb+L−1)×(Nb+L−1)- dimensional circular matrices respectively, which are given as,
Xc(k) =
x kL−Nf +1
. . . x kL+Nf −2 x kL−Nf +2
. . . x kL−Nf +3
... ... ...
x(kL+L−1) . . . x kL−Nf +1
(5.30)
Vc(k) =
d(kL−Nb+1) . . . d(kL+Nb−2) d(kL−Nb+2) . . . d(kL−Nb+3)
... ... ...
d(kL+L−1) . . . d(kL−Nb+1)
(5.31)
5.4 formulation of the da based block adfe 71 In (15) and (16), wFf (k) and wbF(k) are the vectors containing the frequency domain samples of the zero-padded tap-weight vectors of FFF and FBF respectively and are given as
wFf (k) =Fw˜ f (5.32)
wbF(k) =Fw˜b (5.33)
and
˜
wf (k) =
"
wf (k) 0
#
(5.34)
˜
wb(k) =
"
wb(k) 0
#
(5.35) where,wf (k)andwb(k)are the tap-weight vectors of FFF and FBF respectively.
From the properties of circular matrices, the matrices XF(k) and VF(k) will be the diagonal matrices and the diagonal elements correspond to the FFT of the first column of Xc(k)andVc(k)respectively. In matrix notation, they may be written as
XF(k) =diag[xF(k)] (5.36) VF(k) =diag[vF(k)] (5.37) and
xF(k) =F {x(k)} (5.38)
vF(k) =F {v(k)} (5.39)
where,
x(k) =x kL−Nf +1
,x kL−Nf +2
, . . . ,x(kL+L−1)T (5.40) v(k) =v kL−Nf +1
,v kL−Nf +2
, . . . ,v(kL+L−1)T (5.41) are the first columns ofXc(k)andVc(k)respectively.
Further, the weight-update recursion for FFF and FBF are respectively given by the equa- tions,
wFf (k+1) =wFf (k) +µPNf,0X∗F(k)eF (k) (5.42) wbF(k+1) =wbF(k) +µPNb,0V∗F(k)eF(k) (5.43) where,
5.4 formulation of the da based block adfe 72
Serial to Parallel Converter
Input Buffer
Nf +L−1
point FFT using DA
Making the last
‘L−1’
elements as zeros
IFFT using DA (Last
terms)‘L’
Delay
µ
+ Decision
Device
+ −
Decision Outputs
Delay Buffer
−
Adding Nf−1 zeros
at the beginning
Adding Nb−1 zeros
at the beginning Making
the last
‘L−1’
elements as zeros
Delay µ
x(n)
L-dimensional
Decisions computing
block (MAD/MSD)
Nf +L−1
point FFT using DA
Nf +L−1
point FFT using DA
Nf +L−1
point FFT using DA
Nb+L−1
point FFT using DA
Nb+L−1
point FFT using DA
Nb+L−1
point FFT using DA
Nb+L−1
point FFT using DA
IFFT using DA (Last
terms)‘L’
Figure5.7: The block diagram of block ADFE implemented in the frequency domain.
5.4 formulation of the da based block adfe 73
eF(k) =Fe˜(k) (5.44)
Here X∗F(k) and V∗F(k) represent the complex conjugates of XF(k) and VF(k) respec- tively. Further, ˜e(k) = h 0 e(k)
iT
and the matrices PNf,0, PNb,0 are required to ensure that the lastL−1 samples of the IFFT of wFf (k)andwbF(k)are constrained to zeros.
Although, the derivations of frequency-domain block LMS based adaptive filters in- volve extending the vectors to a length of L+N−1 (N being the length of filter under consideration), in practice, the vectors are chosen to be of length L+N. Further, L = N may be chosen for maximum efficiency where N is typically in the powers of 2. Hence, assuming Nf, Nb and L are all in powers of 2, the FFT/IFFT operations in (5.19), (5.20), (5.28), (5.29), (5.32), (5.33), (5.38) and (5.39) may be given as
aF =Fan = √1 M
M−1 n
∑
=0ane−j2πMkn (5.45) where an is the nth element of vector an and M = L+N and N = Nf and N = Nb in case of FFF and FBF respectively. Using the procedure described above, each of the FFT and IFFT operations may be realized using the distributed arithmetic technique for the efficient realization of block ADFE and this can be obtained as follows.
If each ofan is represented in signed2’s-complement representation, as given by an= −bn,B−1+
B−1
∑
j=1bn,B−1−j2−j (5.46) wherebn,B−1−j is the(B−1−j)th-bit in theB-bit binary representation ofan, then
ane−j2πMkn =−hbn,B−1e−j2πMkni +
B−1 j
∑
=1hbn,B−1−je−j2πMkni
2−j (5.47)
Now, since bn,B−1−j ∈ [0, 1], the expressions inside the square braces of above equations may take one out of 2 possible combinations (partial-products of twiddle factors) which may be stored in a memory as the twiddle factors are known constants prior to the im- plementation. Hence, (5.47) may be computed by right-shift (due to the term 2−j) and accumulate (due to the summation) operations. This is known as the distributed arith- metic (DA) based realization and requires no hardware multiplier for its implementation.
Hence, all the multipliers present in the FFT/IFFT units can be realized using DA and the IFFTs can also be realized using the same structure of FFT. When the filter lengths are not in the powers of2, other FFT algorithms (such as the Prime-Factor FFT algorithm, Rader’s FFT algorithm etc) may be chosen and the hardware complexity depends on the type of algorithm chosen. Such an implementation for block LMS based adaptive filter can be found in [5,6].
The detailed block diagram of the block ADFE implemented in the frequency domain is shown in Fig. 5.7. The operation of FFF is as follows: The received samples arrive serially which are stored for parallel processing using a serial-to-parallel converter. These samples are buffered taking the newest set ofLsamples along withNf−1 old samples for conversion into frequency domain using an FFT block as described by (5.38). The set of
5.5 performance analysis 74