AN2072 Freescale Semiconductor / Motorola, AN2072 Datasheet - Page 10

no-image

AN2072

Manufacturer Part Number
AN2072
Description
AN2072, Decision Feedback Equalizer for StarCore-Based DSPs
Manufacturer
Freescale Semiconductor / Motorola
Datasheet
Implementation of the Algorithm
3.3.1 Generating the Convolution Matrix
The assembly program, convxtm_matrix.asm, takes the complex channel-impulse response and generates the
transpose of the convolution matrix (similar to using the Matlab command, transpose (H), where
H = convxtm(channel_h,N
All complex numbers of the implementation are stored in the memory as indicated in Equation 22.
In the DSP implementation, the channel-impulse response is assumed to be stored in memory (that is; provided by
the channel-impulse response block). A memory space of size (N
convolution matrix (channel-impulse response length = 5 and feed forward length = 8), so the complex-conjugate
transpose of the convolution matrix is size 12 × 8. Each entry has a real and an imaginary part and each element is
stored in 16-bit memory (2 bytes). Two pointers (address registers) are used. One pointer points to “channel_h”
and is used to read the complex channel-impulse response and the other pointer is used to point to “conv_matrix”
and to write the data to the convolution matrix. At the start of the iteration, a pointer points to the start of the
memory, where the convolution matrix is stored, and the matrix is filled column-wise with the channel-impulse
response, as shown in Equation 23. Each element of the complex channel-impulse response is read one element at
time, using move.2f (reads data from memory to register). The program uses moves.2f to write each complex data
from the register into memory.
10
2.
The output of the matrix multiply block is scaled by right shifting each entry of the matrix multiply by
ceil(log
this specific implementation example the scale factor is 1/16.
2
[# of rows in (H
Decision Feedback Equalizer for StarCore™-Based DSPs, Rev. 1
f
)). The transpose of matrix H is shown in Equation 21.
transpose H
*
H) + (1/SNR)I]). This scaling ensures that all entries are less than one. For
( )
=
Re ° ( )
Im ° ( )
h
h
h
0 … 0 0 0 …h
0
1
2
h
h
0 … 0 0 … 0
0
1
h
0 …0 0 …
0
f
*(N
……… …
f
+ ν)*2*2) is zeroed out to store the
ν
Freescale Semiconductor
Equation 21
Equation 22

Related parts for AN2072